mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
fs: remove default_backing_dev_info
Now that default_backing_dev_info is not used for writeback purposes we can git rid of it easily: - instead of using it's name for tracing unregistered bdi we just use "unknown" - btrfs and ceph can just assign the default read ahead window themselves like several other filesystems already do. - we can assign noop_backing_dev_info as the default one in alloc_super. All filesystems already either assigned their own or noop_backing_dev_info. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Tejun Heo <tj@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
c4db59d31e
commit
df0ce26cb4
@ -1719,7 +1719,7 @@ static int setup_bdi(struct btrfs_fs_info *info, struct backing_dev_info *bdi)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
bdi->ra_pages = default_backing_dev_info.ra_pages;
|
||||
bdi->ra_pages = VM_MAX_READAHEAD * 1024 / PAGE_CACHE_SIZE;
|
||||
bdi->congested_fn = btrfs_congested_fn;
|
||||
bdi->congested_data = info;
|
||||
return 0;
|
||||
|
@ -899,7 +899,7 @@ static int ceph_register_bdi(struct super_block *sb,
|
||||
>> PAGE_SHIFT;
|
||||
else
|
||||
fsc->backing_dev_info.ra_pages =
|
||||
default_backing_dev_info.ra_pages;
|
||||
VM_MAX_READAHEAD * 1024 / PAGE_CACHE_SIZE;
|
||||
|
||||
err = bdi_register(&fsc->backing_dev_info, NULL, "ceph-%ld",
|
||||
atomic_long_inc_return(&bdi_seq));
|
||||
|
@ -185,8 +185,8 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags)
|
||||
}
|
||||
init_waitqueue_head(&s->s_writers.wait);
|
||||
init_waitqueue_head(&s->s_writers.wait_unfrozen);
|
||||
s->s_bdi = &noop_backing_dev_info;
|
||||
s->s_flags = flags;
|
||||
s->s_bdi = &default_backing_dev_info;
|
||||
INIT_HLIST_NODE(&s->s_instances);
|
||||
INIT_HLIST_BL_HEAD(&s->s_anon);
|
||||
INIT_LIST_HEAD(&s->s_inodes);
|
||||
@ -863,10 +863,7 @@ EXPORT_SYMBOL(free_anon_bdev);
|
||||
|
||||
int set_anon_super(struct super_block *s, void *data)
|
||||
{
|
||||
int error = get_anon_bdev(&s->s_dev);
|
||||
if (!error)
|
||||
s->s_bdi = &noop_backing_dev_info;
|
||||
return error;
|
||||
return get_anon_bdev(&s->s_dev);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(set_anon_super);
|
||||
@ -1111,7 +1108,6 @@ mount_fs(struct file_system_type *type, int flags, const char *name, void *data)
|
||||
sb = root->d_sb;
|
||||
BUG_ON(!sb);
|
||||
WARN_ON(!sb->s_bdi);
|
||||
WARN_ON(sb->s_bdi == &default_backing_dev_info);
|
||||
sb->s_flags |= MS_BORN;
|
||||
|
||||
error = security_sb_kern_mount(sb, flags, secdata);
|
||||
|
@ -241,7 +241,6 @@ int bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned int max_ratio);
|
||||
#define BDI_CAP_NO_ACCT_AND_WRITEBACK \
|
||||
(BDI_CAP_NO_WRITEBACK | BDI_CAP_NO_ACCT_DIRTY | BDI_CAP_NO_ACCT_WB)
|
||||
|
||||
extern struct backing_dev_info default_backing_dev_info;
|
||||
extern struct backing_dev_info noop_backing_dev_info;
|
||||
|
||||
int writeback_in_progress(struct backing_dev_info *bdi);
|
||||
|
@ -156,10 +156,8 @@ DECLARE_EVENT_CLASS(writeback_work_class,
|
||||
__field(int, reason)
|
||||
),
|
||||
TP_fast_assign(
|
||||
struct device *dev = bdi->dev;
|
||||
if (!dev)
|
||||
dev = default_backing_dev_info.dev;
|
||||
strncpy(__entry->name, dev_name(dev), 32);
|
||||
strncpy(__entry->name,
|
||||
bdi->dev ? dev_name(bdi->dev) : "(unknown)", 32);
|
||||
__entry->nr_pages = work->nr_pages;
|
||||
__entry->sb_dev = work->sb ? work->sb->s_dev : 0;
|
||||
__entry->sync_mode = work->sync_mode;
|
||||
|
@ -14,12 +14,6 @@
|
||||
|
||||
static atomic_long_t bdi_seq = ATOMIC_LONG_INIT(0);
|
||||
|
||||
struct backing_dev_info default_backing_dev_info = {
|
||||
.name = "default",
|
||||
.ra_pages = VM_MAX_READAHEAD * 1024 / PAGE_CACHE_SIZE,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(default_backing_dev_info);
|
||||
|
||||
struct backing_dev_info noop_backing_dev_info = {
|
||||
.name = "noop",
|
||||
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK,
|
||||
@ -250,9 +244,6 @@ static int __init default_bdi_init(void)
|
||||
if (!bdi_wq)
|
||||
return -ENOMEM;
|
||||
|
||||
err = bdi_init(&default_backing_dev_info);
|
||||
if (!err)
|
||||
bdi_register(&default_backing_dev_info, NULL, "default");
|
||||
err = bdi_init(&noop_backing_dev_info);
|
||||
|
||||
return err;
|
||||
|
Loading…
Reference in New Issue
Block a user