diff --git a/[refs] b/[refs] index 81b5b7ab139e..60697e8af37c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6ef5ed0d386be5c43ec66d6f2999919c0893558b +refs/heads/master: 4849f01d153be0f52b8191ee1be0ce492aa96811 diff --git a/trunk/fs/btrfs/super.c b/trunk/fs/btrfs/super.c index f878337cee6f..9771eb8694b6 100644 --- a/trunk/fs/btrfs/super.c +++ b/trunk/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]),