diff options
author | Josef Bacik <josef@redhat.com> | 2009-12-14 20:18:38 +0100 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-03-15 16:00:09 +0100 |
commit | 4849f01d153be0f52b8191ee1be0ce492aa96811 (patch) | |
tree | 39da0f94d126899f095a9f2b23bb3e38aa90bf46 /fs/btrfs/super.c | |
parent | Btrfs: add ioctl and incompat flag to set the default mount subvol (diff) | |
download | linux-4849f01d153be0f52b8191ee1be0ce492aa96811.tar.xz linux-4849f01d153be0f52b8191ee1be0ce492aa96811.zip |
Btrfs: make subvolid=0 mount the original default root
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>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r-- | fs/btrfs/super.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index f878337cee6f..9771eb8694b6 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -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]), |