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@xxxxxx> > CC: Artem Bityutskiy <dedekind1@xxxxxxxxx> > CC: Adrian Hunter <adrian.hunter@xxxxxxxxx> > CC: linux-mtd@xxxxxxxxxxxxxxxxxxx > Signed-off-by: Jan Kara <jack@xxxxxxx> > --- > 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. Acked-by: Richard Weinberger <richard@xxxxxx> Thanks, //richard