From d46111425af47a981145862a5d01d7b5ef5d65e3 Mon Sep 17 00:00:00 2001 From: Wang Shilong Date: Thu, 19 Jun 2014 09:27:05 +0800 Subject: btrfs-progs: restore: check if specified root is fs/file tree firstly Steps to reproduce: # mkfs.btrfs -f /dev/sda9 # mount /dev/sda9 /mnt # dd if=/dev/zero of=/mnt/data bs=1M count=1 # btrfs restore -r /dev/sda9 -r 2 -o /tmp If users don't input a valid fs/file root objectid, btrfs restore still continue and don't restore anything, this is unfriendly, we could check it firstly. Signed-off-by: Wang Shilong Signed-off-by: David Sterba --- cmds-restore.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmds-restore.c b/cmds-restore.c index 43384932..c84ac17d 100644 --- a/cmds-restore.c +++ b/cmds-restore.c @@ -1186,6 +1186,11 @@ int cmd_restore(int argc, char **argv) break; case 'r': root_objectid = arg_strtou64(optarg); + if (!is_fstree(root_objectid)) { + fprintf(stderr, "objectid %llu is not a valid fs/file tree\n", + root_objectid); + exit(1); + } break; case 'l': list_roots = 1; -- cgit v1.2.3