[PATCH] Make most file operations structs in fs/ const
This is a conversion to make the various file_operations structs in fs/ const. Basically a regexp job, with a few manual fixups The goal is both to increase correctness (harder to accidentally write to shared datastructures) and reducing the false sharing of cachelines with things that get dirty in .data (while .rodata is nicely read only and thus cache clean) Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
99ac48f54a
commit
4b6f5d20b0
@@ -163,7 +163,7 @@ static int release(struct inode * inode, struct file * file)
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct file_operations bin_fops = {
|
||||
const struct file_operations bin_fops = {
|
||||
.read = read,
|
||||
.write = write,
|
||||
.mmap = mmap,
|
||||
|
@@ -503,7 +503,7 @@ static loff_t sysfs_dir_lseek(struct file * file, loff_t offset, int origin)
|
||||
return offset;
|
||||
}
|
||||
|
||||
struct file_operations sysfs_dir_operations = {
|
||||
const struct file_operations sysfs_dir_operations = {
|
||||
.open = sysfs_dir_open,
|
||||
.release = sysfs_dir_close,
|
||||
.llseek = sysfs_dir_lseek,
|
||||
|
@@ -348,7 +348,7 @@ static int sysfs_release(struct inode * inode, struct file * filp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct file_operations sysfs_file_operations = {
|
||||
const struct file_operations sysfs_file_operations = {
|
||||
.read = sysfs_read_file,
|
||||
.write = sysfs_write_file,
|
||||
.llseek = generic_file_llseek,
|
||||
|
@@ -21,9 +21,9 @@ extern int sysfs_setattr(struct dentry *dentry, struct iattr *iattr);
|
||||
|
||||
extern struct rw_semaphore sysfs_rename_sem;
|
||||
extern struct super_block * sysfs_sb;
|
||||
extern struct file_operations sysfs_dir_operations;
|
||||
extern struct file_operations sysfs_file_operations;
|
||||
extern struct file_operations bin_fops;
|
||||
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;
|
||||
|
||||
|
Reference in New Issue
Block a user