From: Jan Kara <jack@suse.cz>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@fb.com>, David Howells <dhowells@redhat.com>,
Tejun Heo <tj@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org,
ceph-devel@vger.kernel.org
Subject: Re: [PATCH 01/12] fs: deduplicate noop_backing_dev_info
Date: Wed, 14 Jan 2015 13:41:13 +0100 [thread overview]
Message-ID: <20150114124113.GD10215@quack.suse.cz> (raw)
In-Reply-To: <1421228561-16857-2-git-send-email-hch@lst.de>
On Wed 14-01-15 10:42:30, Christoph Hellwig wrote:
> hugetlbfs, kernfs and dlmfs can simply use noop_backing_dev_info instead
> of creating a local duplicate.
Looks good.
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Acked-by: Tejun Heo <tj@kernel.org>
> ---
> fs/hugetlbfs/inode.c | 14 +-------------
> fs/kernfs/inode.c | 14 +-------------
> fs/kernfs/kernfs-internal.h | 1 -
> fs/kernfs/mount.c | 1 -
> fs/ocfs2/dlmfs/dlmfs.c | 16 ++--------------
> 5 files changed, 4 insertions(+), 42 deletions(-)
>
> diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
> index 5eba47f..de7c95c 100644
> --- a/fs/hugetlbfs/inode.c
> +++ b/fs/hugetlbfs/inode.c
> @@ -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)
> diff --git a/fs/kernfs/inode.c b/fs/kernfs/inode.c
> index 9852176..06f0688 100644
> --- a/fs/kernfs/inode.c
> +++ b/fs/kernfs/inode.c
> @@ -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);
> diff --git a/fs/kernfs/kernfs-internal.h b/fs/kernfs/kernfs-internal.h
> index dc84a3e..af9fa74 100644
> --- a/fs/kernfs/kernfs-internal.h
> +++ b/fs/kernfs/kernfs-internal.h
> @@ -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
> diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c
> index f973ae9..8eaf417 100644
> --- a/fs/kernfs/mount.c
> +++ b/fs/kernfs/mount.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();
> }
> diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c
> index 57c40e3..6000d30 100644
> --- a/fs/ocfs2/dlmfs/dlmfs.c
> +++ b/fs/ocfs2/dlmfs/dlmfs.c
> @@ -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");
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2015-01-14 12:41 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 9:42 backing_dev_info cleanups & lifetime rule fixes V2 Christoph Hellwig
2015-01-14 9:42 ` [PATCH 01/12] fs: deduplicate noop_backing_dev_info Christoph Hellwig
2015-01-14 12:41 ` Jan Kara [this message]
2015-01-14 9:42 ` [PATCH 02/12] fs: kill BDI_CAP_SWAP_BACKED Christoph Hellwig
2015-01-14 12:47 ` Jan Kara
2015-01-14 9:42 ` [PATCH 03/12] fs: introduce f_op->mmap_capabilities for nommu mmap support Christoph Hellwig
2015-01-16 4:06 ` Brian Norris
2015-01-14 9:42 ` [PATCH 04/12] block_dev: only write bdev inode on close Christoph Hellwig
2015-01-14 12:58 ` Jan Kara
2015-01-14 9:42 ` [PATCH 05/12] block_dev: get bdev inode bdi directly from the block device Christoph Hellwig
2015-01-14 13:00 ` Jan Kara
2015-01-14 9:42 ` [PATCH 06/12] nilfs2: set up s_bdi like the generic mount_bdev code Christoph Hellwig
2015-01-14 13:05 ` Jan Kara
2015-01-14 9:42 ` [PATCH 07/12] fs: export inode_to_bdi and use it in favor of mapping->backing_dev_info Christoph Hellwig
2015-01-14 13:31 ` Jan Kara
2015-01-14 9:42 ` [PATCH 08/12] fs: remove mapping->backing_dev_info Christoph Hellwig
2015-01-15 10:57 ` Jan Kara
2015-01-14 9:42 ` [PATCH 09/12] ceph: remove call to bdi_unregister Christoph Hellwig
2015-01-14 13:44 ` Jan Kara
2015-01-14 9:42 ` [PATCH 10/12] nfs: don't call bdi_unregister Christoph Hellwig
2015-01-14 13:51 ` Jan Kara
2015-01-14 9:42 ` [PATCH 11/12] fs: don't reassign dirty inodes to default_backing_dev_info Christoph Hellwig
2015-01-14 13:59 ` Jan Kara
2015-03-21 15:11 ` Mike Snitzer
2015-03-23 22:40 ` Mike Snitzer
2015-03-24 6:53 ` Christoph Hellwig
2015-01-14 9:42 ` [PATCH 12/12] fs: remove default_backing_dev_info Christoph Hellwig
2015-01-14 14:05 ` Jan Kara
2015-01-20 21:08 ` backing_dev_info cleanups & lifetime rule fixes V2 Jens Axboe
2015-02-01 6:31 ` Al Viro
2015-02-02 8:06 ` Christoph Hellwig
2015-02-02 17:08 ` Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2015-01-08 17:45 backing_dev_info cleanups & lifetime rule fixes Christoph Hellwig
2015-01-08 17:45 ` [PATCH 01/12] fs: deduplicate noop_backing_dev_info Christoph Hellwig
2015-01-11 17:00 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150114124113.GD10215@quack.suse.cz \
--to=jack@suse.cz \
--cc=axboe@fb.com \
--cc=ceph-devel@vger.kernel.org \
--cc=dhowells@redhat.com \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).