btrfs: sanity mount option parsing and early mount code
Also adds lots of comments to describe what's going on here.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 3805e7e..b9a5364 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1266,8 +1266,11 @@
if (!btrfs_super_root(disk_super))
goto fail_sb_buffer;
- btrfs_parse_options(options, tree_root, NULL);
+ err = btrfs_parse_options(tree_root, options);
+ if (err)
+ goto fail_sb_buffer;
+ err = -EINVAL;
if (btrfs_super_num_devices(disk_super) > fs_devices->open_devices) {
printk("Btrfs: wanted %llu devices, but found %llu\n",
(unsigned long long)btrfs_super_num_devices(disk_super),