From: Fiona Ebner <f.ebner@proxmox.com>
To: Elias Huhsovitz <e.huhsovitz@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH qemu-server 2/4] fix #8209: clone disk: do not ignore failure to query size of target
Date: Wed, 28 Oct 2026 10:08:19 +0100 [thread overview]
Message-ID: <f3b4b5ae-c9c0-4fae-8fbc-2a4b3f974721@proxmox.com> (raw)
In-Reply-To: <4dc611ef-b185-4ebe-bb54-b74b0761014c@proxmox.com>
Am 28.10.26 um 10:05 AM schrieb Fiona Ebner:
> Am 22.10.26 um 3:25 PM schrieb Elias Huhsovitz:
>> On Thu Oct 22, 2026 at 11:38 AM CEST, Fiona Ebner wrote:
>>> @@ -4997,9 +4998,15 @@ __PACKAGE__->register_method({
>>> $conf->{agent},
>>> $movelimit,
>>> );
>>> + my $newdrive = $clone_result->{drive};
>>> $conf->{$disk} = PVE::QemuServer::print_drive($newdrive);
>>>
>>> - if (!$param->{delete}) {
>>> + if ($do_delete && $clone_result->{'after-copy-error'}) {
>>> + warn "skipping delete of source because of error after copy\n";
>>> + $do_delete = 0;
>>
>> Since we now set $clone_result->{'after-copy-error'}, if e.g., the
>> target NFS share returns an error, we set $do_delete = 0 to prevent the
>> source disk from being deleted.
>>
>>> + }
>>> +
>>> + if (!$do_delete) {
>>> my $unused_key = PVE::QemuConfig->add_unused_volume($conf, $old_volid);
>>
>> So now in the case that $clone_result->{'after-copy-error'} is set, we
>> always call add_unused_volume(). But add_unused_volume() can fail with
>>
>> "Too many unused volumes - please delete them first.\n"
>>
>> according to AbstractConfig::add_unused_volume()
>>
>> Couldn't this kill the disk during a live migration, if we are unable to
>> add the unused volume?
>>
>> In Drive.pm the maximum number for unused disks is set to:
>>
>> our $MAX_UNUSED_DISKS = 256;
>>
>> IMO being unable to add a new disk in a production system, might be a
>> real possibility.
>
> It's not a new issue (my patch only changes that 'delete' is not used in
> a rare error scenario, delete=0 was already possible before). I'm not
> aware of any reports about people running into this. It should be quite
> rare to reach that limit in practice. Still, it's an issue and I'll add
> a patch to fix it in v2.
>
> And the issue is also present in case the template_create() call fails,
> I'll guard that too.
Ah no, since the VM can't be running if it's a template ;)
next prev parent reply other threads:[~2026-10-28 9:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-22 9:38 [PATCH-SERIES qemu-server 0/4] fix #8209: clone disk: do not ignore failure to query size of target Fiona Ebner
2026-10-22 9:38 ` [PATCH qemu-server 1/4] block job: monitor: document that job-complete is not used if source differs from target Fiona Ebner
2026-10-23 8:44 ` Elias Huhsovitz
2026-10-28 8:56 ` Fiona Ebner
2026-10-22 9:38 ` [PATCH qemu-server 2/4] fix #8209: clone disk: do not ignore failure to query size of target Fiona Ebner
2026-10-22 13:25 ` Elias Huhsovitz
2026-10-28 9:05 ` Fiona Ebner
2026-10-28 9:08 ` Fiona Ebner [this message]
2026-10-22 9:38 ` [PATCH qemu-server 3/4] clone disk: abort early when failing to query size of source disk Fiona Ebner
2026-10-23 8:53 ` Elias Huhsovitz
2026-10-22 9:38 ` [PATCH qemu-server 4/4] clone disk: bump timeout for querying target volume size to 1 minute Fiona Ebner
2026-10-23 9:31 ` Elias Huhsovitz
2026-10-28 9:39 ` Fiona Ebner
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=f3b4b5ae-c9c0-4fae-8fbc-2a4b3f974721@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=e.huhsovitz@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox