On Fri, 2019-10-04 at 14:49 +0800, Ian Kent wrote: > On Thu, 2019-10-03 at 07:56 -0700, Darrick J. Wong wrote: > > On Thu, Oct 03, 2019 at 06:25:28PM +0800, Ian Kent wrote: > > > There appear to be a couple of missing blkdev_put() in > > > get_tree_bdev(). > > > > No SOB, not reviewable...... > > It's not expected to be but is needed if anyone wants to test > the series. > > I sent this to Al asking if these are in fact missing. > If they are I expect he will push an update to Linus pretty > quickly. But he hasn't responded so perhaps I should have annotated it, just in case ... > > > --D > > > > > --- > > > fs/super.c | 5 ++++- > > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > > > diff --git a/fs/super.c b/fs/super.c > > > index a7f62c964e58..fd816014bd7d 100644 > > > --- a/fs/super.c > > > +++ b/fs/super.c > > > @@ -1268,6 +1268,7 @@ int get_tree_bdev(struct fs_context *fc, > > > mutex_lock(&bdev->bd_fsfreeze_mutex); > > > if (bdev->bd_fsfreeze_count > 0) { > > > mutex_unlock(&bdev->bd_fsfreeze_mutex); > > > + blkdev_put(bdev, mode); > > > warnf(fc, "%pg: Can't mount, blockdev is frozen", > > > bdev); > > > return -EBUSY; > > > } > > > @@ -1276,8 +1277,10 @@ int get_tree_bdev(struct fs_context *fc, > > > fc->sget_key = bdev; > > > s = sget_fc(fc, test_bdev_super_fc, set_bdev_super_fc); > > > mutex_unlock(&bdev->bd_fsfreeze_mutex); > > > - if (IS_ERR(s)) > > > + if (IS_ERR(s)) { > > > + blkdev_put(bdev, mode); > > > return PTR_ERR(s); > > > + } > > > > > > if (s->s_root) { > > > /* Don't summarily change the RO/RW state. */ > > >