Commit 7dcda1c96d7c643101d4a05579ef4512a4baa7ef

Authored by Jens Axboe
1 parent 929e27252e

fs: export empty_aops

With the ->sync_page() hook gone, we have a few users that
add their own static address_space_operations without any
functions defined.

fs/inode.c already has an empty_aops that it uses for init
purposes. Lets export that and use it in the places where
an otherwise empty aops was defined.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

Showing 4 changed files with 12 additions and 5 deletions Side-by-side Diff

... ... @@ -125,6 +125,14 @@
125 125 static DECLARE_RWSEM(iprune_sem);
126 126  
127 127 /*
  128 + * Empty aops. Can be used for the cases where the user does not
  129 + * define any of the address_space operations.
  130 + */
  131 +const struct address_space_operations empty_aops = {
  132 +};
  133 +EXPORT_SYMBOL(empty_aops);
  134 +
  135 +/*
128 136 * Statistics gathering..
129 137 */
130 138 struct inodes_stat_t inodes_stat;
... ... @@ -176,7 +184,6 @@
176 184 */
177 185 int inode_init_always(struct super_block *sb, struct inode *inode)
178 186 {
179   - static const struct address_space_operations empty_aops;
180 187 static const struct inode_operations empty_iops;
181 188 static const struct file_operations empty_fops;
182 189 struct address_space *const mapping = &inode->i_data;
... ... @@ -495,8 +495,6 @@
495 495 void nilfs_mapping_init(struct address_space *mapping,
496 496 struct backing_dev_info *bdi)
497 497 {
498   - static const struct address_space_operations empty_aops;
499   -
500 498 mapping->host = NULL;
501 499 mapping->flags = 0;
502 500 mapping_set_gfp_mask(mapping, GFP_NOFS);
... ... @@ -56,6 +56,7 @@
56 56 */
57 57  
58 58 #include "ubifs.h"
  59 +#include <linux/fs.h>
59 60 #include <linux/slab.h>
60 61 #include <linux/xattr.h>
61 62 #include <linux/posix_acl_xattr.h>
... ... @@ -80,7 +81,6 @@
80 81 };
81 82  
82 83 static const struct inode_operations none_inode_operations;
83   -static const struct address_space_operations none_address_operations;
84 84 static const struct file_operations none_file_operations;
85 85  
86 86 /**
... ... @@ -130,7 +130,7 @@
130 130 }
131 131  
132 132 /* Re-define all operations to be "nothing" */
133   - inode->i_mapping->a_ops = &none_address_operations;
  133 + inode->i_mapping->a_ops = &empty_aops;
134 134 inode->i_op = &none_inode_operations;
135 135 inode->i_fop = &none_file_operations;
136 136  
... ... @@ -613,6 +613,8 @@
613 613 int (*error_remove_page)(struct address_space *, struct page *);
614 614 };
615 615  
  616 +extern const struct address_space_operations empty_aops;
  617 +
616 618 /*
617 619 * pagecache_write_begin/pagecache_write_end must be used by general code
618 620 * to write into the pagecache.