summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2017-04-12 12:24:42 +0200
committerJens Axboe <axboe@fb.com>2017-04-20 12:09:55 -0600
commit95fe66de9f0de24f08e875a67722a3d612cd9f2f (patch)
treeb762fe4b2b8e3d4d92eb7c467323ad19e191bc99
parent7fbbe972c3ec63a3391997e0cef09964f9236088 (diff)
downloadlinux-stable-95fe66de9f0de24f08e875a67722a3d612cd9f2f.tar.gz
linux-stable-95fe66de9f0de24f08e875a67722a3d612cd9f2f.tar.bz2
linux-stable-95fe66de9f0de24f08e875a67722a3d612cd9f2f.zip
gfs2: Convert to properly refcounting bdi
Similarly to set_bdev_super() GFS2 just used block device reference to bdi. Convert it to properly getting bdi reference. The reference will get automatically dropped on superblock destruction. CC: Steven Whitehouse <swhiteho@redhat.com> CC: Bob Peterson <rpeterso@redhat.com> CC: cluster-devel@redhat.com Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--fs/gfs2/ops_fstype.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index b108e7ba81af..e6b6f97d0fc1 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -23,6 +23,7 @@
#include <linux/quotaops.h>
#include <linux/lockdep.h>
#include <linux/module.h>
+#include <linux/backing-dev.h>
#include "gfs2.h"
#include "incore.h"
@@ -1222,12 +1223,8 @@ static int set_gfs2_super(struct super_block *s, void *data)
{
s->s_bdev = data;
s->s_dev = s->s_bdev->bd_dev;
-
- /*
- * We set the bdi here to the queue backing, file systems can
- * overwrite this in ->fill_super()
- */
- s->s_bdi = bdev_get_queue(s->s_bdev)->backing_dev_info;
+ s->s_bdi = bdi_get(s->s_bdev->bd_bdi);
+ s->s_iflags |= SB_I_DYNBDI;
return 0;
}