linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: <linux-fsdevel@vger.kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>,
	linux-block@vger.kernel.org, Jan Kara <jack@suse.cz>,
	Richard Weinberger <richard@nod.at>,
	Artem Bityutskiy <dedekind1@gmail.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-mtd@lists.infradead.org
Subject: [PATCH 22/24] ubifs: Convert to separately allocated bdi
Date: Thu,  2 Feb 2017 18:34:20 +0100	[thread overview]
Message-ID: <20170202173422.3240-23-jack@suse.cz> (raw)
In-Reply-To: <20170202173422.3240-1-jack@suse.cz>

Allocate struct backing_dev_info separately instead of embedding it
inside the superblock. This unifies handling of bdi among users.

CC: Richard Weinberger <richard@nod.at>
CC: Artem Bityutskiy <dedekind1@gmail.com>
CC: Adrian Hunter <adrian.hunter@intel.com>
CC: linux-mtd@lists.infradead.org
Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/ubifs/super.c | 23 +++++++----------------
 fs/ubifs/ubifs.h |  3 ---
 2 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index e08aa04fc835..34810eb52b22 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -1827,7 +1827,6 @@ static void ubifs_put_super(struct super_block *sb)
 	}
 
 	ubifs_umount(c);
-	bdi_destroy(&c->bdi);
 	ubi_close_volume(c->ubi);
 	mutex_unlock(&c->umount_mutex);
 }
@@ -2019,29 +2018,23 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
 		goto out;
 	}
 
+	err = ubifs_parse_options(c, data, 0);
+	if (err)
+		goto out_close;
+
 	/*
 	 * UBIFS provides 'backing_dev_info' in order to disable read-ahead. For
 	 * UBIFS, I/O is not deferred, it is done immediately in readpage,
 	 * which means the user would have to wait not just for their own I/O
 	 * but the read-ahead I/O as well i.e. completely pointless.
 	 *
-	 * Read-ahead will be disabled because @c->bdi.ra_pages is 0.
+	 * Read-ahead will be disabled because @sb->s_bdi->ra_pages is 0.
 	 */
-	c->bdi.name = "ubifs",
-	c->bdi.capabilities = 0;
-	err  = bdi_init(&c->bdi);
+	err = super_setup_bdi_name(sb, "ubifs_%d_%d", c->vi.ubi_num,
+				   c->vi.vol_id);
 	if (err)
 		goto out_close;
-	err = bdi_register(&c->bdi, NULL, "ubifs_%d_%d",
-			   c->vi.ubi_num, c->vi.vol_id);
-	if (err)
-		goto out_bdi;
-
-	err = ubifs_parse_options(c, data, 0);
-	if (err)
-		goto out_bdi;
 
-	sb->s_bdi = &c->bdi;
 	sb->s_fs_info = c;
 	sb->s_magic = UBIFS_SUPER_MAGIC;
 	sb->s_blocksize = UBIFS_BLOCK_SIZE;
@@ -2080,8 +2073,6 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
 	ubifs_umount(c);
 out_unlock:
 	mutex_unlock(&c->umount_mutex);
-out_bdi:
-	bdi_destroy(&c->bdi);
 out_close:
 	ubi_close_volume(c->ubi);
 out:
diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index ca72382ce6cc..41b42a425b42 100644
--- a/fs/ubifs/ubifs.h
+++ b/fs/ubifs/ubifs.h
@@ -968,7 +968,6 @@ struct ubifs_debug_info;
  * struct ubifs_info - UBIFS file-system description data structure
  * (per-superblock).
  * @vfs_sb: VFS @struct super_block object
- * @bdi: backing device info object to make VFS happy and disable read-ahead
  *
  * @highest_inum: highest used inode number
  * @max_sqnum: current global sequence number
