aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2007-02-12 03:55:39 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-12 12:48:46 -0500
commit92e1d5be91a0e3ffa5c4697eeb09b2aa22792122 (patch)
tree4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae
parent754661f143e70d66eae6c48532ca245aa05dec0e (diff)
[PATCH] mark struct inode_operations const 2
Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/gfs2/ops_inode.c8
-rw-r--r--fs/gfs2/ops_inode.h8
-rw-r--r--fs/hfs/dir.c2
-rw-r--r--fs/hfs/hfs_fs.h2
-rw-r--r--fs/hfs/inode.c4
-rw-r--r--fs/hfsplus/dir.c2
-rw-r--r--fs/hfsplus/inode.c4
-rw-r--r--fs/hostfs/hostfs_kern.c8
-rw-r--r--fs/hpfs/file.c2
-rw-r--r--fs/hpfs/hpfs_fn.h4
-rw-r--r--fs/hpfs/namei.c2
-rw-r--r--fs/hppfs/hppfs_kern.c6
-rw-r--r--fs/hugetlbfs/inode.c8
-rw-r--r--fs/isofs/dir.c2
-rw-r--r--fs/isofs/isofs.h2
-rw-r--r--fs/jffs/inode-v23.c8
-rw-r--r--fs/jffs2/dir.c2
-rw-r--r--fs/jffs2/file.c2
-rw-r--r--fs/jffs2/os-linux.h6
-rw-r--r--fs/jffs2/symlink.c2
-rw-r--r--fs/jfs/file.c2
-rw-r--r--fs/jfs/jfs_inode.h6
-rw-r--r--fs/jfs/namei.c2
-rw-r--r--fs/jfs/symlink.c2
-rw-r--r--fs/libfs.c2
-rw-r--r--fs/minix/file.c2
-rw-r--r--fs/minix/inode.c2
-rw-r--r--fs/minix/minix.h4
-rw-r--r--fs/minix/namei.c2
-rw-r--r--fs/msdos/namei.c2
-rw-r--r--fs/namei.c2
-rw-r--r--fs/ncpfs/dir.c2
-rw-r--r--fs/ncpfs/file.c2
-rw-r--r--fs/ncpfs/inode.c2
-rw-r--r--fs/nfs/dir.c6
-rw-r--r--fs/nfs/file.c4
-rw-r--r--fs/nfs/namespace.c4
-rw-r--r--fs/nfs/nfs4_fs.h2
-rw-r--r--fs/nfs/nfs4proc.c2
-rw-r--r--fs/nfs/symlink.c2
-rw-r--r--fs/ntfs/file.c4
-rw-r--r--fs/ntfs/namei.c2
-rw-r--r--fs/ntfs/ntfs.h6
-rw-r--r--fs/ocfs2/dlm/dlmfs.c12
-rw-r--r--fs/ocfs2/file.c4
-rw-r--r--fs/ocfs2/file.h4
-rw-r--r--fs/ocfs2/namei.c2
-rw-r--r--fs/ocfs2/namei.h2
-rw-r--r--fs/ocfs2/symlink.c4
-rw-r--r--fs/ocfs2/symlink.h4
-rw-r--r--fs/openpromfs/inode.c2
-rw-r--r--ipc/mqueue.c4
-rw-r--r--kernel/cpuset.c2
-rw-r--r--mm/shmem.c20
54 files changed, 105 insertions, 105 deletions
diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c
index f40a84807d75..60f47bf2e8e8 100644
--- a/fs/gfs2/ops_inode.c
+++ b/fs/gfs2/ops_inode.c
@@ -1115,7 +1115,7 @@ static int gfs2_removexattr(struct dentry *dentry, const char *name)
1115 return gfs2_ea_remove(GFS2_I(dentry->d_inode), &er); 1115 return gfs2_ea_remove(GFS2_I(dentry->d_inode), &er);
1116} 1116}
1117 1117
1118struct inode_operations gfs2_file_iops = { 1118const struct inode_operations gfs2_file_iops = {
1119 .permission = gfs2_permission, 1119 .permission = gfs2_permission,
1120 .setattr = gfs2_setattr, 1120 .setattr = gfs2_setattr,
1121 .getattr = gfs2_getattr, 1121 .getattr = gfs2_getattr,
@@ -1125,7 +1125,7 @@ struct inode_operations gfs2_file_iops = {
1125 .removexattr = gfs2_removexattr, 1125 .removexattr = gfs2_removexattr,
1126}; 1126};
1127 1127
1128struct inode_operations gfs2_dev_iops = { 1128const struct inode_operations gfs2_dev_iops = {
1129 .permission = gfs2_permission, 1129 .permission = gfs2_permission,
1130 .setattr = gfs2_setattr, 1130 .setattr = gfs2_setattr,
1131 .getattr = gfs2_getattr, 1131 .getattr = gfs2_getattr,
@@ -1135,7 +1135,7 @@ struct inode_operations gfs2_dev_iops = {
1135 .removexattr = gfs2_removexattr, 1135 .removexattr = gfs2_removexattr,
1136}; 1136};
1137 1137
1138struct inode_operations gfs2_dir_iops = { 1138const struct inode_operations gfs2_dir_iops = {
1139 .create = gfs2_create, 1139 .create = gfs2_create,
1140 .lookup = gfs2_lookup, 1140 .lookup = gfs2_lookup,
1141 .link = gfs2_link, 1141 .link = gfs2_link,
@@ -1154,7 +1154,7 @@ struct inode_operations gfs2_dir_iops = {
1154 .removexattr = gfs2_removexattr, 1154 .removexattr = gfs2_removexattr,
1155}; 1155};
1156 1156
1157struct inode_operations gfs2_symlink_iops = { 1157const struct inode_operations gfs2_symlink_iops = {
1158 .readlink = gfs2_readlink, 1158 .readlink = gfs2_readlink,
1159 .follow_link = gfs2_follow_link, 1159 .follow_link = gfs2_follow_link,
1160 .permission = gfs2_permission, 1160 .permission = gfs2_permission,
diff --git a/fs/gfs2/ops_inode.h b/fs/gfs2/ops_inode.h
index b15acb4fd34c..34f0caac1a03 100644
--- a/fs/gfs2/ops_inode.h
+++ b/fs/gfs2/ops_inode.h
@@ -12,9 +12,9 @@
12 12
13#include <linux/fs.h> 13#include <linux/fs.h>
14 14
15extern struct inode_operations gfs2_file_iops; 15extern const struct inode_operations gfs2_file_iops;
16extern struct inode_operations gfs2_dir_iops; 16extern const struct inode_operations gfs2_dir_iops;
17extern struct inode_operations gfs2_symlink_iops; 17extern const struct inode_operations gfs2_symlink_iops;
18extern struct inode_operations gfs2_dev_iops; 18extern const struct inode_operations gfs2_dev_iops;
19 19
20#endif /* __OPS_INODE_DOT_H__ */ 20#endif /* __OPS_INODE_DOT_H__ */
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
index e2e0358da335..7c69b98a2e45 100644
--- a/fs/hfs/dir.c
+++ b/fs/hfs/dir.c
@@ -320,7 +320,7 @@ const struct file_operations hfs_dir_operations = {
320 .release = hfs_dir_release, 320 .release = hfs_dir_release,
321}; 321};
322 322
323struct inode_operations hfs_dir_inode_operations = { 323const struct inode_operations hfs_dir_inode_operations = {
324 .create = hfs_create, 324 .create = hfs_create,
325 .lookup = hfs_lookup, 325 .lookup = hfs_lookup,
326 .unlink = hfs_unlink, 326 .unlink = hfs_unlink,
diff --git a/fs/hfs/hfs_fs.h b/fs/hfs/hfs_fs.h
index 735332dfd1b8..147374b6f675 100644
--- a/fs/hfs/hfs_fs.h
+++ b/fs/hfs/hfs_fs.h
@@ -170,7 +170,7 @@ extern void hfs_cat_build_key(struct super_block *, btree_key *, u32, struct qst
170 170
171/* dir.c */ 171/* dir.c */
172extern const struct file_operations hfs_dir_operations; 172extern const struct file_operations hfs_dir_operations;
173extern struct inode_operations hfs_dir_inode_operations; 173extern const struct inode_operations hfs_dir_inode_operations;
174 174
175/* extent.c */ 175/* extent.c */
176extern int hfs_ext_keycmp(const btree_key *, const btree_key *); 176extern int hfs_ext_keycmp(const btree_key *, const btree_key *);
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
index 5cb7f8fee8d6..fafcba593871 100644
--- a/fs/hfs/inode.c
+++ b/fs/hfs/inode.c
@@ -18,7 +18,7 @@
18#include "btree.h" 18#include "btree.h"
19 19
20static const struct file_operations hfs_file_operations; 20static const struct file_operations hfs_file_operations;
21static struct inode_operations hfs_file_inode_operations; 21static const struct inode_operations hfs_file_inode_operations;
22 22
23/*================ Variable-like macros ================*/ 23/*================ Variable-like macros ================*/
24 24
@@ -612,7 +612,7 @@ static const struct file_operations hfs_file_operations = {
612 .release = hfs_file_release, 612 .release = hfs_file_release,
613}; 613};
614 614
615static struct inode_operations hfs_file_inode_operations = { 615static const struct inode_operations hfs_file_inode_operations = {
616 .lookup = hfs_file_lookup, 616 .lookup = hfs_file_lookup,
617 .truncate = hfs_file_truncate, 617 .truncate = hfs_file_truncate,
618 .setattr = hfs_inode_setattr, 618 .setattr = hfs_inode_setattr,
diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
index e886ac8460d3..78137007ccc1 100644
--- a/fs/hfsplus/dir.c
+++ b/fs/hfsplus/dir.c
@@ -471,7 +471,7 @@ static int hfsplus_rename(struct inode *old_dir, struct dentry *old_dentry,
471 return res; 471 return res;
472} 472}
473 473
474struct inode_operations hfsplus_dir_inode_operations = { 474const struct inode_operations hfsplus_dir_inode_operations = {
475 .lookup = hfsplus_lookup, 475 .lookup = hfsplus_lookup,
476 .create = hfsplus_create, 476 .create = hfsplus_create,
477 .link = hfsplus_link, 477 .link = hfsplus_link,
diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c
index 75e8c4d8aac3..642012ac3370 100644
--- a/fs/hfsplus/inode.c
+++ b/fs/hfsplus/inode.c
@@ -268,10 +268,10 @@ static int hfsplus_file_release(struct inode *inode, struct file *file)
268 return 0; 268 return 0;
269} 269}
270 270
271extern struct inode_operations hfsplus_dir_inode_operations; 271extern const struct inode_operations hfsplus_dir_inode_operations;
272extern struct file_operations hfsplus_dir_operations; 272extern struct file_operations hfsplus_dir_operations;
273 273
274static struct inode_operations hfsplus_file_inode_operations = { 274static const struct inode_operations hfsplus_file_inode_operations = {
275 .lookup = hfsplus_file_lookup, 275 .lookup = hfsplus_file_lookup,
276 .truncate = hfsplus_file_truncate, 276 .truncate = hfsplus_file_truncate,
277 .permission = hfsplus_permission, 277 .permission = hfsplus_permission,
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 69a376f35a68..fec208db5e46 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -52,8 +52,8 @@ static int append = 0;
52 52
53#define HOSTFS_SUPER_MAGIC 0x00c0ffee 53#define HOSTFS_SUPER_MAGIC 0x00c0ffee
54 54
55static struct inode_operations hostfs_iops; 55static const struct inode_operations hostfs_iops;
56static struct inode_operations hostfs_dir_iops; 56static const struct inode_operations hostfs_dir_iops;
57static const struct address_space_operations hostfs_link_aops; 57static const struct address_space_operations hostfs_link_aops;
58 58
59#ifndef MODULE 59#ifndef MODULE
@@ -880,7 +880,7 @@ int hostfs_getattr(struct vfsmount *mnt, struct dentry *dentry,
880 return(0); 880 return(0);
881} 881}
882 882
883static struct inode_operations hostfs_iops = { 883static const struct inode_operations hostfs_iops = {
884 .create = hostfs_create, 884 .create = hostfs_create,
885 .link = hostfs_link, 885 .link = hostfs_link,
886 .unlink = hostfs_unlink, 886 .unlink = hostfs_unlink,
@@ -894,7 +894,7 @@ static struct inode_operations hostfs_iops = {
894 .getattr = hostfs_getattr, 894 .getattr = hostfs_getattr,
895}; 895};
896 896
897static struct inode_operations hostfs_dir_iops = { 897static const struct inode_operations hostfs_dir_iops = {
898 .create = hostfs_create, 898 .create = hostfs_create,
899 .lookup = hostfs_lookup, 899 .lookup = hostfs_lookup,
900 .link = hostfs_link, 900 .link = hostfs_link,
diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c
index fb4c8915010a..b4eafc0f1e54 100644
--- a/fs/hpfs/file.c
+++ b/fs/hpfs/file.c
@@ -132,7 +132,7 @@ const struct file_operations hpfs_file_ops =
132 .sendfile = generic_file_sendfile, 132 .sendfile = generic_file_sendfile,
133}; 133};
134 134
135struct inode_operations hpfs_file_iops = 135const struct inode_operations hpfs_file_iops =
136{ 136{
137 .truncate = hpfs_truncate, 137 .truncate = hpfs_truncate,
138 .setattr = hpfs_notify_change, 138 .setattr = hpfs_notify_change,
diff --git a/fs/hpfs/hpfs_fn.h b/fs/hpfs/hpfs_fn.h
index 1c07aa82d327..42ff60ccf2a9 100644
--- a/fs/hpfs/hpfs_fn.h
+++ b/fs/hpfs/hpfs_fn.h
@@ -266,7 +266,7 @@ void hpfs_set_ea(struct inode *, struct fnode *, char *, char *, int);
266 266
267int hpfs_file_fsync(struct file *, struct dentry *, int); 267int hpfs_file_fsync(struct file *, struct dentry *, int);
268extern const struct file_operations hpfs_file_ops; 268extern const struct file_operations hpfs_file_ops;
269extern struct inode_operations hpfs_file_iops; 269extern const struct inode_operations hpfs_file_iops;
270extern const struct address_space_operations hpfs_aops; 270extern const struct address_space_operations hpfs_aops;
271 271
272/* inode.c */ 272/* inode.c */
@@ -302,7 +302,7 @@ void hpfs_decide_conv(struct inode *, unsigned char *, unsigned);
302 302
303/* namei.c */ 303/* namei.c */
304 304
305extern struct inode_operations hpfs_dir_iops; 305extern const struct inode_operations hpfs_dir_iops;
306extern const struct address_space_operations hpfs_symlink_aops; 306extern const struct address_space_operations hpfs_symlink_aops;
307 307
308static inline struct hpfs_inode_info *hpfs_i(struct inode *inode) 308static inline struct hpfs_inode_info *hpfs_i(struct inode *inode)
diff --git a/fs/hpfs/namei.c b/fs/hpfs/namei.c
index 2507e7393f3c..9953cf9a2f16 100644
--- a/fs/hpfs/namei.c
+++ b/fs/hpfs/namei.c
@@ -659,7 +659,7 @@ end1:
659 return err; 659 return err;
660} 660}
661 661
662struct inode_operations hpfs_dir_iops = 662const struct inode_operations hpfs_dir_iops =
663{ 663{
664 .create = hpfs_create, 664 .create = hpfs_create,
665 .lookup = hpfs_lookup, 665 .lookup = hpfs_lookup,
diff --git a/fs/hppfs/hppfs_kern.c b/fs/hppfs/hppfs_kern.c
index afd340a45da4..bd7116816314 100644
--- a/fs/hppfs/hppfs_kern.c
+++ b/fs/hppfs/hppfs_kern.c
@@ -212,7 +212,7 @@ static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry,
212 return(ERR_PTR(err)); 212 return(ERR_PTR(err));
213} 213}
214 214
215static struct inode_operations hppfs_file_iops = { 215static const struct inode_operations hppfs_file_iops = {
216}; 216};
217 217
218static ssize_t read_proc(struct file *file, char __user *buf, ssize_t count, 218static ssize_t read_proc(struct file *file, char __user *buf, ssize_t count,
@@ -693,11 +693,11 @@ static void* hppfs_follow_link(struct dentry *dentry, struct nameidata *nd)
693 return ret; 693 return ret;
694} 694}
695 695
696static struct inode_operations hppfs_dir_iops = { 696static const struct inode_operations hppfs_dir_iops = {
697 .lookup = hppfs_lookup, 697 .lookup = hppfs_lookup,
698}; 698};
699 699
700static struct inode_operations hppfs_link_iops = { 700static const struct inode_operations hppfs_link_iops = {
701 .readlink = hppfs_readlink, 701 .readlink = hppfs_readlink,
702 .follow_link = hppfs_follow_link, 702 .follow_link = hppfs_follow_link,
703}; 703};
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index e6bd553fdc4c..26ba81fc7fab 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -36,8 +36,8 @@
36static struct super_operations hugetlbfs_ops; 36static struct super_operations hugetlbfs_ops;
37static const struct address_space_operations hugetlbfs_aops; 37static const struct address_space_operations hugetlbfs_aops;
38const struct file_operations hugetlbfs_file_operations; 38const struct file_operations hugetlbfs_file_operations;
39static struct inode_operations hugetlbfs_dir_inode_operations; 39static const struct inode_operations hugetlbfs_dir_inode_operations;
40static struct inode_operations hugetlbfs_inode_operations; 40static const struct inode_operations hugetlbfs_inode_operations;
41 41
42static struct backing_dev_info hugetlbfs_backing_dev_info = { 42static struct backing_dev_info hugetlbfs_backing_dev_info = {
43 .ra_pages = 0, /* No readahead */ 43 .ra_pages = 0, /* No readahead */
@@ -563,7 +563,7 @@ const struct file_operations hugetlbfs_file_operations = {
563 .get_unmapped_area = hugetlb_get_unmapped_area, 563 .get_unmapped_area = hugetlb_get_unmapped_area,
564}; 564};
565 565
566static struct inode_operations hugetlbfs_dir_inode_operations = { 566static const struct inode_operations hugetlbfs_dir_inode_operations = {
567 .create = hugetlbfs_create, 567 .create = hugetlbfs_create,
568 .lookup = simple_lookup, 568 .lookup = simple_lookup,
569 .link = simple_link, 569 .link = simple_link,
@@ -576,7 +576,7 @@ static struct inode_operations hugetlbfs_dir_inode_operations = {
576 .setattr = hugetlbfs_setattr, 576 .setattr = hugetlbfs_setattr,
577}; 577};
578 578
579static struct inode_operations hugetlbfs_inode_operations = { 579static const struct inode_operations hugetlbfs_inode_operations = {
580 .setattr = hugetlbfs_setattr, 580 .setattr = hugetlbfs_setattr,
581}; 581};
582 582
diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c
index 4af2548f97a9..0e94c31cad9b 100644
--- a/fs/isofs/dir.c
+++ b/fs/isofs/dir.c
@@ -24,7 +24,7 @@ const struct file_operations isofs_dir_operations =
24/* 24/*
25 * directories can handle most operations... 25 * directories can handle most operations...
26 */ 26 */
27struct inode_operations isofs_dir_inode_operations = 27const struct inode_operations isofs_dir_inode_operations =
28{ 28{
29 .lookup = isofs_lookup, 29 .lookup = isofs_lookup,
30}; 30};
diff --git a/fs/isofs/isofs.h b/fs/isofs/isofs.h
index e6308c8b5735..efe2872cd4e3 100644
--- a/fs/isofs/isofs.h
+++ b/fs/isofs/isofs.h
@@ -174,7 +174,7 @@ isofs_normalize_block_and_offset(struct iso_directory_record* de,
174 } 174 }
175} 175}
176 176
177extern struct inode_operations isofs_dir_inode_operations; 177extern const struct inode_operations isofs_dir_inode_operations;
178extern const struct file_operations isofs_dir_operations; 178extern const struct file_operations isofs_dir_operations;
179extern const struct address_space_operations isofs_symlink_aops; 179extern const struct address_space_operations isofs_symlink_aops;
180extern struct export_operations isofs_export_ops; 180extern struct export_operations isofs_export_ops;
diff --git a/fs/jffs/inode-v23.c b/fs/jffs/inode-v23.c
index 6ee206688502..fe3347defe6c 100644
--- a/fs/jffs/inode-v23.c
+++ b/fs/jffs/inode-v23.c
@@ -56,9 +56,9 @@ static int jffs_remove(struct inode *dir, struct dentry *dentry, int type);
56 56
57static struct super_operations jffs_ops; 57static struct super_operations jffs_ops;
58static const struct file_operations jffs_file_operations; 58static const struct file_operations jffs_file_operations;
59static struct inode_operations jffs_file_inode_operations; 59static const struct inode_operations jffs_file_inode_operations;
60static const struct file_operations jffs_dir_operations; 60static const struct file_operations jffs_dir_operations;
61static struct inode_operations jffs_dir_inode_operations; 61static const struct inode_operations jffs_dir_inode_operations;
62static const struct address_space_operations jffs_address_operations; 62static const struct address_space_operations jffs_address_operations;
63 63
64struct kmem_cache *node_cache = NULL; 64struct kmem_cache *node_cache = NULL;
@@ -1642,7 +1642,7 @@ static const struct file_operations jffs_file_operations =
1642}; 1642};
1643 1643
1644 1644
1645static struct inode_operations jffs_file_inode_operations = 1645static const struct inode_operations jffs_file_inode_operations =
1646{ 1646{
1647 .lookup = jffs_lookup, /* lookup */ 1647 .lookup = jffs_lookup, /* lookup */
1648 .setattr = jffs_setattr, 1648 .setattr = jffs_setattr,
@@ -1655,7 +1655,7 @@ static const struct file_operations jffs_dir_operations =
1655}; 1655};
1656 1656
1657 1657
1658static struct inode_operations jffs_dir_inode_operations = 1658static const struct inode_operations jffs_dir_inode_operations =
1659{ 1659{
1660 .create = jffs_create, 1660 .create = jffs_create,
1661 .lookup = jffs_lookup, 1661 .lookup = jffs_lookup,
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c
index da6034d50718..cdbe2fe14e2d 100644
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
@@ -46,7 +46,7 @@ const struct file_operations jffs2_dir_operations =
46}; 46};
47 47
48 48
49struct inode_operations jffs2_dir_inode_operations = 49const struct inode_operations jffs2_dir_inode_operations =
50{ 50{
51 .create = jffs2_create, 51 .create = jffs2_create,
52 .lookup = jffs2_lookup, 52 .lookup = jffs2_lookup,
diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c
index 242875f77cb3..e82eeaf7590d 100644
--- a/fs/jffs2/file.c
+++ b/fs/jffs2/file.c
@@ -54,7 +54,7 @@ const struct file_operations jffs2_file_operations =
54 54
55/* jffs2_file_inode_operations */ 55/* jffs2_file_inode_operations */
56 56
57struct inode_operations jffs2_file_inode_operations = 57const struct inode_operations jffs2_file_inode_operations =
58{ 58{
59 .permission = jffs2_permission, 59 .permission = jffs2_permission,
60 .setattr = jffs2_setattr, 60 .setattr = jffs2_setattr,
diff --git a/fs/jffs2/os-linux.h b/fs/jffs2/os-linux.h
index 9f41fc01a371..e07a0edcdb4f 100644
--- a/fs/jffs2/os-linux.h
+++ b/fs/jffs2/os-linux.h
@@ -153,11 +153,11 @@ void jffs2_garbage_collect_trigger(struct jffs2_sb_info *c);
153 153
154/* dir.c */ 154/* dir.c */
155extern const struct file_operations jffs2_dir_operations; 155extern const struct file_operations jffs2_dir_operations;
156extern struct inode_operations jffs2_dir_inode_operations; 156extern const struct inode_operations jffs2_dir_inode_operations;
157 157
158/* file.c */ 158/* file.c */
159extern const struct file_operations jffs2_file_operations; 159extern const struct file_operations jffs2_file_operations;
160extern struct inode_operations jffs2_file_inode_operations; 160extern const struct inode_operations jffs2_file_inode_operations;
161extern const struct address_space_operations jffs2_file_address_operations; 161extern const struct address_space_operations jffs2_file_address_operations;
162int jffs2_fsync(struct file *, struct dentry *, int); 162int jffs2_fsync(struct file *, struct dentry *, int);
163int jffs2_do_readpage_unlock (struct inode *inode, struct page *pg); 163int jffs2_do_readpage_unlock (struct inode *inode, struct page *pg);
@@ -166,7 +166,7 @@ int jffs2_do_readpage_unlock (struct inode *inode, struct page *pg);
166int jffs2_ioctl(struct inode *, struct file *, unsigned int, unsigned long); 166int jffs2_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
167 167
168/* symlink.c */ 168/* symlink.c */
169extern struct inode_operations jffs2_symlink_inode_operations; 169extern const struct inode_operations jffs2_symlink_inode_operations;
170 170
171/* fs.c */ 171/* fs.c */
172int jffs2_setattr (struct dentry *, struct iattr *); 172int jffs2_setattr (struct dentry *, struct iattr *);
diff --git a/fs/jffs2/symlink.c b/fs/jffs2/symlink.c
index b90d5aa3d969..7e4882c8a7ed 100644
--- a/fs/jffs2/symlink.c
+++ b/fs/jffs2/symlink.c
@@ -20,7 +20,7 @@
20 20
21static void *jffs2_follow_link(struct dentry *dentry, struct nameidata *nd); 21static void *jffs2_follow_link(struct dentry *dentry, struct nameidata *nd);
22 22
23struct inode_operations jffs2_symlink_inode_operations = 23const struct inode_operations jffs2_symlink_inode_operations =
24{ 24{
25 .readlink = generic_readlink, 25 .readlink = generic_readlink,
26 .follow_link = jffs2_follow_link, 26 .follow_link = jffs2_follow_link,
diff --git a/fs/jfs/file.c b/fs/jfs/file.c
index aa9132d04920..f7f8eff19b7b 100644
--- a/fs/jfs/file.c
+++ b/fs/jfs/file.c
@@ -88,7 +88,7 @@ static int jfs_release(struct inode *inode, struct file *file)
88 return 0; 88 return 0;
89} 89}
90 90
91struct inode_operations jfs_file_inode_operations = { 91const struct inode_operations jfs_file_inode_operations = {
92 .truncate = jfs_truncate, 92 .truncate = jfs_truncate,
93 .setxattr = jfs_setxattr, 93 .setxattr = jfs_setxattr,
94 .getxattr = jfs_getxattr, 94 .getxattr = jfs_getxattr,
diff --git a/fs/jfs/jfs_inode.h b/fs/jfs/jfs_inode.h
index 0d06ccfaff0e..6802837f757e 100644
--- a/fs/jfs/jfs_inode.h
+++ b/fs/jfs/jfs_inode.h
@@ -35,10 +35,10 @@ extern void jfs_set_inode_flags(struct inode *);
35extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int); 35extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int);
36 36
37extern const struct address_space_operations jfs_aops; 37extern const struct address_space_operations jfs_aops;
38extern struct inode_operations jfs_dir_inode_operations; 38extern const struct inode_operations jfs_dir_inode_operations;
39extern const struct file_operations jfs_dir_operations; 39extern const struct file_operations jfs_dir_operations;
40extern struct inode_operations jfs_file_inode_operations; 40extern const struct inode_operations jfs_file_inode_operations;
41extern const struct file_operations jfs_file_operations; 41extern const struct file_operations jfs_file_operations;
42extern struct inode_operations jfs_symlink_inode_operations; 42extern const struct inode_operations jfs_symlink_inode_operations;
43extern struct dentry_operations jfs_ci_dentry_operations; 43extern struct dentry_operations jfs_ci_dentry_operations;
44#endif /* _H_JFS_INODE */ 44#endif /* _H_JFS_INODE */
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
index 7ab47561b68d..41c204771262 100644
--- a/fs/jfs/namei.c
+++ b/fs/jfs/namei.c
@@ -1503,7 +1503,7 @@ struct dentry *jfs_get_parent(struct dentry *dentry)
1503 return parent; 1503 return parent;
1504} 1504}
1505 1505
1506struct inode_operations jfs_dir_inode_operations = { 1506const struct inode_operations jfs_dir_inode_operations = {
1507 .create = jfs_create, 1507 .create = jfs_create,
1508 .lookup = jfs_lookup, 1508 .lookup = jfs_lookup,
1509 .link = jfs_link, 1509 .link = jfs_link,
diff --git a/fs/jfs/symlink.c b/fs/jfs/symlink.c
index cee43f36f51d..4af1a05aad0a 100644
--- a/fs/jfs/symlink.c
+++ b/fs/jfs/symlink.c
@@ -29,7 +29,7 @@ static void *jfs_follow_link(struct dentry *dentry, struct nameidata *nd)
29 return NULL; 29 return NULL;
30} 30}
31 31
32struct inode_operations jfs_symlink_inode_operations = { 32const struct inode_operations jfs_symlink_inode_operations = {
33 .readlink = generic_readlink, 33 .readlink = generic_readlink,
34 .follow_link = jfs_follow_link, 34 .follow_link = jfs_follow_link,
35 .setxattr = jfs_setxattr, 35 .setxattr = jfs_setxattr,
diff --git a/fs/libfs.c b/fs/libfs.c
index 503898d5c4a7..0f4ee02e0b16 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -186,7 +186,7 @@ const struct file_operations simple_dir_operations = {
186 .fsync = simple_sync_file, 186 .fsync = simple_sync_file,
187}; 187};
188 188
189struct inode_operations simple_dir_inode_operations = { 189const struct inode_operations simple_dir_inode_operations = {
190 .lookup = simple_lookup, 190 .lookup = simple_lookup,
191}; 191};
192 192
diff --git a/fs/minix/file.c b/fs/minix/file.c
index 40eac2e60d25..f92baa1d7570 100644
--- a/fs/minix/file.c
+++ b/fs/minix/file.c
@@ -26,7 +26,7 @@ const struct file_operations minix_file_operations = {
26 .sendfile = generic_file_sendfile, 26 .sendfile = generic_file_sendfile,
27}; 27};
28 28
29struct inode_operations minix_file_inode_operations = { 29const struct inode_operations minix_file_inode_operations = {
30 .truncate = minix_truncate, 30 .truncate = minix_truncate,
31 .getattr = minix_getattr, 31 .getattr = minix_getattr,
32}; 32};
diff --git a/fs/minix/inode.c b/fs/minix/inode.c
index 9ddfcc148287..e56822bff948 100644
--- a/fs/minix/inode.c
+++ b/fs/minix/inode.c
@@ -369,7 +369,7 @@ static const struct address_space_operations minix_aops = {
369 .bmap = minix_bmap 369 .bmap = minix_bmap
370}; 370};
371 371
372static struct inode_operations minix_symlink_inode_operations = { 372static const struct inode_operations minix_symlink_inode_operations = {
373 .readlink = generic_readlink, 373 .readlink = generic_readlink,
374 .follow_link = page_follow_link_light, 374 .follow_link = page_follow_link_light,
375 .put_link = page_put_link, 375 .put_link = page_put_link,
diff --git a/fs/minix/minix.h b/fs/minix/minix.h
index e016ee91d936..73ef84f8fb0b 100644
--- a/fs/minix/minix.h
+++ b/fs/minix/minix.h
@@ -75,8 +75,8 @@ extern struct minix_dir_entry *minix_dotdot(struct inode*, struct page**);
75extern ino_t minix_inode_by_name(struct dentry*); 75extern ino_t minix_inode_by_name(struct dentry*);
76extern int minix_sync_file(struct file *, struct dentry *, int); 76extern int minix_sync_file(struct file *, struct dentry *, int);
77 77
78extern struct inode_operations minix_file_inode_operations; 78extern const struct inode_operations minix_file_inode_operations;
79extern struct inode_operations minix_dir_inode_operations; 79extern const struct inode_operations minix_dir_inode_operations;
80extern const struct file_operations minix_file_operations; 80extern const struct file_operations minix_file_operations;
81extern const struct file_operations minix_dir_operations; 81extern const struct file_operations minix_dir_operations;
82extern struct dentry_operations minix_dentry_operations; 82extern struct dentry_operations minix_dentry_operations;
diff --git a/fs/minix/namei.c b/fs/minix/namei.c
index 299bb66e3bde..f4aa7a939040 100644
--- a/fs/minix/namei.c
+++ b/fs/minix/namei.c
@@ -291,7 +291,7 @@ out:
291/* 291/*
292 * directories can handle most operations... 292 * directories can handle most operations...
293 */ 293 */
294struct inode_operations minix_dir_inode_operations = { 294const struct inode_operations minix_dir_inode_operations = {
295 .create = minix_create, 295 .create = minix_create,
296 .lookup = minix_lookup, 296 .lookup = minix_lookup,
297 .link = minix_link, 297 .link = minix_link,
diff --git a/fs/msdos/namei.c b/fs/msdos/namei.c
index 452461955cbd..30f7d0ae2215 100644
--- a/fs/msdos/namei.c
+++ b/fs/msdos/namei.c
@@ -646,7 +646,7 @@ out:
646 return err; 646 return err;
647} 647}
648 648
649static struct inode_operations msdos_dir_inode_operations = { 649static const struct inode_operations msdos_dir_inode_operations = {
650 .create = msdos_create, 650 .create = msdos_create,
651 .lookup = msdos_lookup, 651 .lookup = msdos_lookup,
652 .unlink = msdos_unlink, 652 .unlink = msdos_unlink,
diff --git a/fs/namei.c b/fs/namei.c
index e4f108f08230..161e2225c757 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -2744,7 +2744,7 @@ int page_symlink(struct inode *inode, const char *symname, int len)
2744 mapping_gfp_mask(inode->i_mapping)); 2744 mapping_gfp_mask(inode->i_mapping));
2745} 2745}
2746 2746
2747struct inode_operations page_symlink_inode_operations = { 2747const struct inode_operations page_symlink_inode_operations = {
2748 .readlink = generic_readlink, 2748 .readlink = generic_readlink,
2749 .follow_link = page_follow_link_light, 2749 .follow_link = page_follow_link_light,
2750 .put_link = page_put_link, 2750 .put_link = page_put_link,
diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c
index 73747772c3bb..011ef0b6d2d4 100644
--- a/fs/ncpfs/dir.c
+++ b/fs/ncpfs/dir.c
@@ -58,7 +58,7 @@ const struct file_operations ncp_dir_operations =
58#endif 58#endif
59}; 59};
60 60
61struct inode_operations ncp_dir_inode_operations = 61const struct inode_operations ncp_dir_inode_operations =
62{ 62{
63 .create = ncp_create, 63 .create = ncp_create,
64 .lookup = ncp_lookup, 64 .lookup = ncp_lookup,
diff --git a/fs/ncpfs/file.c b/fs/ncpfs/file.c
index b91fea03b1c3..6b1f6d27099a 100644
--- a/fs/ncpfs/file.c
+++ b/fs/ncpfs/file.c
@@ -297,7 +297,7 @@ const struct file_operations ncp_file_operations =
297 .fsync = ncp_fsync, 297 .fsync = ncp_fsync,
298}; 298};
299 299
300struct inode_operations ncp_file_inode_operations = 300const struct inode_operations ncp_file_inode_operations =
301{ 301{
302 .setattr = ncp_notify_change, 302 .setattr = ncp_notify_change,
303}; 303};
diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c
index 67a90bf795d5..730433f3d237 100644
--- a/fs/ncpfs/inode.c
+++ b/fs/ncpfs/inode.c
@@ -229,7 +229,7 @@ static void ncp_set_attr(struct inode *inode, struct ncp_entry_info *nwinfo)
229} 229}
230 230
231#if defined(CONFIG_NCPFS_EXTRAS) || defined(CONFIG_NCPFS_NFS_NS) 231#if defined(CONFIG_NCPFS_EXTRAS) || defined(CONFIG_NCPFS_NFS_NS)
232static struct inode_operations ncp_symlink_inode_operations = { 232static const struct inode_operations ncp_symlink_inode_operations = {
233 .readlink = generic_readlink, 233 .readlink = generic_readlink,
234 .follow_link = page_follow_link_light, 234 .follow_link = page_follow_link_light,
235 .put_link = page_put_link, 235 .put_link = page_put_link,
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index d9ba8cb0ee75..f03a770bacb0 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -65,7 +65,7 @@ const struct file_operations nfs_dir_operations = {
65 .fsync = nfs_fsync_dir, 65 .fsync = nfs_fsync_dir,
66}; 66};
67 67
68struct inode_operations nfs_dir_inode_operations = { 68const struct inode_operations nfs_dir_inode_operations = {
69 .create = nfs_create, 69 .create = nfs_create,
70 .lookup = nfs_lookup, 70 .lookup = nfs_lookup,
71 .link = nfs_link, 71 .link = nfs_link,
@@ -81,7 +81,7 @@ struct inode_operations nfs_dir_inode_operations = {
81}; 81};
82 82
83#ifdef CONFIG_NFS_V3 83#ifdef CONFIG_NFS_V3
84struct inode_operations nfs3_dir_inode_operations = { 84const struct inode_operations nfs3_dir_inode_operations = {
85 .create = nfs_create, 85 .create = nfs_create,
86 .lookup = nfs_lookup, 86 .lookup = nfs_lookup,
87 .link = nfs_link, 87 .link = nfs_link,
@@ -104,7 +104,7 @@ struct inode_operations nfs3_dir_inode_operations = {
104#ifdef CONFIG_NFS_V4 104#ifdef CONFIG_NFS_V4
105 105
106static struct dentry *nfs_atomic_lookup(struct inode *, struct dentry *, struct nameidata *); 106static struct dentry *nfs_atomic_lookup(struct inode *, struct dentry *, struct nameidata *);
107struct inode_operations nfs4_dir_inode_operations = { 107const struct inode_operations nfs4_dir_inode_operations = {
108 .create = nfs_create, 108 .create = nfs_create,
109 .lookup = nfs_atomic_lookup, 109 .lookup = nfs_atomic_lookup,
110 .link = nfs_link, 110 .link = nfs_link,
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 9e4a2b70995a..8e66b5a2d490 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -68,14 +68,14 @@ const struct file_operations nfs_file_operations = {
68 .check_flags = nfs_check_flags, 68 .check_flags = nfs_check_flags,
69}; 69};
70 70
71struct inode_operations nfs_file_inode_operations = { 71const struct inode_operations nfs_file_inode_operations = {
72 .permission = nfs_permission, 72 .permission = nfs_permission,
73 .getattr = nfs_getattr, 73 .getattr = nfs_getattr,
74 .setattr = nfs_setattr, 74 .setattr = nfs_setattr,
75}; 75};
76 76
77#ifdef CONFIG_NFS_V3 77#ifdef CONFIG_NFS_V3
78struct inode_operations nfs3_file_inode_operations = { 78const struct inode_operations nfs3_file_inode_operations = {
79 .permission = nfs_permission, 79 .permission = nfs_permission,
80 .getattr = nfs_getattr, 80 .getattr = nfs_getattr,
81 .setattr = nfs_setattr, 81 .setattr = nfs_setattr,
diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c
index 371b804e7cc8..7f86e65182e4 100644
--- a/fs/nfs/namespace.c
+++ b/fs/nfs/namespace.c
@@ -155,12 +155,12 @@ out_follow:
155 goto out; 155 goto out;
156} 156}
157 157
158struct inode_operations nfs_mountpoint_inode_operations = { 158const struct inode_operations nfs_mountpoint_inode_operations = {
159 .follow_link = nfs_follow_mountpoint, 159 .follow_link = nfs_follow_mountpoint,
160 .getattr = nfs_getattr, 160 .getattr = nfs_getattr,
161}; 161};
162 162
163struct inode_operations nfs_referral_inode_operations = { 163const struct inode_operations nfs_referral_inode_operations = {
164 .follow_link = nfs_follow_mountpoint, 164 .follow_link = nfs_follow_mountpoint,
165}; 165};
166 166
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index c26cd978c7cc..e2341766c4f0 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -151,7 +151,7 @@ struct nfs4_state_recovery_ops {
151}; 151};
152 152
153extern struct dentry_operations nfs4_dentry_operations; 153extern struct dentry_operations nfs4_dentry_operations;
154extern struct inode_operations nfs4_dir_inode_operations; 154extern const struct inode_operations nfs4_dir_inode_operations;
155 155
156/* inode.c */ 156/* inode.c */
157extern ssize_t nfs4_getxattr(struct dentry *, const char *, void *, size_t); 157extern ssize_t nfs4_getxattr(struct dentry *, const char *, void *, size_t);
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index b3fd29baadc3..1daee65b517e 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3625,7 +3625,7 @@ struct nfs4_state_recovery_ops nfs4_network_partition_recovery_ops = {
3625 .recover_lock = nfs4_lock_expired, 3625 .recover_lock = nfs4_lock_expired,
3626}; 3626};
3627 3627
3628static struct inode_operations nfs4_file_inode_operations = { 3628static const struct inode_operations nfs4_file_inode_operations = {
3629 .permission = nfs_permission, 3629 .permission = nfs_permission,
3630 .getattr = nfs_getattr, 3630 .getattr = nfs_getattr,
3631 .setattr = nfs_setattr, 3631 .setattr = nfs_setattr,
diff --git a/fs/nfs/symlink.c b/fs/nfs/symlink.c
index 525c136c7d8c..f4a0548b9ce8 100644
--- a/fs/nfs/symlink.c
+++ b/fs/nfs/symlink.c
@@ -78,7 +78,7 @@ read_failed:
78/* 78/*
79 * symlinks can't do much... 79 * symlinks can't do much...
80 */ 80 */
81struct inode_operations nfs_symlink_inode_operations = { 81const struct inode_operations nfs_symlink_inode_operations = {
82 .readlink = generic_readlink, 82 .readlink = generic_readlink,
83 .follow_link = nfs_follow_link, 83 .follow_link = nfs_follow_link,
84 .put_link = page_put_link, 84 .put_link = page_put_link,
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c
index 076c9420c257..d69c4595ccd0 100644
--- a/fs/ntfs/file.c
+++ b/fs/ntfs/file.c
@@ -2328,7 +2328,7 @@ const struct file_operations ntfs_file_ops = {
2328 the data source. */ 2328 the data source. */
2329}; 2329};
2330 2330
2331struct inode_operations ntfs_file_inode_ops = { 2331const struct inode_operations ntfs_file_inode_ops = {
2332#ifdef NTFS_RW 2332#ifdef NTFS_RW
2333 .truncate = ntfs_truncate_vfs, 2333 .truncate = ntfs_truncate_vfs,
2334 .setattr = ntfs_setattr, 2334 .setattr = ntfs_setattr,
@@ -2337,4 +2337,4 @@ struct inode_operations ntfs_file_inode_ops = {
2337 2337
2338const struct file_operations ntfs_empty_file_ops = {}; 2338const struct file_operations ntfs_empty_file_ops = {};
2339 2339
2340struct inode_operations ntfs_empty_inode_ops = {}; 2340const struct inode_operations ntfs_empty_inode_ops = {};
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c
index eddb2247cec5..bff01a54675a 100644
--- a/fs/ntfs/namei.c
+++ b/fs/ntfs/namei.c
@@ -359,7 +359,7 @@ err_out:
359/** 359/**
360 * Inode operations for directories. 360 * Inode operations for directories.
361 */ 361 */
362struct inode_operations ntfs_dir_inode_ops = { 362const struct inode_operations ntfs_dir_inode_ops = {
363 .lookup = ntfs_lookup, /* VFS: Lookup directory. */ 363 .lookup = ntfs_lookup, /* VFS: Lookup directory. */
364}; 364};
365 365
diff --git a/fs/ntfs/ntfs.h b/fs/ntfs/ntfs.h
index a12847ae467d..d73f5a9ac341 100644
--- a/fs/ntfs/ntfs.h
+++ b/fs/ntfs/ntfs.h
@@ -61,13 +61,13 @@ extern const struct address_space_operations ntfs_aops;
61extern const struct address_space_operations ntfs_mst_aops; 61extern const struct address_space_operations ntfs_mst_aops;
62 62
63extern const struct file_operations ntfs_file_ops; 63extern const struct file_operations ntfs_file_ops;
64extern struct inode_operations ntfs_file_inode_ops; 64extern const struct inode_operations ntfs_file_inode_ops;
65 65
66extern const struct file_operations ntfs_dir_ops; 66extern const struct file_operations ntfs_dir_ops;
67extern struct inode_operations ntfs_dir_inode_ops; 67extern const struct inode_operations ntfs_dir_inode_ops;
68 68
69extern const struct file_operations ntfs_empty_file_ops; 69extern const struct file_operations ntfs_empty_file_ops;
70extern struct inode_operations ntfs_empty_inode_ops; 70extern const struct inode_operations ntfs_empty_inode_ops;
71 71
72extern struct export_operations ntfs_export_ops; 72extern struct export_operations ntfs_export_ops;
73 73
diff --git a/fs/ocfs2/dlm/dlmfs.c b/fs/ocfs2/dlm/dlmfs.c
index 30826242bf51..84b33ffb42f1 100644
--- a/fs/ocfs2/dlm/dlmfs.c
+++ b/fs/ocfs2/dlm/dlmfs.c
@@ -63,9 +63,9 @@
63 63
64static struct super_operations dlmfs_ops; 64static struct super_operations dlmfs_ops;
65static const struct file_operations dlmfs_file_operations; 65static const struct file_operations dlmfs_file_operations;
66static struct inode_operations dlmfs_dir_inode_operations; 66static const struct inode_operations dlmfs_dir_inode_operations;
67static struct inode_operations dlmfs_root_inode_operations; 67static const struct inode_operations dlmfs_root_inode_operations;
68static struct inode_operations dlmfs_file_inode_operations; 68static const struct inode_operations dlmfs_file_inode_operations;
69static struct kmem_cache *dlmfs_inode_cache; 69static struct kmem_cache *dlmfs_inode_cache;
70 70
71struct workqueue_struct *user_dlm_worker; 71struct workqueue_struct *user_dlm_worker;
@@ -547,14 +547,14 @@ static const struct file_operations dlmfs_file_operations = {
547 .write = dlmfs_file_write, 547 .write = dlmfs_file_write,
548}; 548};
549 549
550static struct inode_operations dlmfs_dir_inode_operations = { 550static const struct inode_operations dlmfs_dir_inode_operations = {
551 .create = dlmfs_create, 551 .create = dlmfs_create,
552 .lookup = simple_lookup, 552 .lookup = simple_lookup,
553 .unlink = dlmfs_unlink, 553 .unlink = dlmfs_unlink,
554}; 554};
555 555
556/* this way we can restrict mkdir to only the toplevel of the fs. */ 556/* this way we can restrict mkdir to only the toplevel of the fs. */
557static struct inode_operations dlmfs_root_inode_operations = { 557static const struct inode_operations dlmfs_root_inode_operations = {
558 .lookup = simple_lookup, 558 .lookup = simple_lookup,
559 .mkdir = dlmfs_mkdir, 559 .mkdir = dlmfs_mkdir,
560 .rmdir = simple_rmdir, 560 .rmdir = simple_rmdir,
@@ -568,7 +568,7 @@ static struct super_operations dlmfs_ops = {
568 .drop_inode = generic_delete_inode, 568 .drop_inode = generic_delete_inode,
569}; 569};
570 570
571static struct inode_operations dlmfs_file_inode_operations = { 571static const struct inode_operations dlmfs_file_inode_operations = {
572 .getattr = simple_getattr, 572 .getattr = simple_getattr,
573}; 573};
574 574
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 10953a508f2f..f2cd3bf9efb2 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -1365,13 +1365,13 @@ bail:
1365 return ret; 1365 return ret;
1366} 1366}
1367 1367
1368struct inode_operations ocfs2_file_iops = { 1368const struct inode_operations ocfs2_file_iops = {
1369 .setattr = ocfs2_setattr, 1369 .setattr = ocfs2_setattr,
1370 .getattr = ocfs2_getattr, 1370 .getattr = ocfs2_getattr,
1371 .permission = ocfs2_permission, 1371 .permission = ocfs2_permission,
1372}; 1372};
1373 1373
1374struct inode_operations ocfs2_special_file_iops = { 1374const struct inode_operations ocfs2_special_file_iops = {
1375 .setattr = ocfs2_setattr, 1375 .setattr = ocfs2_setattr,
1376 .getattr = ocfs2_getattr, 1376 .getattr = ocfs2_getattr,
1377 .permission = ocfs2_permission, 1377 .permission = ocfs2_permission,
diff --git a/fs/ocfs2/file.h b/fs/ocfs2/file.h
index 601a453f18a8..cc973f01f6ce 100644
--- a/fs/ocfs2/file.h
+++ b/fs/ocfs2/file.h
@@ -28,8 +28,8 @@
28 28
29extern const struct file_operations ocfs2_fops; 29extern const struct file_operations ocfs2_fops;
30extern const struct file_operations ocfs2_dops; 30extern const struct file_operations ocfs2_dops;
31extern struct inode_operations ocfs2_file_iops; 31extern const struct inode_operations ocfs2_file_iops;
32extern struct inode_operations ocfs2_special_file_iops; 32extern const struct inode_operations ocfs2_special_file_iops;
33struct ocfs2_alloc_context; 33struct ocfs2_alloc_context;
34 34
35enum ocfs2_alloc_restarted { 35enum ocfs2_alloc_restarted {
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index f3d7803b4b46..f7fa52bb3f6b 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -2306,7 +2306,7 @@ leave:
2306 return status; 2306 return status;
2307} 2307}
2308 2308
2309struct inode_operations ocfs2_dir_iops = { 2309const struct inode_operations ocfs2_dir_iops = {
2310 .create = ocfs2_create, 2310 .create = ocfs2_create,
2311 .lookup = ocfs2_lookup, 2311 .lookup = ocfs2_lookup,
2312 .link = ocfs2_link, 2312 .link = ocfs2_link,
diff --git a/fs/ocfs2/namei.h b/fs/ocfs2/namei.h
index 8425944fcccd..0975c7b7212b 100644
--- a/fs/ocfs2/namei.h
+++ b/fs/ocfs2/namei.h
@@ -26,7 +26,7 @@
26#ifndef OCFS2_NAMEI_H 26#ifndef OCFS2_NAMEI_H
27#define OCFS2_NAMEI_H 27#define OCFS2_NAMEI_H
28 28
29extern struct inode_operations ocfs2_dir_iops; 29extern const struct inode_operations ocfs2_dir_iops;
30 30
31struct dentry *ocfs2_get_parent(struct dentry *child); 31struct dentry *ocfs2_get_parent(struct dentry *child);
32 32
diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c
index 03b0191534d5..40dc1a51f4a9 100644
--- a/fs/ocfs2/symlink.c
+++ b/fs/ocfs2/symlink.c
@@ -170,12 +170,12 @@ bail:
170 return ERR_PTR(status); 170 return ERR_PTR(status);
171} 171}
172 172
173struct inode_operations ocfs2_symlink_inode_operations = { 173const struct inode_operations ocfs2_symlink_inode_operations = {
174 .readlink = page_readlink, 174 .readlink = page_readlink,
175 .follow_link = ocfs2_follow_link, 175 .follow_link = ocfs2_follow_link,
176 .getattr = ocfs2_getattr, 176 .getattr = ocfs2_getattr,
177}; 177};
178struct inode_operations ocfs2_fast_symlink_inode_operations = { 178const struct inode_operations ocfs2_fast_symlink_inode_operations = {
179 .readlink = ocfs2_readlink, 179 .readlink = ocfs2_readlink,
180 .follow_link = ocfs2_follow_link, 180 .follow_link = ocfs2_follow_link,
181 .getattr = ocfs2_getattr, 181 .getattr = ocfs2_getattr,
diff --git a/fs/ocfs2/symlink.h b/fs/ocfs2/symlink.h
index 1ea9e4d9e9eb..65a6c9c6ad51 100644
--- a/fs/ocfs2/symlink.h
+++ b/fs/ocfs2/symlink.h
@@ -26,8 +26,8 @@
26#ifndef OCFS2_SYMLINK_H 26#ifndef OCFS2_SYMLINK_H
27#define OCFS2_SYMLINK_H 27#define OCFS2_SYMLINK_H
28 28
29extern struct inode_operations ocfs2_symlink_inode_operations; 29extern const struct inode_operations ocfs2_symlink_inode_operations;
30extern struct inode_operations ocfs2_fast_symlink_inode_operations; 30extern const struct inode_operations ocfs2_fast_symlink_inode_operations;
31 31
32/* 32/*
33 * Test whether an inode is a fast symlink. 33 * Test whether an inode is a fast symlink.
diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c
index 99c0bc37ba09..327807b86fa1 100644
--- a/fs/openpromfs/inode.c
+++ b/fs/openpromfs/inode.c
@@ -169,7 +169,7 @@ static const struct file_operations openprom_operations = {
169 169
170static struct dentry *openpromfs_lookup(struct inode *, struct dentry *, struct nameidata *); 170static struct dentry *openpromfs_lookup(struct inode *, struct dentry *, struct nameidata *);
171 171
172static struct inode_operations openprom_inode_operations = { 172static const struct inode_operations openprom_inode_operations = {
173 .lookup = openpromfs_lookup, 173 .lookup = openpromfs_lookup,
174}; 174};
175 175
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index fafdef357e92..7a8ce610fda2 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -84,7 +84,7 @@ struct mqueue_inode_info {
84 unsigned long qsize; /* size of queue in memory (sum of all msgs) */ 84 unsigned long qsize; /* size of queue in memory (sum of all msgs) */
85}; 85};
86 86
87static struct inode_operations mqueue_dir_inode_operations; 87static const struct inode_operations mqueue_dir_inode_operations;
88static const struct file_operations mqueue_file_operations; 88static const struct file_operations mqueue_file_operations;
89static struct super_operations mqueue_super_ops; 89static struct super_operations mqueue_super_ops;
90static void remove_notification(struct mqueue_inode_info *info); 90static void remove_notification(struct mqueue_inode_info *info);
@@ -1160,7 +1160,7 @@ out:
1160 return ret; 1160 return ret;
1161} 1161}
1162 1162
1163static struct inode_operations mqueue_dir_inode_operations = { 1163static const struct inode_operations mqueue_dir_inode_operations = {
1164 .lookup = simple_lookup, 1164 .lookup = simple_lookup,
1165 .create = mqueue_create, 1165 .create = mqueue_create,
1166 .unlink = mqueue_unlink, 1166 .unlink = mqueue_unlink,
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 232aed2b10f9..f382b0f775e1 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -1540,7 +1540,7 @@ static const struct file_operations cpuset_file_operations = {
1540 .release = cpuset_file_release, 1540 .release = cpuset_file_release,
1541}; 1541};
1542 1542
1543static struct inode_operations cpuset_dir_inode_operations = { 1543static const struct inode_operations cpuset_dir_inode_operations = {
1544 .lookup = simple_lookup, 1544 .lookup = simple_lookup,
1545 .mkdir = cpuset_mkdir, 1545 .mkdir = cpuset_mkdir,
1546 .rmdir = cpuset_rmdir, 1546 .rmdir = cpuset_rmdir,
diff --git a/mm/shmem.c b/mm/shmem.c
index b38e17169271..882053031aa0 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -178,9 +178,9 @@ static inline void shmem_unacct_blocks(unsigned long flags, long pages)
178static struct super_operations shmem_ops; 178static struct super_operations shmem_ops;
179static const struct address_space_operations shmem_aops; 179static const struct address_space_operations shmem_aops;
180static const struct file_operations shmem_file_operations; 180static const struct file_operations shmem_file_operations;
181static struct inode_operations shmem_inode_operations; 181static const struct inode_operations shmem_inode_operations;
182static struct inode_operations shmem_dir_inode_operations; 182static const struct inode_operations shmem_dir_inode_operations;
183static struct inode_operations shmem_special_inode_operations; 183static const struct inode_operations shmem_special_inode_operations;
184static struct vm_operations_struct shmem_vm_ops; 184static struct vm_operations_struct shmem_vm_ops;
185 185
186static struct backing_dev_info shmem_backing_dev_info __read_mostly = { 186static struct backing_dev_info shmem_backing_dev_info __read_mostly = {
@@ -1410,8 +1410,8 @@ shmem_get_inode(struct super_block *sb, int mode, dev_t dev)
1410} 1410}
1411 1411
1412#ifdef CONFIG_TMPFS 1412#ifdef CONFIG_TMPFS
1413static struct inode_operations shmem_symlink_inode_operations; 1413static const struct inode_operations shmem_symlink_inode_operations;
1414static struct inode_operations shmem_symlink_inline_operations; 1414static const struct inode_operations shmem_symlink_inline_operations;
1415 1415
1416/* 1416/*
1417 * Normally tmpfs makes no use of shmem_prepare_write, but it 1417 * Normally tmpfs makes no use of shmem_prepare_write, but it
@@ -1904,12 +1904,12 @@ static void shmem_put_link(struct dentry *dentry, struct nameidata *nd, void *co
1904 } 1904 }
1905} 1905}
1906 1906
1907static struct inode_operations shmem_symlink_inline_operations = { 1907static const struct inode_operations shmem_symlink_inline_operations = {
1908 .readlink = generic_readlink, 1908 .readlink = generic_readlink,
1909 .follow_link = shmem_follow_link_inline, 1909 .follow_link = shmem_follow_link_inline,
1910}; 1910};
1911 1911
1912static struct inode_operations shmem_symlink_inode_operations = { 1912static const struct inode_operations shmem_symlink_inode_operations = {
1913 .truncate = shmem_truncate, 1913 .truncate = shmem_truncate,
1914 .readlink = generic_readlink, 1914 .readlink = generic_readlink,
1915 .follow_link = shmem_follow_link, 1915 .follow_link = shmem_follow_link,
@@ -2335,7 +2335,7 @@ static const struct file_operations shmem_file_operations = {
2335#endif 2335#endif
2336}; 2336};
2337 2337
2338static struct inode_operations shmem_inode_operations = { 2338static const struct inode_operations shmem_inode_operations = {
2339 .truncate = shmem_truncate, 2339 .truncate = shmem_truncate,
2340 .setattr = shmem_notify_change, 2340 .setattr = shmem_notify_change,
2341 .truncate_range = shmem_truncate_range, 2341 .truncate_range = shmem_truncate_range,
@@ -2349,7 +2349,7 @@ static struct inode_operations shmem_inode_operations = {
2349 2349
2350}; 2350};
2351 2351
2352static struct inode_operations shmem_dir_inode_operations = { 2352static const struct inode_operations shmem_dir_inode_operations = {
2353#ifdef CONFIG_TMPFS 2353#ifdef CONFIG_TMPFS
2354 .create = shmem_create, 2354 .create = shmem_create,
2355 .lookup = simple_lookup, 2355 .lookup = simple_lookup,
@@ -2371,7 +2371,7 @@ static struct inode_operations shmem_dir_inode_operations = {
2371#endif 2371#endif
2372}; 2372};
2373 2373
2374static struct inode_operations shmem_special_inode_operations = { 2374static const struct inode_operations shmem_special_inode_operations = {
2375#ifdef CONFIG_TMPFS_POSIX_ACL 2375#ifdef CONFIG_TMPFS_POSIX_ACL
2376 .setattr = shmem_notify_change, 2376 .setattr = shmem_notify_change,
2377 .setxattr = generic_setxattr, 2377 .setxattr = generic_setxattr,