diff mbox

[2/6] Btrfs-progs: btrfs-restore,check if specified root is fs/file tree firstly

Message ID 1403141229-25565-2-git-send-email-wangsl.fnst@cn.fujitsu.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Wang Shilong June 19, 2014, 1:27 a.m. UTC
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 <wangsl.fnst@cn.fujitsu.com>
---
 cmds-restore.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox

Patch

diff --git a/cmds-restore.c b/cmds-restore.c
index 96b97e1..934755a 100644
--- a/cmds-restore.c
+++ b/cmds-restore.c
@@ -1180,6 +1180,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;