[pve-devel] applied: [PATCH qemu-server v3 17/34] backup: move cleanup of fleecing images to cleanup method

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Nov 12 10:26:28 CET 2024


On November 7, 2024 5:51 pm, Fiona Ebner wrote:
> TPM drives are already detached there and it's better to group
> these things together.
> 
> Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
> ---
> 
> No changes in v3.
> 
>  PVE/VZDump/QemuServer.pm | 25 +++++++++----------------
>  1 file changed, 9 insertions(+), 16 deletions(-)
> 
> diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm
> index 012c9210..b2ced154 100644
> --- a/PVE/VZDump/QemuServer.pm
> +++ b/PVE/VZDump/QemuServer.pm
> @@ -690,7 +690,6 @@ sub archive_pbs {
>  
>      # get list early so we die on unkown drive types before doing anything
>      my $devlist = _get_task_devlist($task);
> -    my $use_fleecing;
>  
>      $self->enforce_vm_running_for_backup($vmid);
>      $self->{qmeventd_fh} = PVE::QemuServer::register_qmeventd_handle($vmid);
> @@ -721,7 +720,7 @@ sub archive_pbs {
>  
>  	my $is_template = PVE::QemuConfig->is_template($self->{vmlist}->{$vmid});
>  
> -	$use_fleecing = check_and_prepare_fleecing(
> +	$task->{'use-fleecing'} = check_and_prepare_fleecing(
>  	    $self, $vmid, $opts->{fleecing}, $task->{disks}, $is_template, $qemu_support);
>  
>  	my $fs_frozen = $self->qga_fs_freeze($task, $vmid);
> @@ -735,7 +734,7 @@ sub archive_pbs {
>  	    devlist => $devlist,
>  	    'config-file' => $conffile,
>  	};
> -	$params->{fleecing} = JSON::true if $use_fleecing;
> +	$params->{fleecing} = JSON::true if $task->{'use-fleecing'};
>  
>  	if (defined(my $ns = $scfg->{namespace})) {
>  	    $params->{'backup-ns'} = $ns;
> @@ -784,11 +783,6 @@ sub archive_pbs {
>      }
>      $self->restore_vm_power_state($vmid);
>  
> -    if ($use_fleecing) {
> -	detach_fleecing_images($task->{disks}, $vmid);
> -	cleanup_fleecing_images($self, $task->{disks});
> -    }
> -
>      die $err if $err;
>  }
>  
> @@ -891,7 +885,6 @@ sub archive_vma {
>      }
>  
>      my $devlist = _get_task_devlist($task);
> -    my $use_fleecing;
>  
>      $self->enforce_vm_running_for_backup($vmid);
>      $self->{qmeventd_fh} = PVE::QemuServer::register_qmeventd_handle($vmid);
> @@ -911,7 +904,7 @@ sub archive_vma {
>  
>  	$attach_tpmstate_drive->($self, $task, $vmid);
>  
> -	$use_fleecing = check_and_prepare_fleecing(
> +	$task->{'use-fleecing'} = check_and_prepare_fleecing(
>  	    $self, $vmid, $opts->{fleecing}, $task->{disks}, $is_template, $qemu_support);
>  
>  	my $outfh;
> @@ -942,7 +935,7 @@ sub archive_vma {
>  		devlist => $devlist
>  	    };
>  	    $params->{'firewall-file'} = $firewall if -e $firewall;
> -	    $params->{fleecing} = JSON::true if $use_fleecing;
> +	    $params->{fleecing} = JSON::true if $task->{'use-fleecing'};
>  	    add_backup_performance_options($params, $opts->{performance}, $qemu_support);
>  
>  	    $qmpclient->queue_cmd($vmid, $backup_cb, 'backup', %$params);
> @@ -984,11 +977,6 @@ sub archive_vma {
>  
>      $self->restore_vm_power_state($vmid);
>  
> -    if ($use_fleecing) {
> -	detach_fleecing_images($task->{disks}, $vmid);
> -	cleanup_fleecing_images($self, $task->{disks});
> -    }
> -
>      if ($err) {
>  	if ($cpid) {
>  	    kill(9, $cpid);
> @@ -1132,6 +1120,11 @@ sub cleanup {
>  
>      $detach_tpmstate_drive->($task, $vmid);
>  
> +    if ($task->{'use-fleecing'}) {
> +	detach_fleecing_images($task->{disks}, $vmid);
> +	cleanup_fleecing_images($self, $task->{disks});
> +    }
> +
>      if ($self->{qmeventd_fh}) {
>  	close($self->{qmeventd_fh});
>      }
> -- 
> 2.39.5
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 




More information about the pve-devel mailing list