[PATCH] mark struct inode_operations const 3
authorArjan van de Ven <arjan@linux.intel.com>
Mon, 12 Feb 2007 08:55:40 +0000 (00:55 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 12 Feb 2007 17:48:46 +0000 (09:48 -0800)
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>
48 files changed:
fs/proc/base.c
fs/proc/generic.c
fs/proc/root.c
fs/qnx4/dir.c
fs/qnx4/file.c
fs/ramfs/file-mmu.c
fs/ramfs/file-nommu.c
fs/ramfs/inode.c
fs/ramfs/internal.h
fs/reiserfs/file.c
fs/reiserfs/namei.c
fs/romfs/inode.c
fs/smbfs/dir.c
fs/smbfs/file.c
fs/smbfs/proto.h
fs/smbfs/symlink.c
fs/sysfs/dir.c
fs/sysfs/inode.c
fs/sysfs/symlink.c
fs/sysfs/sysfs.h
fs/sysv/file.c
fs/sysv/inode.c
fs/sysv/namei.c
fs/sysv/symlink.c
fs/sysv/sysv.h
fs/udf/file.c
fs/udf/namei.c
fs/udf/udfdecl.h
fs/ufs/namei.c
fs/ufs/symlink.c
fs/ufs/truncate.c
fs/vfat/namei.c
fs/xfs/linux-2.6/xfs_iops.c
fs/xfs/linux-2.6/xfs_iops.h
include/linux/coda_linux.h
include/linux/efs_fs.h
include/linux/ext3_fs.h
include/linux/ext4_fs.h
include/linux/fs.h
include/linux/msdos_fs.h
include/linux/ncp_fs.h
include/linux/nfs_fs.h
include/linux/nfs_xdr.h
include/linux/phonedev.h
include/linux/proc_fs.h
include/linux/qnx4_fs.h
include/linux/reiserfs_fs.h
include/linux/ufs_fs.h

index 7b1ded63fa63b494f904b65840449c82fb5f20d8..4f5745af8c193809f37d9f2cfa78be383d42ef9c 100644 (file)
@@ -93,7 +93,7 @@ struct pid_entry {
        int len;
        char *name;
        mode_t mode;
-       struct inode_operations *iop;
+       const struct inode_operations *iop;
        const struct file_operations *fop;
        union proc_op op;
 };
@@ -352,7 +352,7 @@ static int proc_setattr(struct dentry *dentry, struct iattr *attr)
        return error;
 }
 
-static struct inode_operations proc_def_inode_operations = {
+static const struct inode_operations proc_def_inode_operations = {
        .setattr        = proc_setattr,
 };
 
@@ -980,7 +980,7 @@ out:
        return error;
 }
 
