diff --git a/[refs] b/[refs] index f69d463ba58c..6275bb83739c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aea52e19dd2085617dd7d247afb76a90cf2ea40c +refs/heads/master: 6de1d09d9677dce7a04ef485d426821159ab7de9 diff --git a/trunk/fs/btrfs/super.c b/trunk/fs/btrfs/super.c index eca48624a4f0..b9fd62a0fca2 100644 --- a/trunk/fs/btrfs/super.c +++ b/trunk/fs/btrfs/super.c @@ -733,20 +733,15 @@ static int btrfs_test_super(struct super_block *s, void *data) struct btrfs_root *test_root = data; struct btrfs_root *root = btrfs_sb(s); - /* - * If this super block is going away, return false as it - * can't match as an existing super block. - */ - if (!atomic_read(&s->s_active)) - return 0; return root->fs_info->fs_devices == test_root->fs_info->fs_devices; } static int btrfs_set_super(struct super_block *s, void *data) { - s->s_fs_info = data; - - return set_anon_super(s, data); + int err = set_anon_super(s, data); + if (!err) + s->s_fs_info = data; + return err; } /*