From 9f714102b7bdbcfc89eb00f4482a88957252ec93 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 17 Nov 2011 01:29:09 -0500 Subject: [PATCH] --- yaml --- r: 286018 b: refs/heads/master c: 6de1d09d9677dce7a04ef485d426821159ab7de9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/super.c | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) 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; } /*