diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2007-02-12 03:55:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:46 -0500 |
commit | 754661f143e70d66eae6c48532ca245aa05dec0e (patch) | |
tree | c3ed0f7f96061931e497ed92d2b21294756b4831 /fs/ext2 | |
parent | 9c2e08c592cd357a8330c34def1e8ecfdcf53275 (diff) |
[PATCH] mark struct inode_operations const 1
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>
Diffstat (limited to 'fs/ext2')
-rw-r--r-- | fs/ext2/ext2.h | 10 | ||||
-rw-r--r-- | fs/ext2/file.c | 2 | ||||
-rw-r--r-- | fs/ext2/namei.c | 4 | ||||
-rw-r--r-- | fs/ext2/symlink.c | 4 |
4 files changed, 10 insertions, 10 deletions
diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index c19ac153f56b..e2a0ea50af1d 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h | |||
@@ -158,7 +158,7 @@ extern void ext2_write_super (struct super_block *); | |||
158 | extern const struct file_operations ext2_dir_operations; | 158 | extern const struct file_operations ext2_dir_operations; |
159 | 159 | ||
160 | /* file.c */ | 160 | /* file.c */ |
161 | extern struct inode_operations ext2_file_inode_operations; | 161 | extern const struct inode_operations ext2_file_inode_operations; |
162 | extern const struct file_operations ext2_file_operations; | 162 | extern const struct file_operations ext2_file_operations; |
163 | extern const struct file_operations ext2_xip_file_operations; | 163 | extern const struct file_operations ext2_xip_file_operations; |
164 | 164 | ||
@@ -168,9 +168,9 @@ extern const struct address_space_operations ext2_aops_xip; | |||
168 | extern const struct address_space_operations ext2_nobh_aops; | 168 | extern const struct address_space_operations ext2_nobh_aops; |
169 | 169 | ||
170 | /* namei.c */ | 170 | /* namei.c */ |
171 | extern struct inode_operations ext2_dir_inode_operations; | 171 | extern const struct inode_operations ext2_dir_inode_operations; |
172 | extern struct inode_operations ext2_special_inode_operations; | 172 | extern const struct inode_operations ext2_special_inode_operations; |
173 | 173 | ||
174 | /* symlink.c */ | 174 | /* symlink.c */ |
175 | extern struct inode_operations ext2_fast_symlink_inode_operations; | 175 | extern const struct inode_operations ext2_fast_symlink_inode_operations; |
176 | extern struct inode_operations ext2_symlink_inode_operations; | 176 | extern const struct inode_operations ext2_symlink_inode_operations; |
diff --git a/fs/ext2/file.c b/fs/ext2/file.c index 2dba473c524a..566d4e2d3852 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c | |||
@@ -75,7 +75,7 @@ const struct file_operations ext2_xip_file_operations = { | |||
75 | }; | 75 | }; |
76 | #endif | 76 | #endif |
77 | 77 | ||
78 | struct inode_operations ext2_file_inode_operations = { | 78 | const struct inode_operations ext2_file_inode_operations = { |
79 | .truncate = ext2_truncate, | 79 | .truncate = ext2_truncate, |
80 | #ifdef CONFIG_EXT2_FS_XATTR | 80 | #ifdef CONFIG_EXT2_FS_XATTR |
81 | .setxattr = generic_setxattr, | 81 | .setxattr = generic_setxattr, |
diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c index e1af5b4cf80c..e69beed839ac 100644 --- a/fs/ext2/namei.c +++ b/fs/ext2/namei.c | |||
@@ -373,7 +373,7 @@ out: | |||
373 | return err; | 373 | return err; |
374 | } | 374 | } |
375 | 375 | ||
376 | struct inode_operations ext2_dir_inode_operations = { | 376 | const struct inode_operations ext2_dir_inode_operations = { |
377 | .create = ext2_create, | 377 | .create = ext2_create, |
378 | .lookup = ext2_lookup, | 378 | .lookup = ext2_lookup, |
379 | .link = ext2_link, | 379 | .link = ext2_link, |
@@ -393,7 +393,7 @@ struct inode_operations ext2_dir_inode_operations = { | |||
393 | .permission = ext2_permission, | 393 | .permission = ext2_permission, |
394 | }; | 394 | }; |
395 | 395 | ||
396 | struct inode_operations ext2_special_inode_operations = { | 396 | const struct inode_operations ext2_special_inode_operations = { |
397 | #ifdef CONFIG_EXT2_FS_XATTR | 397 | #ifdef CONFIG_EXT2_FS_XATTR |
398 | .setxattr = generic_setxattr, | 398 | .setxattr = generic_setxattr, |
399 | .getxattr = generic_getxattr, | 399 | .getxattr = generic_getxattr, |
diff --git a/fs/ext2/symlink.c b/fs/ext2/symlink.c index 1e67d87cfa91..4e2426e22bbe 100644 --- a/fs/ext2/symlink.c +++ b/fs/ext2/symlink.c | |||
@@ -28,7 +28,7 @@ static void *ext2_follow_link(struct dentry *dentry, struct nameidata *nd) | |||
28 | return NULL; | 28 | return NULL; |
29 | } | 29 | } |
30 | 30 | ||
31 | struct inode_operations ext2_symlink_inode_operations = { | 31 | const struct inode_operations ext2_symlink_inode_operations = { |
32 | .readlink = generic_readlink, | 32 | .readlink = generic_readlink, |
33 | .follow_link = page_follow_link_light, | 33 | .follow_link = page_follow_link_light, |
34 | .put_link = page_put_link, | 34 | .put_link = page_put_link, |
@@ -40,7 +40,7 @@ struct inode_operations ext2_symlink_inode_operations = { | |||
40 | #endif | 40 | #endif |
41 | }; | 41 | }; |
42 | 42 | ||
43 | struct inode_operations ext2_fast_symlink_inode_operations = { | 43 | const struct inode_operations ext2_fast_symlink_inode_operations = { |
44 | .readlink = generic_readlink, | 44 | .readlink = generic_readlink, |
45 | .follow_link = ext2_follow_link, | 45 | .follow_link = ext2_follow_link, |
46 | #ifdef CONFIG_EXT2_FS_XATTR | 46 | #ifdef CONFIG_EXT2_FS_XATTR |