On 3/6/20 7:55 PM, Thomas Lamprecht wrote:
On 3/4/20 10:51 AM, Fabian Ebner wrote:
This reverts commit b5490d8a98e5e7328eb4cebb0ae0b60e6d406c38.

When resizing a volume of a running VM, a qmp block_resize command
is issued. This is non-blocking, so the size on the storage immediately
after issuing the command might still be the old one.

This is part of the issue reported in bug #2621.

Signed-off-by: Fabian Ebner <f.eb...@proxmox.com>
---
  PVE/API2/Qemu.pm | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index caca430..d0dd2dc 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -3586,8 +3586,7 @@ __PACKAGE__->register_method({
PVE::QemuServer::qemu_block_resize($vmid, "drive-$disk", $storecfg, $volid, $newsize); - my $effective_size = eval { PVE::Storage::volume_size_info($storecfg, $volid, 3); };
-           $drive->{size} = $effective_size // $newsize;
+           $drive->{size} = $newsize;
            $conf->{$disk} = PVE::QemuServer::print_drive($drive);
PVE::QemuConfig->write_config($vmid, $conf);


don't we want to await that operation to be finished?

AFAIU the QMP command has been fully issued, i.e. we already got a response from the QMP socket. So the operation is blocking from a QMP-interaction perspective, but not from the backing storage's perspective. I can see that my commit message is not clear about that. With a local filesystem I couldn't trigger the issue, but with a GluserFS storage it happens consistently on my setup.

Or let the storage backend tell us
anyway what aligned/rounded-up size it requested from qemu-img, zfs, ...?


But for GlusterFS that can be the old size.
Do you mean let volume_resize return the new size it used? It already returns something else (see the following) and changing that would be a breaking change.

Message for commit c1175c9264b57302d64fb697af589578d537d1e6 in qemu-server:

    add qemu_block_resize

    this call storage plugin resize first.
    storage plugin will
      return undef if we don't need to call qmp block_resize
    or
     return 1 if we need to call qmp block_resize

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

Reply via email to