-static struct inode_operations proc_pid_link_inode_operations = {
+static const struct inode_operations proc_pid_link_inode_operations = {
        .readlink       = proc_pid_readlink,
        .follow_link    = proc_pid_follow_link,
        .setattr        = proc_setattr,
@@ -1416,7 +1416,7 @@ static const struct file_operations proc_fd_operations = {
 /*
  * proc directories can do almost nothing..
  */
-static struct inode_operations proc_fd_inode_operations = {
+static const struct inode_operations proc_fd_inode_operations = {
        .lookup         = proc_lookupfd,
        .setattr        = proc_setattr,
 };
@@ -1656,7 +1656,7 @@ static struct dentry *proc_attr_dir_lookup(struct inode *dir,
                                  attr_dir_stuff, ARRAY_SIZE(attr_dir_stuff));
 }
 
-static struct inode_operations proc_attr_dir_inode_operations = {
+static const struct inode_operations proc_attr_dir_inode_operations = {
        .lookup         = proc_attr_dir_lookup,
        .getattr        = pid_getattr,
        .setattr        = proc_setattr,
@@ -1682,7 +1682,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
        return ERR_PTR(vfs_follow_link(nd,tmp));
 }
 
-static struct inode_operations proc_self_inode_operations = {
+static const struct inode_operations proc_self_inode_operations = {
        .readlink       = proc_self_readlink,
        .follow_link    = proc_self_follow_link,
 };
@@ -1835,7 +1835,7 @@ static int proc_pid_io_accounting(struct task_struct *task, char *buffer)
  * Thread groups
  */
 static const struct file_operations proc_task_operations;
-static struct inode_operations proc_task_inode_operations;
+static const struct inode_operations proc_task_inode_operations;
 
 static struct pid_entry tgid_base_stuff[] = {
        DIR("task",       S_IRUGO|S_IXUGO, task),
@@ -1904,7 +1904,7 @@ static struct dentry *proc_tgid_base_lookup(struct inode *dir, struct dentry *de
                                  tgid_base_stuff, ARRAY_SIZE(tgid_base_stuff));
 }
 
-static struct inode_operations proc_tgid_base_inode_operations = {
+static const struct inode_operations proc_tgid_base_inode_operations = {
        .lookup         = proc_tgid_base_lookup,
        .getattr        = pid_getattr,
        .setattr        = proc_setattr,
@@ -2182,7 +2182,7 @@ static const struct file_operations proc_tid_base_operations = {
        .readdir        = proc_tid_base_readdir,
 };
 
-static struct inode_operations proc_tid_base_inode_operations = {
+static const struct inode_operations proc_tid_base_inode_operations = {
        .lookup         = proc_tid_base_lookup,
        .getattr        = pid_getattr,
        .setattr        = proc_setattr,
@@ -2408,7 +2408,7 @@ static int proc_task_getattr(struct vfsmount *mnt, struct dentry *dentry, struct
        return 0;
 }
 
-static struct inode_operations proc_task_inode_operations = {
+static const struct inode_operations proc_task_inode_operations = {
        .lookup         = proc_task_lookup,
        .getattr        = proc_task_getattr,
        .setattr        = proc_setattr,
index aa52f1080e626ccbfda328707cdf70d3301124ba..0cdc00d9d97e5feb9e9e5872029e067527c8dea7 100644 (file)
@@ -265,7 +265,7 @@ static int proc_getattr(struct vfsmount *mnt, struct dentry *dentry,
        return 0;
 }
 
-static struct inode_operations proc_file_inode_operations = {
+static const struct inode_operations proc_file_inode_operations = {
        .setattr        = proc_notify_change,
 };
 
@@ -357,7 +357,7 @@ static void *proc_follow_link(struct dentry *dentry, struct nameidata *nd)
        return NULL;
 }
 
-static struct inode_operations proc_link_inode_operations = {
+static const struct inode_operations proc_link_inode_operations = {
        .readlink       = generic_readlink,
        .follow_link    = proc_follow_link,
 };
@@ -505,7 +505,7 @@ static const struct file_operations proc_dir_operations = {
 /*
  * proc directories can do almost nothing..
  */
-static struct inode_operations proc_dir_inode_operations = {
+static const struct inode_operations proc_dir_inode_operations = {
        .lookup         = proc_lookup,
        .getattr        = proc_getattr,
        .setattr        = proc_notify_change,
index 81c92e967a98b27f915631882f9c5d341a234a1d..af154458b540ccf6f4d89741b037523ef4f87f08 100644 (file)
@@ -144,7 +144,7 @@ static const struct file_operations proc_root_operations = {
 /*
  * proc root can do almost nothing..
  */
-static struct inode_operations proc_root_inode_operations = {
+static const struct inode_operations proc_root_inode_operations = {
        .lookup         = proc_root_lookup,
        .getattr        = proc_root_getattr,
 };
index c94db1db7a71cdcdb70de74d64fc0edae029e0de..ea9ffefb48add56ddace16e202e80d49b97859c5 100644 (file)
@@ -87,7 +87,7 @@ const struct file_operations qnx4_dir_operations =
        .fsync          = file_fsync,
 };
 
-struct inode_operations qnx4_dir_inode_operations =
+const struct inode_operations qnx4_dir_inode_operations =
 {
        .lookup         = qnx4_lookup,
 #ifdef CONFIG_QNX4FS_RW
index 467e5ac7280e739eb65a3ee63267ef5e46fbef20..44649981bbc8b08b7c1830d903432bb3fb583701 100644 (file)
@@ -33,7 +33,7 @@ const struct file_operations qnx4_file_operations =
 #endif
 };
 
-struct inode_operations qnx4_file_inode_operations =
+const struct inode_operations qnx4_file_inode_operations =
 {
 #ifdef CONFIG_QNX4FS_RW
        .truncate       = qnx4_truncate,
index b935a3dd4b6544cf8bbbd4ee5a26afe095d70273..2f14774a124fc05e5c995f1c9dd02926440de009 100644 (file)
@@ -45,6 +45,6 @@ const struct file_operations ramfs_file_operations = {
        .llseek         = generic_file_llseek,
 };
 
-struct inode_operations ramfs_file_inode_operations = {
+const struct inode_operations ramfs_file_inode_operations = {
        .getattr        = simple_getattr,
 };
index d05e09ac9a99763851d412688b04b9908ebeab25..d3fd7c6732d289ba8aa46a6452e9c35a5156ad0a 100644 (file)
@@ -47,7 +47,7 @@ const struct file_operations ramfs_file_operations = {
        .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,
 };
index 2faf4cdf61b0d126713eb7b7eddb692517730504..7a96b1d662a2f439dd02631bc2e0b8e02bc21b21 100644 (file)
@@ -41,7 +41,7 @@
 #define RAMFS_MAGIC    0x858458f6
 
 static struct super_operations ramfs_ops;
-static struct inode_operations ramfs_dir_inode_operations;
+static const struct inode_operations ramfs_dir_inode_operations;
 
 static struct backing_dev_info ramfs_backing_dev_info = {
        .ra_pages       = 0,    /* No readahead */
@@ -143,7 +143,7 @@ static int ramfs_symlink(struct inode * dir, struct dentry *dentry, const char *
        return error;
 }
 
-static struct inode_operations ramfs_dir_inode_operations = {
+static const struct inode_operations ramfs_dir_inode_operations = {
        .create         = ramfs_create,
        .lookup         = simple_lookup,
        .link           = simple_link,
index c2bb58e74653351797d75c654b855b1fa72b4ed5..af7cc074a47621af7d160786515dec5280697f3c 100644 (file)
@@ -12,4 +12,4 @@
 
 extern const struct address_space_operations ramfs_aops;
 extern const struct file_operations ramfs_file_operations;
-extern struct inode_operations ramfs_file_inode_operations;
+extern const struct inode_operations ramfs_file_inode_operations;
index 5109f1d5e7ffcbe2eb08340221439b440fd5ba57..abfada2f52db7b2a54f282d968e3a634199df0ad 100644 (file)
@@ -1556,7 +1556,7 @@ const struct file_operations reiserfs_file_operations = {
        .splice_write = generic_file_splice_write,
 };
 
-struct inode_operations reiserfs_file_inode_operations = {
+const struct inode_operations reiserfs_file_inode_operations = {
        .truncate = reiserfs_vfs_truncate_file,
        .setattr = reiserfs_setattr,
        .setxattr = reiserfs_setxattr,
index 23f5cd5bbf564253d4012c82b60490facc56e40f..a2161840bc7c00837e36c6446cb6cf5623f2a5da 100644 (file)
@@ -1525,7 +1525,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
 /*
  * directories can handle most operations...
  */
-struct inode_operations reiserfs_dir_inode_operations = {
+const struct inode_operations reiserfs_dir_inode_operations = {
        //&reiserfs_dir_operations,   /* default_file_ops */
        .create = reiserfs_create,
        .lookup = reiserfs_lookup,
@@ -1548,7 +1548,7 @@ struct inode_operations reiserfs_dir_inode_operations = {
  * symlink operations.. same as page_symlink_inode_operations, with xattr
  * stuff added
  */
-struct inode_operations reiserfs_symlink_inode_operations = {
+const struct inode_operations reiserfs_symlink_inode_operations = {
        .readlink = generic_readlink,
        .follow_link = page_follow_link_light,
        .put_link = page_put_link,
@@ -1564,7 +1564,7 @@ struct inode_operations reiserfs_symlink_inode_operations = {
 /*
  * special file operations.. just xattr/acl stuff
  */
-struct inode_operations reiserfs_special_inode_operations = {
+const struct inode_operations reiserfs_special_inode_operations = {
        .setattr = reiserfs_setattr,
        .setxattr = reiserfs_setxattr,
        .getxattr = reiserfs_getxattr,
index d3e243a6f609eb5a9536a2851e5e0713590fe077..1e712cc1693bd5bfcb0ea3d7583c3b275e150d2b 100644 (file)
@@ -468,7 +468,7 @@ static const struct file_operations romfs_dir_operations = {
        .readdir        = romfs_readdir,
 };
 
-static struct inode_operations romfs_dir_inode_operations = {
+static const struct inode_operations romfs_dir_inode_operations = {
        .lookup         = romfs_lookup,
 };
 
index b1e58d1ac9ca84090a4519e56a3d2692660f04b3..50136b1a3eca126d92bbb66b94c90a4f7ba0f6ad 100644 (file)
@@ -42,7 +42,7 @@ const struct file_operations smb_dir_operations =
        .open           = smb_dir_open,
 };
 
-struct inode_operations smb_dir_inode_operations =
+const struct inode_operations smb_dir_inode_operations =
 {
        .create         = smb_create,
        .lookup         = smb_lookup,
@@ -54,7 +54,7 @@ struct inode_operations smb_dir_inode_operations =
        .setattr        = smb_notify_change,
 };
 
-struct inode_operations smb_dir_inode_operations_unix =
+const struct inode_operations smb_dir_inode_operations_unix =
 {
        .create         = smb_create,
        .lookup         = smb_lookup,
index e50533a7951754e2c55ab5176f23f1f3fe582004..f161797160c41a591e4de16913b2efe4cea36072 100644 (file)
@@ -418,7 +418,7 @@ const struct file_operations smb_file_operations =
        .sendfile       = smb_file_sendfile,
 };
 
-struct inode_operations smb_file_inode_operations =
+const struct inode_operations smb_file_inode_operations =
 {
        .permission     = smb_file_permission,
        .getattr        = smb_getattr,
index 34fb462b23795c63581648ab69149faaf7bedfd4..03f456c1b7d44cb6e5e7e9167fe9ece483ef2394 100644 (file)
@@ -36,8 +36,8 @@ extern int smb_proc_link(struct smb_sb_info *server, struct dentry *dentry, stru
 extern void smb_install_null_ops(struct smb_ops *ops);
 /* dir.c */
 extern const struct file_operations smb_dir_operations;
-extern struct inode_operations smb_dir_inode_operations;
-extern struct inode_operations smb_dir_inode_operations_unix;
+extern const struct inode_operations smb_dir_inode_operations;
+extern const struct inode_operations smb_dir_inode_operations_unix;
 extern void smb_new_dentry(struct dentry *dentry);
 extern void smb_renew_times(struct dentry *dentry);
 /* cache.c */
@@ -65,7 +65,7 @@ extern int smb_notify_change(struct dentry *dentry, struct iattr *attr);
 /* file.c */
 extern const struct address_space_operations smb_file_aops;
 extern const struct file_operations smb_file_operations;
-extern struct inode_operations smb_file_inode_operations;
+extern const struct inode_operations smb_file_inode_operations;
 /* ioctl.c */
 extern int smb_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
 /* smbiod.c */
@@ -84,4 +84,4 @@ extern int smb_request_send_server(struct smb_sb_info *server);
 extern int smb_request_recv(struct smb_sb_info *server);
 /* symlink.c */
 extern int smb_symlink(struct inode *inode, struct dentry *dentry, const char *oldname);
-extern struct inode_operations smb_link_inode_operations;
+extern const struct inode_operations smb_link_inode_operations;
index cdc53c4fb3813448ef6c7c0dba700b7ad38c4752..e4bf3456d07ed6443a2a382bf5bb31c2c95b8b41 100644 (file)
@@ -62,7 +62,7 @@ static void smb_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
                __putname(s);
 }
 
-struct inode_operations smb_link_inode_operations =
+const struct inode_operations smb_link_inode_operations =
 {
        .readlink       = generic_readlink,
        .follow_link    = smb_follow_link,
index 9e95e7abaf699e88c585540373e59597295a1cfa..8813990304fe58f8b12449b6f99471887f1920ee 100644 (file)
@@ -296,7 +296,7 @@ static struct dentry * sysfs_lookup(struct inode *dir, struct dentry *dentry,
        return ERR_PTR(err);
 }
 
-struct inode_operations sysfs_dir_inode_operations = {
+const struct inode_operations sysfs_dir_inode_operations = {
        .lookup         = sysfs_lookup,
        .setattr        = sysfs_setattr,
 };
index 542d2bcc73df16583a0b9449c6ee6f052275076e..dd1344b007f59baf3b0d5ba05fadecd83f8d0604 100644 (file)
@@ -29,7 +29,7 @@ static struct backing_dev_info sysfs_backing_dev_info = {
        .capabilities   = BDI_CAP_NO_ACCT_DIRTY | BDI_CAP_NO_WRITEBACK,
 };
 
-static struct inode_operations sysfs_inode_operations ={
+static const struct inode_operations sysfs_inode_operations ={
        .setattr        = sysfs_setattr,
 };
 
index 4869f611192fef555379df137d8598858d26436a..7b9c5bfde920fb1ea30af8f81d4313f84bf981ec 100644 (file)
@@ -181,7 +181,7 @@ static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *co
                free_page((unsigned long)page);
 }
 
-struct inode_operations sysfs_symlink_inode_operations = {
+const struct inode_operations sysfs_symlink_inode_operations = {
        .readlink = generic_readlink,
        .follow_link = sysfs_follow_link,
        .put_link = sysfs_put_link,
index fe1cbfd208ed9828993623c9aaa16949cd379db3..d976b0005549e9deb720352298550dfed644a839 100644 (file)
@@ -26,8 +26,8 @@ extern struct super_block * sysfs_sb;
 extern const struct file_operations sysfs_dir_operations;
 extern const struct file_operations sysfs_file_operations;
 extern const struct file_operations bin_fops;
-extern struct inode_operations sysfs_dir_inode_operations;
-extern struct inode_operations sysfs_symlink_inode_operations;
+extern const struct inode_operations sysfs_dir_inode_operations;
+extern const struct inode_operations sysfs_symlink_inode_operations;
 
 struct sysfs_symlink {
        char * link_name;
index 47a4b728f15b49bfdf84d7b30d17568e08a13b1c..0732ddb9020beddba8e0c8caf0a71a43ed3c7eb8 100644 (file)
@@ -30,7 +30,7 @@ const struct file_operations sysv_file_operations = {
        .sendfile       = generic_file_sendfile,
 };
 
-struct inode_operations sysv_file_inode_operations = {
+const struct inode_operations sysv_file_inode_operations = {
        .truncate       = sysv_truncate,
        .getattr        = sysv_getattr,
 };
index ead9864567e39d237364868ee710632adcd4175a..13dd75c4bc8555e1252ad1d6052323a533f51562 100644 (file)
@@ -142,7 +142,7 @@ static inline void write3byte(struct sysv_sb_info *sbi,
        }
 }
 
-static struct inode_operations sysv_symlink_inode_operations = {
+static const struct inode_operations sysv_symlink_inode_operations = {
        .readlink       = generic_readlink,
        .follow_link    = page_follow_link_light,
        .put_link       = page_put_link,
index f7c08db8e34c80225000cd10b7722e5d8ef82eb6..4e48abbd2b5de63ff1e93f7c5599a9b917f18e43 100644 (file)
@@ -292,7 +292,7 @@ out:
 /*
  * directories can handle most operations...
  */
-struct inode_operations sysv_dir_inode_operations = {
+const struct inode_operations sysv_dir_inode_operations = {
        .create         = sysv_create,
        .lookup         = sysv_lookup,
        .link           = sysv_link,
index b85ce61d635ce2a41865f3f324d5fdd9095244ca..00d2f8a43e4eaefea0e35ba6108ef561d2852b52 100644 (file)
@@ -14,7 +14,7 @@ static void *sysv_follow_link(struct dentry *dentry, struct nameidata *nd)
        return NULL;
 }
 
-struct inode_operations sysv_fast_symlink_inode_operations = {
+const struct inode_operations sysv_fast_symlink_inode_operations = {
        .readlink       = generic_readlink,
        .follow_link    = sysv_follow_link,
 };
index dcb18b2171feafbb7d2d13d1d45bcb2e312fe77e..a320edcf541ed99511d8773b512a99899b7dbbfc 100644 (file)
@@ -159,9 +159,9 @@ extern struct sysv_dir_entry *sysv_dotdot(struct inode *, struct page **);
 extern ino_t sysv_inode_by_name(struct dentry *);
 
 
-extern struct inode_operations sysv_file_inode_operations;
-extern struct inode_operations sysv_dir_inode_operations;
-extern struct inode_operations sysv_fast_symlink_inode_operations;
+extern const struct inode_operations sysv_file_inode_operations;
+extern const struct inode_operations sysv_dir_inode_operations;
+extern const struct inode_operations sysv_fast_symlink_inode_operations;
 extern const struct file_operations sysv_file_operations;
 extern const struct file_operations sysv_dir_operations;
 extern const struct address_space_operations sysv_aops;
index d81f2db7b0e3cc47fe445e1ce8486493250619d9..40d5047defea912289f85c40c300afb4ac9aaa81 100644 (file)
@@ -263,6 +263,6 @@ const struct file_operations udf_file_operations = {
        .sendfile               = generic_file_sendfile,
 };
 
-struct inode_operations udf_file_inode_operations = {
+const struct inode_operations udf_file_inode_operations = {
        .truncate               = udf_truncate,
 };
index 73163325e5ec36ba628209cc146cf808d3f94abc..fe361cd19a98912ce1fec1f280d06d758ddec298 100644 (file)
@@ -1308,7 +1308,7 @@ end_rename:
        return retval;
 }
 
-struct inode_operations udf_dir_inode_operations = {
+const struct inode_operations udf_dir_inode_operations = {
        .lookup                         = udf_lookup,
        .create                         = udf_create,
        .link                           = udf_link,
index 1033b7cf29393e6d23c8e4e1f011db7476de1381..ee1dece1f6f513d9411e9a573a151dc65469f10a 100644 (file)
@@ -42,9 +42,9 @@ struct task_struct;
 struct buffer_head;
 struct super_block;
 
-extern struct inode_operations udf_dir_inode_operations;
+extern const struct inode_operations udf_dir_inode_operations;
 extern const struct file_operations udf_dir_operations;
-extern struct inode_operations udf_file_inode_operations;
+extern const struct inode_operations udf_file_inode_operations;
 extern const struct file_operations udf_file_operations;
 extern const struct address_space_operations udf_aops;
 extern const struct address_space_operations udf_adinicb_aops;
index e84c0ecf07304f0f8222e3c438f4e1b8bb5bed34..a059ccd064eaa317f257ac1ac73ec3a28ba9867e 100644 (file)
@@ -355,7 +355,7 @@ out:
        return err;
 }
 
-struct inode_operations ufs_dir_inode_operations = {
+const struct inode_operations ufs_dir_inode_operations = {
        .create         = ufs_create,
        .lookup         = ufs_lookup,
        .link           = ufs_link,
index 337512ed57814ac1949c440ef89c2e1389ad2cfc..d8549f807e8003ef06abc6c79a34799829b7d204 100644 (file)
@@ -36,7 +36,7 @@ static void *ufs_follow_link(struct dentry *dentry, struct nameidata *nd)
        return NULL;
 }
 
-struct inode_operations ufs_fast_symlink_inode_operations = {
+const struct inode_operations ufs_fast_symlink_inode_operations = {
        .readlink       = generic_readlink,
        .follow_link    = ufs_follow_link,
 };
index 77ed77932aebc086533fc0f1898f711e12347ae4..749581fa7729fe2e20add00e0ae587bc33267edb 100644 (file)
@@ -513,6 +513,6 @@ static int ufs_setattr(struct dentry *dentry, struct iattr *attr)
        return inode_setattr(inode, attr);
 }
 
-struct inode_operations ufs_file_inode_operations = {
+const struct inode_operations ufs_file_inode_operations = {
        .setattr = ufs_setattr,
 };
index 0afd745a37cd7aeacef9c64d8470af619c77189a..c28add2fbe95eebce0ec79de64e8389be793ea26 100644 (file)
@@ -996,7 +996,7 @@ error_inode:
        goto out;
 }
 
-static struct inode_operations vfat_dir_inode_operations = {
+static const struct inode_operations vfat_dir_inode_operations = {
        .create         = vfat_create,
        .lookup         = vfat_lookup,
        .unlink         = vfat_unlink,
index aa4c3b8cae01711c2a95e492e67a8cfda65d96f9..0b5fa124bef2a8d53b88af18169020df11f0a68c 100644 (file)
@@ -813,7 +813,7 @@ xfs_vn_removexattr(
 }
 
 
-struct inode_operations xfs_inode_operations = {
+const struct inode_operations xfs_inode_operations = {
        .permission             = xfs_vn_permission,
        .truncate               = xfs_vn_truncate,
        .getattr                = xfs_vn_getattr,
@@ -824,7 +824,7 @@ struct inode_operations xfs_inode_operations = {
        .removexattr            = xfs_vn_removexattr,
 };
 
-struct inode_operations xfs_dir_inode_operations = {
+const struct inode_operations xfs_dir_inode_operations = {
        .create                 = xfs_vn_create,
        .lookup                 = xfs_vn_lookup,
        .link                   = xfs_vn_link,
@@ -843,7 +843,7 @@ struct inode_operations xfs_dir_inode_operations = {
        .removexattr            = xfs_vn_removexattr,
 };
 
-struct inode_operations xfs_symlink_inode_operations = {
+const struct inode_operations xfs_symlink_inode_operations = {
        .readlink               = generic_readlink,
        .follow_link            = xfs_vn_follow_link,
        .put_link               = xfs_vn_put_link,
index ad6173da567813c428ce5c159f180faedf61a097..95a69398fce03b572c53b69ea05123844a62c4ef 100644 (file)
@@ -18,9 +18,9 @@
 #ifndef __XFS_IOPS_H__
 #define __XFS_IOPS_H__
 
-extern struct inode_operations xfs_inode_operations;
-extern struct inode_operations xfs_dir_inode_operations;
-extern struct inode_operations xfs_symlink_inode_operations;
+extern const struct inode_operations xfs_inode_operations;
+extern const struct inode_operations xfs_dir_inode_operations;
+extern const struct inode_operations xfs_symlink_inode_operations;
 
 extern const struct file_operations xfs_file_operations;
 extern const struct file_operations xfs_dir_file_operations;
index 4c2632a8d31b97a4fe3cdac74669a106f359e116..e4ac016ad27299f813809839fb81ccee258b3aa5 100644 (file)
@@ -23,9 +23,9 @@
 #include <linux/coda_fs_i.h>
 
 /* operations */
-extern struct inode_operations coda_dir_inode_operations;
-extern struct inode_operations coda_file_inode_operations;
-extern struct inode_operations coda_ioctl_inode_operations;
+extern const struct inode_operations coda_dir_inode_operations;
+extern const struct inode_operations coda_file_inode_operations;
+extern const struct inode_operations coda_ioctl_inode_operations;
 
 extern const struct address_space_operations coda_file_aops;
 extern const struct address_space_operations coda_symlink_aops;
index 278ef4495819509748a2e1b3c53651202bbcf1f9..dfed8009ebff4913621ec00a8bbabb47af5f3d19 100644 (file)
@@ -36,7 +36,7 @@ static inline struct efs_sb_info *SUPER_INFO(struct super_block *sb)
 
 struct statfs;
 
-extern struct inode_operations efs_dir_inode_operations;
+extern const struct inode_operations efs_dir_inode_operations;
 extern const struct file_operations efs_dir_operations;
 extern const struct address_space_operations efs_symlink_aops;
 
index 11cca1bdc0c79840ab69c12b2a538d2a9770fb65..4eb18ac510aeb2e2be36b980da99751224f28e59 100644 (file)
@@ -868,16 +868,16 @@ do {                                                              \
 extern const struct file_operations ext3_dir_operations;
 
 /* file.c */
-extern struct inode_operations ext3_file_inode_operations;
+extern const struct inode_operations ext3_file_inode_operations;
 extern const struct file_operations ext3_file_operations;
 
 /* namei.c */
-extern struct inode_operations ext3_dir_inode_operations;
-extern struct inode_operations ext3_special_inode_operations;
+extern const struct inode_operations ext3_dir_inode_operations;
+extern const struct inode_operations ext3_special_inode_operations;
 
 /* symlink.c */
-extern struct inode_operations ext3_symlink_inode_operations;
-extern struct inode_operations ext3_fast_symlink_inode_operations;
+extern const struct inode_operations ext3_symlink_inode_operations;
+extern const struct inode_operations ext3_fast_symlink_inode_operations;
 
 
 #endif /* __KERNEL__ */
index 498503ee613d9d6d6b08d59f75f898320d1cf4ca..54c576d414c32b83d993942188e66b4171962f85 100644 (file)
@@ -955,16 +955,16 @@ do {                                                              \
 extern const struct file_operations ext4_dir_operations;
 
 /* file.c */
-extern struct inode_operations ext4_file_inode_operations;
+extern const struct inode_operations ext4_file_inode_operations;
 extern const struct file_operations ext4_file_operations;
 
 /* namei.c */
-extern struct inode_operations ext4_dir_inode_operations;
-extern struct inode_operations ext4_special_inode_operations;
+extern const struct inode_operations ext4_dir_inode_operations;
+extern const struct inode_operations ext4_special_inode_operations;
 
 /* symlink.c */
-extern struct inode_operations ext4_symlink_inode_operations;
-extern struct inode_operations ext4_fast_symlink_inode_operations;
+extern const struct inode_operations ext4_symlink_inode_operations;
+extern const struct inode_operations ext4_fast_symlink_inode_operations;
 
 /* extents.c */
 extern int ext4_ext_tree_init(handle_t *handle, struct inode *);
index 990adcbc0df24e61325e50109183688a14b5ba0b..bab891bb2270da0eb88ad2cc2207dcf5ed89f164 100644 (file)
@@ -551,7 +551,7 @@ struct inode {
        spinlock_t              i_lock; /* i_blocks, i_bytes, maybe i_size */
        struct mutex            i_mutex;
        struct rw_semaphore     i_alloc_sem;
-       struct inode_operations *i_op;
+       const struct inode_operations   *i_op;
        const struct file_operations    *i_fop; /* former ->i_op->default_file_ops */
        struct super_block      *i_sb;
        struct file_lock        *i_flock;
@@ -1828,7 +1828,7 @@ extern void page_put_link(struct dentry *, struct nameidata *, void *);
 extern int __page_symlink(struct inode *inode, const char *symname, int len,
                gfp_t gfp_mask);
 extern int page_symlink(struct inode *inode, const char *symname, int len);
-extern struct inode_operations page_symlink_inode_operations;
+extern const struct inode_operations page_symlink_inode_operations;
 extern int generic_readlink(struct dentry *, char __user *, int);
 extern void generic_fillattr(struct inode *, struct kstat *);
 extern int vfs_getattr(struct vfsmount *, struct dentry *, struct kstat *);
@@ -1873,7 +1873,7 @@ extern int simple_commit_write(struct file *file, struct page *page,
 extern struct dentry *simple_lookup(struct inode *, struct dentry *, struct nameidata *);
 extern ssize_t generic_read_dir(struct file *, char __user *, size_t, loff_t *);
 extern const struct file_operations simple_dir_operations;
-extern struct inode_operations simple_dir_inode_operations;
+extern const struct inode_operations simple_dir_inode_operations;
 struct tree_descr { char *name; const struct file_operations *ops; int mode; };
 struct dentry *d_alloc_name(struct dentry *, const char *);
 extern int simple_fill_super(struct super_block *, int, struct tree_descr *);
index 24a9ef1506b612c4e98d55522ce8140a5d3825a5..fa253fa73aa328e2dd21a507b03debcc77fc4b47 100644 (file)
@@ -234,7 +234,7 @@ struct msdos_sb_info {
        struct fat_mount_options options;
        struct nls_table *nls_disk;  /* Codepage used on disk */
        struct nls_table *nls_io;    /* Charset used for input and display */
-       void *dir_ops;               /* Opaque; default directory operations */
+       const void *dir_ops;                 /* Opaque; default directory operations */
        int dir_per_block;           /* dir entries per block */
        int dir_per_block_bits;      /* log2(dir_per_block) */
 
@@ -399,7 +399,7 @@ extern int fat_count_free_clusters(struct super_block *sb);
 extern int fat_generic_ioctl(struct inode *inode, struct file *filp,
                             unsigned int cmd, unsigned long arg);
 extern const struct file_operations fat_file_operations;
-extern struct inode_operations fat_file_inode_operations;
+extern const struct inode_operations fat_file_inode_operations;
 extern int fat_notify_change(struct dentry * dentry, struct iattr * attr);
 extern void fat_truncate(struct inode *inode);
 extern int fat_getattr(struct vfsmount *mnt, struct dentry *dentry,
@@ -413,7 +413,7 @@ extern struct inode *fat_build_inode(struct super_block *sb,
                        struct msdos_dir_entry *de, loff_t i_pos);
 extern int fat_sync_inode(struct inode *inode);
 extern int fat_fill_super(struct super_block *sb, void *data, int silent,
-                       struct inode_operations *fs_dir_inode_ops, int isvfat);
+                       const struct inode_operations *fs_dir_inode_ops, int isvfat);
 
 extern int fat_flush_inodes(struct super_block *sb, struct inode *i1,
                            struct inode *i2);
index 0ea7f89e613c1c6f95ac5fcbb71cdbcfa5f6b9d9..83e39eb054d3b62eb07c12c471cf7ca322d56f7c 100644 (file)
@@ -204,7 +204,7 @@ void ncp_update_inode(struct inode *, struct ncp_entry_info *);
 void ncp_update_inode2(struct inode *, struct ncp_entry_info *);
 
 /* linux/fs/ncpfs/dir.c */
-extern struct inode_operations ncp_dir_inode_operations;
+extern const struct inode_operations ncp_dir_inode_operations;
 extern const struct file_operations ncp_dir_operations;
 int ncp_conn_logged_in(struct super_block *);
 int ncp_date_dos2unix(__le16 time, __le16 date);
@@ -226,7 +226,7 @@ void ncp_lock_server(struct ncp_server *server);
 void ncp_unlock_server(struct ncp_server *server);
 
 /* linux/fs/ncpfs/file.c */
-extern struct inode_operations ncp_file_inode_operations;
+extern const struct inode_operations ncp_file_inode_operations;
 extern const struct file_operations ncp_file_operations;
 int ncp_make_open(struct inode *, int);
 
index c5d4084773e8bf321ddba31e1370bfe0ae7cce64..ed0f2eac8f5028fa3a9dc274a164cb51329d2dd3 100644 (file)
@@ -331,9 +331,9 @@ static inline void nfs_fattr_init(struct nfs_fattr *fattr)
 /*
  * linux/fs/nfs/file.c
  */
-extern struct inode_operations nfs_file_inode_operations;
+extern const struct inode_operations nfs_file_inode_operations;
 #ifdef CONFIG_NFS_V3
-extern struct inode_operations nfs3_file_inode_operations;
+extern const struct inode_operations nfs3_file_inode_operations;
 #endif /* CONFIG_NFS_V3 */
 extern const struct file_operations nfs_file_operations;
 extern const struct address_space_operations nfs_file_aops;
@@ -380,9 +380,9 @@ extern ssize_t nfs_file_direct_write(struct kiocb *iocb,
 /*
  * linux/fs/nfs/dir.c
  */
-extern struct inode_operations nfs_dir_inode_operations;
+extern const struct inode_operations nfs_dir_inode_operations;
 #ifdef CONFIG_NFS_V3
-extern struct inode_operations nfs3_dir_inode_operations;
+extern const struct inode_operations nfs3_dir_inode_operations;
 #endif /* CONFIG_NFS_V3 */
 extern const struct file_operations nfs_dir_operations;
 extern struct dentry_operations nfs_dentry_operations;
@@ -392,7 +392,7 @@ extern int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fh, struct nfs_
 /*
  * linux/fs/nfs/symlink.c
  */
-extern struct inode_operations nfs_symlink_inode_operations;
+extern const struct inode_operations nfs_symlink_inode_operations;
 
 /*
  * linux/fs/nfs/sysctl.c
@@ -409,8 +409,8 @@ extern void nfs_unregister_sysctl(void);
  * linux/fs/nfs/namespace.c
  */
 extern struct list_head nfs_automount_list;
-extern struct inode_operations nfs_mountpoint_inode_operations;
-extern struct inode_operations nfs_referral_inode_operations;
+extern const struct inode_operations nfs_mountpoint_inode_operations;
+extern const struct inode_operations nfs_referral_inode_operations;
 extern int nfs_mountpoint_expiry_timeout;
 extern void nfs_release_automount_timer(void);
 
index 9ee9da5e1cc9de834a4e81c9155b3e9e6b0f57ca..30d7116d601e8eb985dd34b478c6838d48e1b568 100644 (file)
@@ -767,8 +767,8 @@ struct nfs_access_entry;
 struct nfs_rpc_ops {
        int     version;                /* Protocol version */
        struct dentry_operations *dentry_ops;
-       struct inode_operations *dir_inode_ops;
-       struct inode_operations *file_inode_ops;
+       const struct inode_operations *dir_inode_ops;
+       const struct inode_operations *file_inode_ops;
 
        int     (*getroot) (struct nfs_server *, struct nfs_fh *,
                            struct nfs_fsinfo *);
index a0e31adf3abe1e6b2b457da037c1ceaf71658df4..4269de99e320afae47c4e96428636f07286668a6 100644 (file)
@@ -9,7 +9,7 @@
 
 struct phone_device {
        struct phone_device *next;
-       struct file_operations *f_op;
+       const struct file_operations *f_op;
        int (*open) (struct phone_device *, struct file *);
        int board;              /* Device private index */
        int minor;
index 87dec8fe6de900da1c495175144e21f99a1bf6b1..2e132473cbe5635caeeaa745a57df8887498e500 100644 (file)
@@ -55,8 +55,8 @@ struct proc_dir_entry {
        uid_t uid;
        gid_t gid;
        loff_t size;
-       struct inode_operations * proc_iops;
-       const struct file_operations * proc_fops;
+       const struct inode_operations *proc_iops;
+       const struct file_operations *proc_fops;
        get_info_t *get_info;
        struct module *owner;
        struct proc_dir_entry *next, *parent, *subdir;
index 0c7ac444fd3509961d6057ac48d3ef60a4e825d7..19bc9b8b6191eb1bd458fecb8e00595f966b14c2 100644 (file)
@@ -116,8 +116,8 @@ extern unsigned long qnx4_block_map(struct inode *inode, long iblock);
 
 extern struct buffer_head *qnx4_bread(struct inode *, int, int);
 
-extern struct inode_operations qnx4_file_inode_operations;
-extern struct inode_operations qnx4_dir_inode_operations;
+extern const struct inode_operations qnx4_file_inode_operations;
+extern const struct inode_operations qnx4_dir_inode_operations;
 extern const struct file_operations qnx4_file_operations;
 extern const struct file_operations qnx4_dir_operations;
 extern int qnx4_is_free(struct super_block *sb, long block);
index c3fc6caaad3f94bb196457feb20fa563c43f0848..965d5b3ea9eb3deaf583c4d986d45a9e3b70bc8c 100644 (file)
@@ -1949,9 +1949,9 @@ int reiserfs_global_version_in_proc(char *buffer, char **start, off_t offset,
 #endif
 
 /* dir.c */
-extern struct inode_operations reiserfs_dir_inode_operations;
-extern struct inode_operations reiserfs_symlink_inode_operations;
-extern struct inode_operations reiserfs_special_inode_operations;
+extern const struct inode_operations reiserfs_dir_inode_operations;
+extern const struct inode_operations reiserfs_symlink_inode_operations;
+extern const struct inode_operations reiserfs_special_inode_operations;
 extern const struct file_operations reiserfs_dir_operations;
 
 /* tail_conversion.c */
@@ -1963,7 +1963,7 @@ int indirect2direct(struct reiserfs_transaction_handle *, struct inode *,
 void reiserfs_unmap_buffer(struct buffer_head *);
 
 /* file.c */
-extern struct inode_operations reiserfs_file_inode_operations;
+extern const struct inode_operations reiserfs_file_inode_operations;
 extern const struct file_operations reiserfs_file_operations;
 extern const struct address_space_operations reiserfs_address_space_operations;
 
index 44c45449065cd10c8664d8d7e990fb1a41c40ced..dc2e9fe694183722ed3dbc29c59cefd8aef2cefb 100644 (file)
@@ -957,7 +957,7 @@ extern struct ufs_cg_private_info * ufs_load_cylinder (struct super_block *, uns
 extern void ufs_put_cylinder (struct super_block *, unsigned);
 
 /* dir.c */
-extern struct inode_operations ufs_dir_inode_operations;
+extern const struct inode_operations ufs_dir_inode_operations;
 extern int ufs_add_link (struct dentry *, struct inode *);
 extern ino_t ufs_inode_by_name(struct inode *, struct dentry *);
 extern int ufs_make_empty(struct inode *, struct inode *);
@@ -969,7 +969,7 @@ extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
                         struct page *page, struct inode *inode);
 
 /* file.c */
-extern struct inode_operations ufs_file_inode_operations;
+extern const struct inode_operations ufs_file_inode_operations;
 extern const struct file_operations ufs_file_operations;
 
 extern const struct address_space_operations ufs_aops;
@@ -996,7 +996,7 @@ extern void ufs_error (struct super_block *, const char *, const char *, ...) __
 extern void ufs_panic (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
 
 /* symlink.c */
-extern struct inode_operations ufs_fast_symlink_inode_operations;
+extern const struct inode_operations ufs_fast_symlink_inode_operations;
 
 /* truncate.c */
 extern int ufs_truncate (struct inode *, loff_t);