From: Dominik Csapak <d.csapak@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 1/3] fix #2816: restore: remove timeout when allocating disks
Date: Wed, 20 Sep 2023 13:23:26 +0200 [thread overview]
Message-ID: <6ff59a25-0401-41c4-8352-379bc0bafeb3@proxmox.com> (raw)
In-Reply-To: <20230912091617.26590-1-f.ebner@proxmox.com>
comment inline:
On 9/12/23 11:16, Fiona Ebner wrote:
> 10 minutes is not long enough when disks are large and/or network
> storages are used when preallocation is not disabled. The default is
> metadata preallocation for qcow2, so there are still reports of the
> issue [0][1]. If allocation really does not finish like the comment
> describing the timeout feared, just let the user cancel it.
>
> Also note that when restoring a PBS backup, there is no timeout for
> disk allocation, and there don't seem to be any user complaints yet.
>
> The 5 second timeout for receiving the config from vma is kept,
> because certain corruptions in the VMA header can lead to the
> operation hanging there.
>
> There is no need for the $tmp variable before setting back the old
> timeout, because that is at least one second, so we'll always be able
> to set the $oldtimeout variable to undef in time in practice.
> Currently, there shouldn't even be an outer timeout in the first
> place, because the only call path leading to here is via the create
> API (also used by qmrestore), both of which don't set a timeout.
>
> [0]: https://forum.proxmox.com/threads/126825/
> [1]: https://forum.proxmox.com/threads/128093/
>
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> PVE/QemuServer.pm | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index bf1de179..05283562 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -7483,14 +7483,11 @@ sub restore_vma_archive {
> $devinfo->{$devname} = { size => $size, dev_id => $dev_id };
> } elsif ($line =~ m/^CTIME: /) {
> # we correctly received the vma config, so we can disable
> - # the timeout now for disk allocation (set to 10 minutes, so
> - # that we always timeout if something goes wrong)
> - alarm(600);
> + # the timeout now for disk allocation
> + alarm($oldtimeout || 0);
> + $oldtimeout = undef;
this part looks wrong to me, because AFAIU you want to disable the timeout
(by canceling the alarm), but what you do here is to set it to $oldtimeout
if that was set before?
i guess what we want to do here is:
----
alarm(0);
<... do stuff ...>
alarm($oldtimeout || 0);
$oldtimeout = undef;
----
?
> &$print_devmap();
> print $fifofh "done\n";
> - my $tmp = $oldtimeout || 0;
> - $oldtimeout = undef;
> - alarm($tmp);
> close($fifofh);
> $fifofh = undef;
> }
next prev parent reply other threads:[~2023-09-20 11:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-12 9:16 Fiona Ebner
2023-09-12 9:16 ` [pve-devel] [PATCH qemu-server 2/3] restore vma: add comment describing timeout Fiona Ebner
2023-09-12 9:16 ` [pve-devel] [PATCH qemu-server 3/3] restore vma: inline one timeout variable and move other closer to usage Fiona Ebner
2023-09-20 11:23 ` Dominik Csapak [this message]
2023-09-20 11:28 ` [pve-devel] [PATCH qemu-server 1/3] fix #2816: restore: remove timeout when allocating disks Dominik Csapak
2023-09-25 8:46 ` Fiona Ebner
2023-09-25 8:57 ` Dominik Csapak
2023-09-25 10:30 ` Fiona Ebner
2023-09-25 11:25 ` Dominik Csapak
2023-11-17 8:49 ` [pve-devel] applied-series: " 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=6ff59a25-0401-41c4-8352-379bc0bafeb3@proxmox.com \
--to=d.csapak@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.