[pve-devel] [PATCH storage] fix #1135: always clean up ZFS snapshots on migration
Fabian Grünbichler
f.gruenbichler at proxmox.com
Mon Jan 2 14:27:04 CET 2017
otherwise there are situations where snapshots are left
behind for already sent volumes. also include more warnings.
Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
PVE/Storage.pm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/PVE/Storage.pm b/PVE/Storage.pm
index 71b699c..683c920 100755
--- a/PVE/Storage.pm
+++ b/PVE/Storage.pm
@@ -586,12 +586,13 @@ sub storage_migrate {
eval{
run_command($send);
};
- my $err;
- if ($err = $@){
- run_command(['zfs', 'destroy', "$zfspath\@__migration__"]);
- die $err;
- }
- run_command($destroy_target);
+ my $err = $@;
+ warn "zfs send/receive failed, cleaning up snapshot(s)..\n" if $err;
+ eval { run_command(['zfs', 'destroy', "$zfspath\@__migration__"]); };
+ warn "could not remove source snapshot: $@\n" if $@;
+ eval { run_command($destroy_target); };
+ warn "could not remove target snapshot: $@\n" if $@;
+ die $err if $err;
} else {
die "$errstr - target type $tcfg->{type} is not valid\n";
--
2.1.4
More information about the pve-devel
mailing list