[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>
Tento commit je obsažen v:

odevzdal
Linus Torvalds

rodič
99ac48f54a
revize
4b6f5d20b0
@@ -32,7 +32,7 @@ static int afs_d_delete(struct dentry *dentry);
|
||||
static int afs_dir_lookup_filldir(void *_cookie, const char *name, int nlen,
|
||||
loff_t fpos, ino_t ino, unsigned dtype);
|
||||
|
||||
struct file_operations afs_dir_file_operations = {
|
||||
const struct file_operations afs_dir_file_operations = {
|
||||
.open = afs_dir_open,
|
||||
.readdir = afs_dir_readdir,
|
||||
};
|
||||
|
@@ -64,7 +64,7 @@ extern struct cachefs_index_def afs_cache_cell_index_def;
|
||||
* dir.c
|
||||
*/
|
||||
extern struct inode_operations afs_dir_inode_operations;
|
||||
extern struct file_operations afs_dir_file_operations;
|
||||
extern const struct file_operations afs_dir_file_operations;
|
||||
|
||||
/*
|
||||
* file.c
|
||||
@@ -105,7 +105,7 @@ extern struct cachefs_netfs afs_cache_netfs;
|
||||
* mntpt.c
|
||||
*/
|
||||
extern struct inode_operations afs_mntpt_inode_operations;
|
||||
extern struct file_operations afs_mntpt_file_operations;
|
||||
extern const struct file_operations afs_mntpt_file_operations;
|
||||
extern struct afs_timer afs_mntpt_expiry_timer;
|
||||
extern struct afs_timer_ops afs_mntpt_expiry_timer_ops;
|
||||
extern unsigned long afs_mntpt_expiry_timeout;
|
||||
|
@@ -32,7 +32,7 @@ static struct dentry *afs_mntpt_lookup(struct inode *dir,
|
||||
static int afs_mntpt_open(struct inode *inode, struct file *file);
|
||||
static void *afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd);
|
||||
|
||||
struct file_operations afs_mntpt_file_operations = {
|
||||
const struct file_operations afs_mntpt_file_operations = {
|
||||
.open = afs_mntpt_open,
|
||||
};
|
||||
|
||||
|
@@ -37,7 +37,7 @@ static struct seq_operations afs_proc_cells_ops = {
|
||||
.show = afs_proc_cells_show,
|
||||
};
|
||||
|
||||
static struct file_operations afs_proc_cells_fops = {
|
||||
static const struct file_operations afs_proc_cells_fops = {
|
||||
.open = afs_proc_cells_open,
|
||||
.read = seq_read,
|
||||
.write = afs_proc_cells_write,
|
||||
@@ -53,7 +53,7 @@ static ssize_t afs_proc_rootcell_write(struct file *file,
|
||||
const char __user *buf,
|
||||
size_t size, loff_t *_pos);
|
||||
|
||||
static struct file_operations afs_proc_rootcell_fops = {
|
||||
static const struct file_operations afs_proc_rootcell_fops = {
|
||||
.open = afs_proc_rootcell_open,
|
||||
.read = afs_proc_rootcell_read,
|
||||
.write = afs_proc_rootcell_write,
|
||||
@@ -77,7 +77,7 @@ static struct seq_operations afs_proc_cell_volumes_ops = {
|
||||
.show = afs_proc_cell_volumes_show,
|
||||
};
|
||||
|
||||
static struct file_operations afs_proc_cell_volumes_fops = {
|
||||
static const struct file_operations afs_proc_cell_volumes_fops = {
|
||||
.open = afs_proc_cell_volumes_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
@@ -101,7 +101,7 @@ static struct seq_operations afs_proc_cell_vlservers_ops = {
|
||||
.show = afs_proc_cell_vlservers_show,
|
||||
};
|
||||
|
||||
static struct file_operations afs_proc_cell_vlservers_fops = {
|
||||
static const struct file_operations afs_proc_cell_vlservers_fops = {
|
||||
.open = afs_proc_cell_vlservers_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
@@ -124,7 +124,7 @@ static struct seq_operations afs_proc_cell_servers_ops = {
|
||||
.show = afs_proc_cell_servers_show,
|
||||
};
|
||||
|
||||
static struct file_operations afs_proc_cell_servers_fops = {
|
||||
static const struct file_operations afs_proc_cell_servers_fops = {
|
||||
.open = afs_proc_cell_servers_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele