When we open a seed filesystem, if the degraded mount option is set, we 
continue to
mount the fs if we don't find some devices in the seed filesystem. But we 
should stop
mounting if other errors happen. Fix it

Signed-off-by: Miao Xie <mi...@cn.fujitsu.com>
---
 fs/btrfs/volumes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index fd8141e..cc59fcb 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -6093,7 +6093,7 @@ static int read_one_dev(struct btrfs_root *root,
 
        if (memcmp(fs_uuid, root->fs_info->fsid, BTRFS_UUID_SIZE)) {
                ret = open_seed_devices(root, fs_uuid);
-               if (ret && !btrfs_test_opt(root, DEGRADED))
+               if (ret && !(ret == -ENOENT && btrfs_test_opt(root, DEGRADED)))
                        return ret;
        }
 
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to