diff options
| -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, | |||
| 325 | break; | 325 | break; |
| 326 | case Opt_subvolid: | 326 | case Opt_subvolid: |
| 327 | intarg = 0; | 327 | intarg = 0; |
| 328 | match_int(&args[0], &intarg); | 328 | error = match_int(&args[0], &intarg); |
| 329 | if (intarg) | 329 | if (!error) { |
| 330 | *subvol_objectid = intarg; | 330 | /* we want the original fs_tree */ |
| 331 | if (!intarg) | ||
| 332 | *subvol_objectid = | ||
| 333 | BTRFS_FS_TREE_OBJECTID; | ||
| 334 | else | ||
| 335 | *subvol_objectid = intarg; | ||
| 336 | } | ||
| 331 | break; | 337 | break; |
| 332 | case Opt_device: | 338 | case Opt_device: |
| 333 | error = btrfs_scan_one_device(match_strdup(&args[0]), | 339 | error = btrfs_scan_one_device(match_strdup(&args[0]), |