@@ -1216,7 +1215,6 @@ struct ubifs_debug_info;
  */
 struct ubifs_info {
 	struct super_block *vfs_sb;
-	struct backing_dev_info bdi;
 
 	ino_t highest_inum;
 	unsigned long long max_sqnum;
@@ -1457,7 +1455,6 @@ extern const struct inode_operations ubifs_file_inode_operations;
 extern const struct file_operations ubifs_dir_operations;
 extern const struct inode_operations ubifs_dir_inode_operations;
 extern const struct inode_operations ubifs_symlink_inode_operations;
-extern struct backing_dev_info ubifs_backing_dev_info;
 extern struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
 
 /* io.c */
-- 
2.10.2

  parent reply	other threads:[~2017-02-02 17:34 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-02 17:33 [PATCH 0/24 RFC] fs: Convert all embedded bdis into separate ones Jan Kara
2017-02-02 17:33 ` [PATCH 01/24] block: Provide bdi_alloc() Jan Kara
2017-02-02 17:34 ` [PATCH 02/24] bdi: Provide bdi_register_va() Jan Kara
2017-02-02 17:34 ` [PATCH 03/24] block: Unregister bdi on last reference drop Jan Kara
2017-02-02 17:34 ` [PATCH 04/24] fs: Provide infrastructure for dynamic BDIs in filesystems Jan Kara
2017-02-02 19:28   ` Liu Bo
2017-02-03 13:50     ` Jan Kara
2017-02-03 18:31       ` Liu Bo
2017-02-08  0:38   ` [lustre-devel] " Dilger, Andreas
2017-02-09 12:12     ` Jan Kara
2017-02-02 17:34 ` [PATCH 05/24] fs: Get proper reference for s_bdi Jan Kara
2017-02-09 14:36   ` Boaz Harrosh
2017-02-09 15:52     ` Jan Kara
2017-02-02 17:34 ` [PATCH 06/24] lustre: Convert to separately allocated bdi Jan Kara
2017-02-08  0:38   ` [lustre-devel] " Dilger, Andreas
2017-02-02 17:34 ` [PATCH 07/24] 9p: " Jan Kara
2017-02-02 17:34 ` [PATCH 08/24] btrfs: " Jan Kara
2017-02-03 18:33   ` Liu Bo
2017-02-08 15:22   ` David Sterba
2017-02-02 17:34 ` [PATCH 09/24] ceph: " Jan Kara
2017-02-02 17:34 ` [PATCH 10/24] cifs: " Jan Kara
2017-02-02 17:34 ` [PATCH 11/24] ecryptfs: " Jan Kara
2017-02-03 23:54   ` Tyler Hicks
2017-02-02 17:34 ` [PATCH 12/24] afs: " Jan Kara
2017-02-02 17:34 ` [PATCH 13/24] orangefs: Remove orangefs_backing_dev_info Jan Kara
2017-02-02 17:34 ` [PATCH 14/24] mtd: Convert to dynamically allocated bdi infrastructure Jan Kara
2017-02-02 17:34 ` [PATCH 15/24] coda: Convert to separately allocated bdi Jan Kara
2017-02-02 17:34 ` [PATCH 16/24] exofs: " Jan Kara
2017-02-09 14:23   ` Boaz Harrosh
2017-02-02 17:34 ` [PATCH 17/24] fuse: " Jan Kara
2017-02-07  9:16   ` Miklos Szeredi
2017-02-07 11:35     ` Jan Kara
2017-02-02 17:34 ` [PATCH 18/24] gfs2: Convert to properly refcounting bdi Jan Kara
2017-02-02 17:34 ` [PATCH 19/24] nilfs2: " Jan Kara
2017-02-02 17:34 ` [PATCH 20/24] ncpfs: Convert to separately allocated bdi Jan Kara
2017-02-02 17:34 ` [PATCH 21/24] nfs: " Jan Kara
2017-02-02 17:34 ` Jan Kara [this message]
2017-02-02 20:34   ` [PATCH 22/24] ubifs: " Richard Weinberger
2017-02-03 13:45     ` Jan Kara
2017-02-08 11:24   ` Richard Weinberger
2017-02-09 12:17     ` Jan Kara
2017-02-09 14:56       ` Richard Weinberger
2017-02-02 17:34 ` [PATCH 23/24] fs: Remove SB_I_DYNBDI flag Jan Kara
2017-02-02 17:34 ` [PATCH 24/24] block: Remove unused functions Jan Kara

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=20170202173422.3240-23-jack@suse.cz \
    --to=jack@suse.cz \
    --cc=adrian.hunter@intel.com \
    --cc=dedekind1@gmail.com \
    --cc=hch@infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard@nod.at \
    /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).