btrfs-progs: send: fix handling of multiple snapshots (-p option)

We cannot send multiple snapshots at once by -p option.

[before]
# btrfs send -f /tmp/data0 -p Snap0 Snap[12]
At subvol Snap1
At subvol Snap2
ERROR: parent determination failed for 0
#

[after]
# btrfs send -f /tmp/data0 -p Snap0 Snap[12]
At subvol Snap1
At subvol Snap2
#

Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Tsutomu Itoh 2016-10-19 11:35:03 +09:00 committed by David Sterba
parent cf5a680b82
commit 6d4fb3dcc1
1 changed files with 2 additions and 4 deletions

View File

@ -650,7 +650,7 @@ int cmd_send(int argc, char **argv)
goto out; goto out;
} }
if (!full_send && !parent_root_id) { if (!full_send && root_id) {
ret = find_good_parent(&send, root_id, &parent_root_id); ret = find_good_parent(&send, root_id, &parent_root_id);
if (ret < 0) { if (ret < 0) {
error("parent determination failed for %lld", error("parent determination failed for %lld",
@ -673,7 +673,7 @@ int cmd_send(int argc, char **argv)
if (ret < 0) if (ret < 0)
goto out; goto out;
if (!full_send) { if (!full_send && root_id) {
/* done with this subvol, so add it to the clone sources */ /* done with this subvol, so add it to the clone sources */
ret = add_clone_source(&send, root_id); ret = add_clone_source(&send, root_id);
if (ret < 0) { if (ret < 0) {
@ -681,8 +681,6 @@ int cmd_send(int argc, char **argv)
goto out; goto out;
} }
} }
parent_root_id = 0;
} }
ret = 0; ret = 0;