[pve-devel] [PATCH qemu-server 2/3] blockdev: attach/detach: silence errors for QMP commands for which failure may be expected
Fiona Ebner
f.ebner at proxmox.com
Tue Aug 5 11:25:32 CEST 2025
Without passing 'noerr' to mon_cmd(), errors are logged to the system
journal. In attach() and detach(), there are two mon_cmd() calls that
are expected to fail in some scenarios for which the errors should not
be logged.
Reported-by: Friedrich Weber <f.weber at proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
src/PVE/QemuServer/Blockdev.pm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm
index d0d7e684..04eeed3c 100644
--- a/src/PVE/QemuServer/Blockdev.pm
+++ b/src/PVE/QemuServer/Blockdev.pm
@@ -575,7 +575,7 @@ sub attach {
eval {
if ($throttle_group_id) {
# Try to remove potential left-over.
- eval { mon_cmd($vmid, 'object-del', id => $throttle_group_id); };
+ mon_cmd($vmid, 'object-del', id => $throttle_group_id, noerr => 1);
my $throttle_group = generate_throttle_group($drive);
mon_cmd($vmid, 'object-add', $throttle_group->%*);
@@ -630,8 +630,8 @@ sub detach {
while ($node_name) {
last if !$block_info->{$node_name}; # already gone
- eval { mon_cmd($vmid, 'blockdev-del', 'node-name' => "$node_name"); };
- if (my $err = $@) {
+ my $res = mon_cmd($vmid, 'blockdev-del', 'node-name' => "$node_name", noerr => 1);
+ if (my $err = $res->{error}) {
last if $err =~ m/Failed to find node with node-name/; # already gone
die "deleting blockdev '$node_name' failed : $err\n";
}
--
2.47.2
More information about the pve-devel
mailing list