[pve-devel] [PATCH qemu-server] fix #1071: VMs with IOThread enabled disks can now be backed up

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Oct 23 08:22:25 CEST 2019


On 10/23/19 7:33 AM, Fabian Grünbichler wrote:
> On October 21, 2019 5:31 pm, Thomas Lamprecht wrote:
>> Thanks to Dietmars patch[0] those VMs can now be backed up
>> successfully, so remove this aborting check.
>>
>> [0]: https://git.proxmox.com/?p=pve-qemu.git;a=commit;h=69cb18950a705b54f438f4659b603b3f52901c2f
> 
> a bit late to the party, but isn't this only correct in case the VM in 
> question has been (re)started since the upgrade? I am not sure what the 
> potential failure is when run with an old VM (just backup failure? 
> crash? deadlock?), but maybe it makes sense to keep the check but only 
> die for VMs running old versions of the backup code..
> 

You have no real idea here if the code is being run. It worked most of
the time anyway, but people need to restart the VM anyway to activate
IOThreads and else the run a setup where backups where not really
relevant anyway (as we blocked all disks using IO thread from being
backed up) - so I (and Dietmar) do not want to introduce headache for
an edge case that may not hit anybody in real setups anyway, and even
then only maybe. We can just communicate that, if someone asks.

>> Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
>> ---
>>
>> While tested a bit, much more testing wouldn't hurt for sure ;)
>>
>>  PVE/VZDump/QemuServer.pm | 2 --
>>  1 file changed, 2 deletions(-)
>>
>> diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm
>> index b8d8fa9..a918429 100644
>> --- a/PVE/VZDump/QemuServer.pm
>> +++ b/PVE/VZDump/QemuServer.pm
>> @@ -73,8 +73,6 @@ sub prepare {
>>  	if (defined($drive->{backup}) && !$drive->{backup}) {
>>  	    $self->loginfo("exclude disk '$ds' '$volid' (backup=no)");
>>  	    return;
>> -	} elsif ($drive->{iothread}) {
>> -	    die "disk '$ds' '$volid' (iothread=on) can't use backup feature currently. Please set backup=no for this drive";
>>  	} else {
>>  	    my $log = "include disk '$ds' '$volid'";
>>  	   if (defined $drive->{size}) {
>> -- 
>> 2.20.1
>>






More information about the pve-devel mailing list