]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: make processNetDevStreamDisconnectedEvent() reusable
authorLaine Stump <laine@redhat.com>
Fri, 4 Apr 2025 20:57:21 +0000 (16:57 -0400)
committerLaine Stump <laine@redhat.com>
Fri, 11 Apr 2025 03:47:21 +0000 (23:47 -0400)
We will be adding a new event whose response will be *exactly* the
same as the response to NETDEV_STREAM_DISCONNECTED. Rather than doing
a copy-paste of the complete function that does the processing, turn
that function into something more generic that takes the name of the
event as an arg (the event name is only used in log messages).

Signed-off-by: Laine Stump <laine@redhat.com>
Tested-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_driver.c

index 589778eaed50a3728c0b79727044d9809e27bce0..5b46616c5b2f8c8272bea7e16c2501ae5f7bec3d 100644 (file)
@@ -3607,8 +3607,9 @@ processDeviceDeletedEvent(virQEMUDriver *driver,
 
 
 static void
-processNetdevStreamDisconnectedEvent(virDomainObj *vm,
-                                     const char *netdevId)
+processNetdevDisconnectedEvent(virDomainObj *vm,
+                               const char *netdevId,
+                               const char *eventName)
 {
     virDomainDeviceDef dev;
     virDomainNetDef *def;
@@ -3623,13 +3624,13 @@ processNetdevStreamDisconnectedEvent(virDomainObj *vm,
      */
 
     if (!devAlias) {
-        VIR_WARN("Received NETDEV_STREAM_DISCONNECTED event for unrecognized netdev %s from domain %p %s",
-                  netdevId, vm, vm->def->name);
+        VIR_WARN("Received %s event for unrecognized netdev %s from domain %p %s",
+                 eventName, netdevId, vm, vm->def->name);
         return;
     }
 
-    VIR_DEBUG("Received NETDEV_STREAM_DISCONNECTED event for device %s from domain %p %s",
-              devAlias, vm, vm->def->name);
+    VIR_DEBUG("Received %s event for device %s from domain %p %s",
+              eventName, devAlias, vm, vm->def->name);
 
     if (virDomainObjBeginJob(vm, VIR_JOB_QUERY) < 0)
         return;
@@ -3640,28 +3641,28 @@ processNetdevStreamDisconnectedEvent(virDomainObj *vm,
     }
 
     if (virDomainDefFindDevice(vm->def, devAlias, &dev, true) < 0) {
-        VIR_WARN("NETDEV_STREAM_DISCONNECTED event received for non-existent device %s in domain %s",
-                 devAlias, vm->def->name);
+        VIR_WARN("%s event received for non-existent device %s in domain %s",
+                 eventName, devAlias, vm->def->name);
         goto endjob;
     }
     if (dev.type != VIR_DOMAIN_DEVICE_NET) {
-        VIR_WARN("NETDEV_STREAM_DISCONNECTED event received for non-network device %s in domain %s",
-                 devAlias, vm->def->name);
+        VIR_WARN("%s event received for non-network device %s in domain %s",
+                 eventName, devAlias, vm->def->name);
         goto endjob;
     }
     def = dev.data.net;
 
     if (def->backend.type != VIR_DOMAIN_NET_BACKEND_PASST) {
-        VIR_DEBUG("ignore NETDEV_STREAM_DISCONNECTED event for non-passt network device %s in domain %s",
-                  def->info.alias, vm->def->name);
+        VIR_DEBUG("ignore %s event for non-passt network device %s in domain %s",
+                  eventName, def->info.alias, vm->def->name);
         goto endjob;
     }
 
     /* handle the event - restart the passt process with its original
      * parameters
      */
-    VIR_DEBUG("process NETDEV_STREAM_DISCONNECTED event for network device %s in domain %s",
-              def->info.alias, vm->def->name);
+    VIR_DEBUG("process %s event for network device %s in domain %s",
+              eventName, def->info.alias, vm->def->name);
 
     if (qemuPasstStart(vm, def) < 0)
         goto endjob;
@@ -3671,6 +3672,14 @@ processNetdevStreamDisconnectedEvent(virDomainObj *vm,
 }
 
 
+static void
+processNetdevStreamDisconnectedEvent(virDomainObj *vm,
+                                     const char *netdevId)
+{
+    processNetdevDisconnectedEvent(vm, netdevId, "NETDEV_STREAM_DISCONNECTED");
+}
+
+
 static void
 processNicRxFilterChangedEvent(virQEMUDriver *driver,
                                virDomainObj *vm,