* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifdef HAVE_KERNEL_CONFIG_H
+#ifndef AUTOCONF_INCLUDED
#include <linux/config.h>
#endif
#include <linux/kernel.h>
ll_removepage(page);
}
#endif
-static int ll_releasepage(struct page *page, gfp_t gfp_mask)
+static int ll_releasepage(struct page *page, int gfp_mask)
{
if (PagePrivate(page))
ll_removepage(page);
page_count = (user_addr + size + CFS_PAGE_SIZE - 1) >> CFS_PAGE_SHIFT;
page_count -= user_addr >> CFS_PAGE_SHIFT;
- OBD_ALLOC_GFP(*pages, page_count * sizeof(**pages), GFP_KERNEL);
+ OBD_ALLOC_WAIT(*pages, page_count * sizeof(**pages));
if (*pages) {
down_read(¤t->mm->mmap_sem);
result = get_user_pages(current, current->mm, user_addr,
POISON_PAGE(pages[i], 0x0d);
}
- ll_inode_fill_obdo(inode, rw, &oa);
+ ll_inode_fill_obdo(inode, rw == WRITE ? OBD_BRW_WRITE : OBD_BRW_READ, &oa);
if (rw == WRITE) {
lprocfs_counter_add(ll_i2sbi(inode)->ll_stats,
LPROC_LL_DIRECT_READ, size);
opc = CAPA_OPC_OSS_RW;
}
- ocapa = ll_osscapa_get(inode, current->fsuid, opc);
+ ocapa = ll_osscapa_get(inode, opc);
rc = obd_brw_rqset(rw == WRITE ? OBD_BRW_WRITE : OBD_BRW_READ,
ll_i2dtexp(inode), &oa, lsm, page_count, pga, NULL,
ocapa);