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:
parent
cf5a680b82
commit
6d4fb3dcc1
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue