Merge branch 'gfar' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc...
[sfrench/cifs-2.6.git] / fs / ramfs / file-nommu.c
index 677139b48e000d0d98100122c851eff5572aa14a..d3fd7c6732d289ba8aa46a6452e9c35a5156ad0a 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <linux/module.h>
 #include <linux/fs.h>
+#include <linux/mm.h>
 #include <linux/pagemap.h>
 #include <linux/highmem.h>
 #include <linux/init.h>
@@ -30,20 +31,23 @@ static int ramfs_nommu_setattr(struct dentry *, struct iattr *);
 const struct address_space_operations ramfs_aops = {
        .readpage               = simple_readpage,
        .prepare_write          = simple_prepare_write,
-       .commit_write           = simple_commit_write
+       .commit_write           = simple_commit_write,
+       .set_page_dirty         = __set_page_dirty_no_writeback,
 };
 
 const struct file_operations ramfs_file_operations = {
        .mmap                   = ramfs_nommu_mmap,
        .get_unmapped_area      = ramfs_nommu_get_unmapped_area,
-       .read                   = generic_file_read,
-       .write                  = generic_file_write,
+       .read                   = do_sync_read,
+       .aio_read               = generic_file_aio_read,
+       .write                  = do_sync_write,
+       .aio_write              = generic_file_aio_write,
        .fsync                  = simple_sync_file,
        .sendfile               = generic_file_sendfile,
        .llseek                 = generic_file_llseek,
 };
 
-struct inode_operations ramfs_file_inode_operations = {
+const struct inode_operations ramfs_file_inode_operations = {
        .setattr                = ramfs_nommu_setattr,
        .getattr                = simple_getattr,
 };
@@ -230,7 +234,7 @@ unsigned long ramfs_nommu_get_unmapped_area(struct file *file,
                                            unsigned long pgoff, unsigned long flags)
 {
        unsigned long maxpages, lpages, nr, loop, ret;
-       struct inode *inode = file->f_dentry->d_inode;
+       struct inode *inode = file->f_path.dentry->d_inode;
        struct page **pages = NULL, **ptr, *page;
        loff_t isize;