all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Friedrich Weber <f.weber@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Fiona Ebner <f.ebner@proxmox.com>
Subject: Re: [pve-devel] [PATCH qemu-server] block job: mirror: always detach the target node upon cancelling
Date: Thu, 31 Jul 2025 11:16:05 +0200	[thread overview]
Message-ID: <b9de7ef0-f8d8-4302-8dea-84f3da9c664d@proxmox.com> (raw)
In-Reply-To: <20250731090956.23443-1-f.ebner@proxmox.com>

On 31/07/2025 11:09, Fiona Ebner wrote:
> This is a further improvement after commit 8e671e79 ("block job:
> mirror: always detach the target node upon error"). It might be
> that a cancelled job ends up in concluded state without an error
> being set in the result of the 'query-block-jobs' QMP command and
> the target node would not be detached. To fix it, also detach the
> target node when cancelling the job. This is correct even when the job
> was cancelled after completion, as in that case, the drive is not
> switched over to use the target node.
> 
> Reported-by: Friedrich Weber <f.weber@proxmox.com>
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---

Thanks for the patch!

Seems to fix my reproducer:

Without this patch (`opt` being a directory storage):

# qm stop 101; qm destroy 101; qm create 101 --scsi0 local-lvm:1; qm start 101; timeout 1 qm disk move 101 scsi0 opt; qm disk move 101 scsi0 opt
  Logical volume "vm-101-disk-0" successfully removed.
  Logical volume "vm-101-disk-0" created.
  Logical volume pve/vm-101-disk-0 changed.
scsi0: successfully created disk 'local-lvm:vm-101-disk-0,size=1G'
create full clone of drive scsi0 (local-lvm:vm-101-disk-0)
Formatting '/opt/images/101/vm-101-disk-0.raw', fmt=raw size=1073741824 preallocation=off
drive mirror is starting for drive-scsi0
mirror-scsi0: transferred 85.0 MiB of 1.0 GiB (8.30%) in 0s
mirror-scsi0: Cancelling block job
mirror-scsi0: Done.
storage migration failed: block job (mirror) error: interrupted by signal
create full clone of drive scsi0 (local-lvm:vm-101-disk-0)
Formatting '/opt/images/101/vm-101-disk-0.raw', fmt=raw size=1073741824 preallocation=off
storage migration failed: adding blockdev 'zc34a13b971104aab98614370f1a40f' failed : VM 101 qmp command 'blockdev-add' failed - Duplicate nodes with node-name='zc34a13b971104aab98614370f1a40f'

With this patch:

# qm stop 101; qm destroy 101; qm create 101 --scsi0 local-lvm:1; qm start 101; timeout 1 qm disk move 101 scsi0 opt; qm disk move 101 scsi0 opt
  Logical volume "vm-101-disk-0" successfully removed.
  Logical volume "vm-101-disk-0" created.
  Logical volume pve/vm-101-disk-0 changed.
scsi0: successfully created disk 'local-lvm:vm-101-disk-0,size=1G'
create full clone of drive scsi0 (local-lvm:vm-101-disk-0)
Formatting '/opt/images/101/vm-101-disk-0.raw', fmt=raw size=1073741824 preallocation=off
drive mirror is starting for drive-scsi0
mirror-scsi0: transferred 142.0 MiB of 1.0 GiB (13.87%) in 0s
mirror-scsi0: Cancelling block job
mirror-scsi0: Done.
storage migration failed: block job (mirror) error: interrupted by signal
create full clone of drive scsi0 (local-lvm:vm-101-disk-0)
Formatting '/opt/images/101/vm-101-disk-0.raw', fmt=raw size=1073741824 preallocation=off
drive mirror is starting for drive-scsi0
mirror-scsi0: transferred 13.0 MiB of 1.0 GiB (1.27%) in 0s
mirror-scsi0: transferred 1.0 GiB of 1.0 GiB (100.00%) in 1s, ready
all 'mirror' jobs are ready
mirror-scsi0: Completing block job...
mirror-scsi0: Completed successfully.
mirror-scsi0: mirror-job finished

So consider this

Tested-by: Friedrich Weber <f.weber@proxmox.com>


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  reply	other threads:[~2025-07-31  9:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-31  9:09 Fiona Ebner
2025-07-31  9:16 ` Friedrich Weber [this message]
2025-07-31  9:39 ` [pve-devel] applied: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b9de7ef0-f8d8-4302-8dea-84f3da9c664d@proxmox.com \
    --to=f.weber@proxmox.com \
    --cc=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal