Spare devices can be scanned but shouldn't be mountable.

Signed-off-by: Anand Jain <anand.j...@oracle.com>
---
 fs/btrfs/disk-io.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 7f02f1766037..b99329e37965 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2806,6 +2806,14 @@ int open_ctree(struct super_block *sb,
                goto fail_alloc;
        }
 
+       if (btrfs_super_incompat_flags(disk_super) &
+                       BTRFS_FEATURE_INCOMPAT_SPARE_DEV) {
+               /*You can only scan a spare device but not mount*/
+               printk(KERN_ERR "BTRFS: You can't mount a spare device\n");
+               err = -ENOTSUPP;
+               goto fail_alloc;
+       }
+
        /*
         * Needn't use the lock because there is no other task which will
         * update the flag.
-- 
2.7.0

--
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