[PATCH 22/24] ubifs: Convert to separately allocated bdi

Jan Kara jack at suse.cz
Thu Feb 9 04:17:28 PST 2017


On Wed 08-02-17 12:24:00, Richard Weinberger wrote:
> Am 02.02.2017 um 18:34 schrieb Jan Kara:
> > Allocate struct backing_dev_info separately instead of embedding it
> > inside the superblock. This unifies handling of bdi among users.
> > 
> > CC: Richard Weinberger <richard at nod.at>
> > CC: Artem Bityutskiy <dedekind1 at gmail.com>
> > CC: Adrian Hunter <adrian.hunter at intel.com>
> > CC: linux-mtd at lists.infradead.org
> > Signed-off-by: Jan Kara <jack at 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;
> 
> So ->capabilities is now zero by default since you use __GFP_ZERO in
> bdi_alloc().
> At least for UBIFS I'll add a comment on this, otherwise it is not so
> clear that UBIFS wants a BDI with no capabilities and how it achieves that.

OK, I've modified the comment to:

         * Read-ahead will be disabled because @sb->s_bdi->ra_pages is 0. Also
         * @sb->s_bdi->capabilities are initialized to 0 so there won't be any
         * writeback happening.
         */


> Acked-by: Richard Weinberger <richard at nod.at>

Thanks.

								Honza
-- 
Jan Kara <jack at suse.com>
SUSE Labs, CR



More information about the linux-mtd mailing list