mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-12 02:05:47 +00:00
Fix #1242 : clone_disk : call qga fstrim after clone
Some storage like rbd or lvm can't keep thin-provising after a qemu-mirror. Call qga guest-fstrim if qga is available and fstrim_cloned_disks is enabled after move_disk and migrate. Co-Authored-By: Alexandre Derumier <aderumier@odiso.com> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
This commit is contained in:
parent
9d66b39769
commit
ca6621315e
@ -2969,6 +2969,10 @@ __PACKAGE__->register_method({
|
|||||||
|
|
||||||
PVE::QemuConfig->write_config($vmid, $conf);
|
PVE::QemuConfig->write_config($vmid, $conf);
|
||||||
|
|
||||||
|
if ($running && PVE::QemuServer::parse_guest_agent($conf)->{fstrim_cloned_disks} && PVE::QemuServer::qga_check_running($vmid)) {
|
||||||
|
eval { PVE::QemuServer::vm_mon_cmd($vmid, "guest-fstrim"); };
|
||||||
|
}
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
# try to deactivate volumes - avoid lvm LVs to be active on several nodes
|
# try to deactivate volumes - avoid lvm LVs to be active on several nodes
|
||||||
PVE::Storage::deactivate_volumes($storecfg, [ $newdrive->{file} ])
|
PVE::Storage::deactivate_volumes($storecfg, [ $newdrive->{file} ])
|
||||||
|
@ -966,6 +966,11 @@ sub phase3_cleanup {
|
|||||||
$self->{errors} = 1;
|
$self->{errors} = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($self->{storage_migration} && PVE::QemuServer::parse_guest_agent($conf)->{fstrim_cloned_disks} && $self->{running}) {
|
||||||
|
my $cmd = [@{$self->{rem_ssh}}, 'qm', 'guest', 'cmd', $vmid, 'fstrim'];
|
||||||
|
eval{ PVE::Tools::run_command($cmd, outfunc => sub {}, errfunc => sub {}) };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# close tunnel on successful migration, on error phase2_cleanup closed it
|
# close tunnel on successful migration, on error phase2_cleanup closed it
|
||||||
|
Loading…
Reference in New Issue
Block a user