fs: deduplicate noop_backing_dev_info
hugetlbfs, kernfs and dlmfs can simply use noop_backing_dev_info instead of creating a local duplicate. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
ec6f34e5b5
commit
a7a2c680a2
|
@ -62,12 +62,6 @@ static inline struct hugetlbfs_inode_info *HUGETLBFS_I(struct inode *inode)
|
|||
return container_of(inode, struct hugetlbfs_inode_info, vfs_inode);
|
||||
}
|
||||
|
||||
static struct backing_dev_info hugetlbfs_backing_dev_info = {
|
||||
.name = "hugetlbfs",
|
||||
.ra_pages = 0, /* No readahead */
|
||||
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
|
||||
};
|
||||
|
||||
int sysctl_hugetlb_shm_group;
|
||||
|
||||
enum {
|
||||
|
@ -498,7 +492,7 @@ static struct inode *hugetlbfs_get_inode(struct super_block *sb,
|
|||
lockdep_set_class(&inode->i_mapping->i_mmap_rwsem,
|
||||
&hugetlbfs_i_mmap_rwsem_key);
|
||||
inode->i_mapping->a_ops = &hugetlbfs_aops;
|
||||
inode->i_mapping->backing_dev_info =&hugetlbfs_backing_dev_info;
|
||||
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
inode->i_mapping->private_data = resv_map;
|
||||
info = HUGETLBFS_I(inode);
|
||||
|
@ -1032,10 +1026,6 @@ static int __init init_hugetlbfs_fs(void)
|
|||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
error = bdi_init(&hugetlbfs_backing_dev_info);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
error = -ENOMEM;
|
||||
hugetlbfs_inode_cachep = kmem_cache_create("hugetlbfs_inode_cache",
|
||||
sizeof(struct hugetlbfs_inode_info),
|
||||
|
@ -1071,7 +1061,6 @@ static int __init init_hugetlbfs_fs(void)
|
|||
out:
|
||||
kmem_cache_destroy(hugetlbfs_inode_cachep);
|
||||
out2:
|
||||
bdi_destroy(&hugetlbfs_backing_dev_info);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -1091,7 +1080,6 @@ static void __exit exit_hugetlbfs_fs(void)
|
|||
for_each_hstate(h)
|
||||
kern_unmount(hugetlbfs_vfsmount[i++]);
|
||||
unregister_filesystem(&hugetlbfs_fs_type);
|
||||
bdi_destroy(&hugetlbfs_backing_dev_info);
|
||||
}
|
||||
|
||||
module_init(init_hugetlbfs_fs)
|
||||
|
|
|
@ -24,12 +24,6 @@ static const struct address_space_operations kernfs_aops = {
|
|||
.write_end = simple_write_end,
|
||||
};
|
||||
|
||||
static struct backing_dev_info kernfs_bdi = {
|
||||
.name = "kernfs",
|
||||
.ra_pages = 0, /* No readahead */
|
||||
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
|
||||
};
|
||||
|
||||
static const struct inode_operations kernfs_iops = {
|
||||
.permission = kernfs_iop_permission,
|
||||
.setattr = kernfs_iop_setattr,
|
||||
|
@ -40,12 +34,6 @@ static const struct inode_operations kernfs_iops = {
|
|||
.listxattr = kernfs_iop_listxattr,
|
||||
};
|
||||
|
||||
void __init kernfs_inode_init(void)
|
||||
{
|
||||
if (bdi_init(&kernfs_bdi))
|
||||
panic("failed to init kernfs_bdi");
|
||||
}
|
||||
|
||||
static struct kernfs_iattrs *kernfs_iattrs(struct kernfs_node *kn)
|
||||
{
|
||||
static DEFINE_MUTEX(iattr_mutex);
|
||||
|
@ -298,7 +286,7 @@ static void kernfs_init_inode(struct kernfs_node *kn, struct inode *inode)
|
|||
kernfs_get(kn);
|
||||
inode->i_private = kn;
|
||||
inode->i_mapping->a_ops = &kernfs_aops;
|
||||
inode->i_mapping->backing_dev_info = &kernfs_bdi;
|
||||
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
|
||||
inode->i_op = &kernfs_iops;
|
||||
|
||||
set_default_inode_attr(inode, kn->mode);
|
||||
|
|
|
@ -88,7 +88,6 @@ int kernfs_iop_removexattr(struct dentry *dentry, const char *name);
|
|||
ssize_t kernfs_iop_getxattr(struct dentry *dentry, const char *name, void *buf,
|
||||
size_t size);
|
||||
ssize_t kernfs_iop_listxattr(struct dentry *dentry, char *buf, size_t size);
|
||||
void kernfs_inode_init(void);
|
||||
|
||||
/*
|
||||
* dir.c
|
||||
|
|
|
@ -246,5 +246,4 @@ void __init kernfs_init(void)
|
|||
kernfs_node_cache = kmem_cache_create("kernfs_node_cache",
|
||||
sizeof(struct kernfs_node),
|
||||
0, SLAB_PANIC, NULL);
|
||||
kernfs_inode_init();
|
||||
}
|
||||
|
|
|
@ -390,12 +390,6 @@ clear_fields:
|
|||
ip->ip_conn = NULL;
|
||||
}
|
||||
|
||||
static struct backing_dev_info dlmfs_backing_dev_info = {
|
||||
.name = "ocfs2-dlmfs",
|
||||
.ra_pages = 0, /* No readahead */
|
||||
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
|
||||
};
|
||||
|
||||
static struct inode *dlmfs_get_root_inode(struct super_block *sb)
|
||||
{
|
||||
struct inode *inode = new_inode(sb);
|
||||
|
@ -404,7 +398,7 @@ static struct inode *dlmfs_get_root_inode(struct super_block *sb)
|
|||
if (inode) {
|
||||
inode->i_ino = get_next_ino();
|
||||
inode_init_owner(inode, NULL, mode);
|
||||
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
|
||||
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
inc_nlink(inode);
|
||||
|
||||
|
@ -428,7 +422,7 @@ static struct inode *dlmfs_get_inode(struct inode *parent,
|
|||
|
||||
inode->i_ino = get_next_ino();
|
||||
inode_init_owner(inode, parent, mode);
|
||||
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
|
||||
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
|
||||
ip = DLMFS_I(inode);
|
||||
|
@ -643,10 +637,6 @@ static int __init init_dlmfs_fs(void)
|
|||
int status;
|
||||
int cleanup_inode = 0, cleanup_worker = 0;
|
||||
|
||||
status = bdi_init(&dlmfs_backing_dev_info);
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
dlmfs_inode_cache = kmem_cache_create("dlmfs_inode_cache",
|
||||
sizeof(struct dlmfs_inode_private),
|
||||
0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|
|
||||
|
@ -673,7 +663,6 @@ bail:
|
|||
kmem_cache_destroy(dlmfs_inode_cache);
|
||||
if (cleanup_worker)
|
||||
destroy_workqueue(user_dlm_worker);
|
||||
bdi_destroy(&dlmfs_backing_dev_info);
|
||||
} else
|
||||
printk("OCFS2 User DLM kernel interface loaded\n");
|
||||
return status;
|
||||
|
@ -693,7 +682,6 @@ static void __exit exit_dlmfs_fs(void)
|
|||
rcu_barrier();
|
||||
kmem_cache_destroy(dlmfs_inode_cache);
|
||||
|
||||
bdi_destroy(&dlmfs_backing_dev_info);
|
||||
}
|
||||
|
||||
MODULE_AUTHOR("Oracle");
|
||||
|
|
Loading…
Reference in New Issue