Btrfs: make subvolid=0 mount the original default root
Josef Bacik [Mon, 14 Dec 2009 19:18:38 +0000 (19:18 +0000)]
Since theres not a good way to make sure the user sees the original default root
tree id, and not to mention it's 5 so is way different than any other volume,
just make subvol=0 mount the original default root.  This makes it a bit easier
for users to handle in the long run.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>

fs/btrfs/super.c

index f878337..9771eb8 100644 (file)
@@ -325,9 +325,15 @@ static int btrfs_parse_early_options(const char *options, fmode_t flags,
                        break;
                case Opt_subvolid:
                        intarg = 0;
-                       match_int(&args[0], &intarg);
-                       if (intarg)
-                               *subvol_objectid = intarg;
+                       error = match_int(&args[0], &intarg);
+                       if (!error) {
+                               /* we want the original fs_tree */
+                               if (!intarg)
+                                       *subvol_objectid =
+                                               BTRFS_FS_TREE_OBJECTID;
+                               else
+                                       *subvol_objectid = intarg;
+                       }
                        break;
                case Opt_device:
                        error = btrfs_scan_one_device(match_strdup(&args[0]),