btrfs-progs: fix incorrect flag check while recovering super
authorLiu Bo <bo.li.liu@oracle.com>
Mon, 2 May 2016 18:13:20 +0000 (11:13 -0700)
committerDavid Sterba <dsterba@suse.com>
Wed, 11 May 2016 14:37:07 +0000 (16:37 +0200)
The flag OPEN_CTREE_RECOVER_SUPER is set when it's going to recover
any bad superblock copy, the current code doesn't match that.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
disk-io.c

index f1d4697..b60c391 100644 (file)
--- a/disk-io.c
+++ b/disk-io.c
@@ -1262,7 +1262,7 @@ static struct btrfs_fs_info *__open_ctree_fd(int fp, const char *path,
                goto out;
 
        disk_super = fs_info->super_copy;
-       if (!(flags & OPEN_CTREE_RECOVER_SUPER))
+       if (flags & OPEN_CTREE_RECOVER_SUPER)
                ret = btrfs_read_dev_super(fs_devices->latest_bdev,
                                           disk_super, sb_bytenr, 1);
        else