[pve-devel] [PATCH qemu-server v2 27/49] blockdev: move helper for resize into module
Fiona Ebner
f.ebner at proxmox.com
Tue Jul 1 17:40:47 CEST 2025
And replace the deprecated check_running() call while at it.
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
src/PVE/API2/Qemu.pm | 3 ++-
src/PVE/QemuServer.pm | 21 ---------------------
src/PVE/QemuServer/Blockdev.pm | 22 ++++++++++++++++++++++
3 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm
index 6565ce71..1aa3b358 100644
--- a/src/PVE/API2/Qemu.pm
+++ b/src/PVE/API2/Qemu.pm
@@ -28,6 +28,7 @@ use PVE::GuestImport;
use PVE::QemuConfig;
use PVE::QemuServer;
use PVE::QemuServer::Agent;
+use PVE::QemuServer::Blockdev;
use PVE::QemuServer::BlockJob;
use PVE::QemuServer::Cloudinit;
use PVE::QemuServer::CPUConfig;
@@ -5745,7 +5746,7 @@ __PACKAGE__->register_method({
"update VM $vmid: resize --disk $disk --size $sizestr",
);
- PVE::QemuServer::qemu_block_resize(
+ PVE::QemuServer::Blockdev::resize(
$vmid, "drive-$disk", $storecfg, $volid, $newsize,
);
diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm
index dedb05f1..3f135fcb 100644
--- a/src/PVE/QemuServer.pm
+++ b/src/PVE/QemuServer.pm
@@ -4341,27 +4341,6 @@ sub qemu_block_set_io_throttle {
}
-sub qemu_block_resize {
- my ($vmid, $deviceid, $storecfg, $volid, $size) = @_;
-
- my $running = check_running($vmid);
-
- PVE::Storage::volume_resize($storecfg, $volid, $size, $running);
-
- return if !$running;
-
- my $padding = (1024 - $size % 1024) % 1024;
- $size = $size + $padding;
-
- mon_cmd(
- $vmid,
- "block_resize",
- device => $deviceid,
- size => int($size),
- timeout => 60,
- );
-}
-
sub qemu_volume_snapshot {
my ($vmid, $deviceid, $storecfg, $volid, $snap) = @_;
diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm
index 362355a0..660ad471 100644
--- a/src/PVE/QemuServer/Blockdev.pm
+++ b/src/PVE/QemuServer/Blockdev.pm
@@ -12,6 +12,7 @@ use PVE::JSONSchema qw(json_bool);
use PVE::Storage;
use PVE::QemuServer::Drive qw(drive_is_cdrom);
+use PVE::QemuServer::Helpers;
use PVE::QemuServer::Monitor qw(mon_cmd);
my sub tpm_backup_node_name {
@@ -500,4 +501,25 @@ sub detach_fleecing_block_nodes {
}
}
+sub resize {
+ my ($vmid, $deviceid, $storecfg, $volid, $size) = @_;
+
+ my $running = PVE::QemuServer::Helpers::vm_running_locally($vmid);
+
+ PVE::Storage::volume_resize($storecfg, $volid, $size, $running);
+
+ return if !$running;
+
+ my $padding = (1024 - $size % 1024) % 1024;
+ $size = $size + $padding;
+
+ mon_cmd(
+ $vmid,
+ "block_resize",
+ device => $deviceid,
+ size => int($size),
+ timeout => 60,
+ );
+}
+
1;
--
2.47.2
More information about the pve-devel
mailing list