Skip to content

Commit a7a2c68

Browse files
Christoph Hellwigaxboe
authored andcommitted
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 <[email protected]> Reviewed-by: Jan Kara <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent ec6f34e commit a7a2c68

File tree

5 files changed

+4
-42
lines changed

5 files changed

+4
-42
lines changed

fs/hugetlbfs/inode.c

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,6 @@ static inline struct hugetlbfs_inode_info *HUGETLBFS_I(struct inode *inode)
6262
return container_of(inode, struct hugetlbfs_inode_info, vfs_inode);
6363
}
6464

65-
static struct backing_dev_info hugetlbfs_backing_dev_info = {
66-
.name = "hugetlbfs",
67-
.ra_pages = 0, /* No readahead */
68-
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
69-
};
70-
7165
int sysctl_hugetlb_shm_group;
7266

7367
enum {
@@ -498,7 +492,7 @@ static struct inode *hugetlbfs_get_inode(struct super_block *sb,
498492
lockdep_set_class(&inode->i_mapping->i_mmap_rwsem,
499493
&hugetlbfs_i_mmap_rwsem_key);
500494
inode->i_mapping->a_ops = &hugetlbfs_aops;
501-
inode->i_mapping->backing_dev_info =&hugetlbfs_backing_dev_info;
495+
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
502496
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
503497
inode->i_mapping->private_data = resv_map;
504498
info = HUGETLBFS_I(inode);
@@ -1032,10 +1026,6 @@ static int __init init_hugetlbfs_fs(void)
10321026
return -ENOTSUPP;
10331027
}
10341028

1035-
error = bdi_init(&hugetlbfs_backing_dev_info);
1036-
if (error)
1037-
return error;
1038-
10391029
error = -ENOMEM;
10401030
hugetlbfs_inode_cachep = kmem_cache_create("hugetlbfs_inode_cache",
10411031
sizeof(struct hugetlbfs_inode_info),
@@ -1071,7 +1061,6 @@ static int __init init_hugetlbfs_fs(void)
10711061
out:
10721062
kmem_cache_destroy(hugetlbfs_inode_cachep);
10731063
out2:
1074-
bdi_destroy(&hugetlbfs_backing_dev_info);
10751064
return error;
10761065
}
10771066

@@ -1091,7 +1080,6 @@ static void __exit exit_hugetlbfs_fs(void)
10911080
for_each_hstate(h)
10921081
kern_unmount(hugetlbfs_vfsmount[i++]);
10931082
unregister_filesystem(&hugetlbfs_fs_type);
1094-
bdi_destroy(&hugetlbfs_backing_dev_info);
10951083
}
10961084

10971085
module_init(init_hugetlbfs_fs)

fs/kernfs/inode.c

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ static const struct address_space_operations kernfs_aops = {
2424
.write_end = simple_write_end,
2525
};
2626

27-
static struct backing_dev_info kernfs_bdi = {
28-
.name = "kernfs",
29-
.ra_pages = 0, /* No readahead */
30-
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
31-
};
32-
3327
static const struct inode_operations kernfs_iops = {
3428
.permission = kernfs_iop_permission,
3529
.setattr = kernfs_iop_setattr,
@@ -40,12 +34,6 @@ static const struct inode_operations kernfs_iops = {
4034
.listxattr = kernfs_iop_listxattr,
4135
};
4236

43-
void __init kernfs_inode_init(void)
44-
{
45-
if (bdi_init(&kernfs_bdi))
46-
panic("failed to init kernfs_bdi");
47-
}
48-
4937
static struct kernfs_iattrs *kernfs_iattrs(struct kernfs_node *kn)
5038
{
5139
static DEFINE_MUTEX(iattr_mutex);
@@ -298,7 +286,7 @@ static void kernfs_init_inode(struct kernfs_node *kn, struct inode *inode)
298286
kernfs_get(kn);
299287
inode->i_private = kn;
300288
inode->i_mapping->a_ops = &kernfs_aops;
301-
inode->i_mapping->backing_dev_info = &kernfs_bdi;
289+
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
302290
inode->i_op = &kernfs_iops;
303291

304292
set_default_inode_attr(inode, kn->mode);

fs/kernfs/kernfs-internal.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ int kernfs_iop_removexattr(struct dentry *dentry, const char *name);
8888
ssize_t kernfs_iop_getxattr(struct dentry *dentry, const char *name, void *buf,
8989
size_t size);
9090
ssize_t kernfs_iop_listxattr(struct dentry *dentry, char *buf, size_t size);
91-
void kernfs_inode_init(void);
9291

9392
/*
9493
* dir.c

fs/kernfs/mount.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,5 +246,4 @@ void __init kernfs_init(void)
246246
kernfs_node_cache = kmem_cache_create("kernfs_node_cache",
247247
sizeof(struct kernfs_node),
248248
0, SLAB_PANIC, NULL);
249-
kernfs_inode_init();
250249
}

fs/ocfs2/dlmfs/dlmfs.c

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -390,12 +390,6 @@ static void dlmfs_evict_inode(struct inode *inode)
390390
ip->ip_conn = NULL;
391391
}
392392

393-
static struct backing_dev_info dlmfs_backing_dev_info = {
394-
.name = "ocfs2-dlmfs",
395-
.ra_pages = 0, /* No readahead */
396-
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
397-
};
398-
399393
static struct inode *dlmfs_get_root_inode(struct super_block *sb)
400394
{
401395
struct inode *inode = new_inode(sb);
@@ -404,7 +398,7 @@ static struct inode *dlmfs_get_root_inode(struct super_block *sb)
404398
if (inode) {
405399
inode->i_ino = get_next_ino();
406400
inode_init_owner(inode, NULL, mode);
407-
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
401+
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
408402
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
409403
inc_nlink(inode);
410404

@@ -428,7 +422,7 @@ static struct inode *dlmfs_get_inode(struct inode *parent,
428422

429423
inode->i_ino = get_next_ino();
430424
inode_init_owner(inode, parent, mode);
431-
inode->i_mapping->backing_dev_info = &dlmfs_backing_dev_info;
425+
inode->i_mapping->backing_dev_info = &noop_backing_dev_info;
432426
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
433427

434428
ip = DLMFS_I(inode);
@@ -643,10 +637,6 @@ static int __init init_dlmfs_fs(void)
643637
int status;
644638
int cleanup_inode = 0, cleanup_worker = 0;
645639

646-
status = bdi_init(&dlmfs_backing_dev_info);
647-
if (status)
648-
return status;
649-
650640
dlmfs_inode_cache = kmem_cache_create("dlmfs_inode_cache",
651641
sizeof(struct dlmfs_inode_private),
652642
0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|
@@ -673,7 +663,6 @@ static int __init init_dlmfs_fs(void)
673663
kmem_cache_destroy(dlmfs_inode_cache);
674664
if (cleanup_worker)
675665
destroy_workqueue(user_dlm_worker);
676-
bdi_destroy(&dlmfs_backing_dev_info);
677666
} else
678667
printk("OCFS2 User DLM kernel interface loaded\n");
679668
return status;
@@ -693,7 +682,6 @@ static void __exit exit_dlmfs_fs(void)
693682
rcu_barrier();
694683
kmem_cache_destroy(dlmfs_inode_cache);
695684

696-
bdi_destroy(&dlmfs_backing_dev_info);
697685
}
698686

699687
MODULE_AUTHOR("Oracle");

0 commit comments

Comments
 (0)