]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuSlirpStart: Simplify parameters
authorPeter Krempa <pkrempa@redhat.com>
Tue, 10 May 2022 14:28:52 +0000 (16:28 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 16 May 2022 07:15:46 +0000 (09:15 +0200)
The 'driver' can be taken from the private data of 'vm' and 'slirp' can
be taken from private data of 'net', both of which we need anyways.

Additionally by checking whether slirp needs to be started inside the
function we don't need to do this logic in the callers.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_extdevice.c
src/qemu/qemu_hotplug.c
src/qemu/qemu_slirp.c
src/qemu/qemu_slirp.h

index 537b13039488a5f91b54e9876cb33e5d5ff14c43..1e54d4ef2c2573d881185e032710f1ffa4db02ce 100644 (file)
@@ -185,10 +185,8 @@ qemuExtDevicesStart(virQEMUDriver *driver,
 
     for (i = 0; i < def->nnets; i++) {
         virDomainNetDef *net = def->nets[i];
-        qemuSlirp *slirp = QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp;
 
-        if (slirp &&
-            qemuSlirpStart(slirp, vm, driver, net, incomingMigration) < 0)
+        if (qemuSlirpStart(vm, net, incomingMigration) < 0)
             return -1;
     }
 
index 8314d0e54604b1546e20decf3e340d8808bd5a4d..9eeba0210fc1c578d9c825b7b4bc78e9d1b98b61 100644 (file)
@@ -1314,7 +1314,7 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
                 break;
 
             if (qemuSlirpOpen(slirp, driver, vm->def) < 0 ||
-                qemuSlirpStart(slirp, vm, driver, net, NULL) < 0) {
+                qemuSlirpStart(vm, net, NULL) < 0) {
                 virReportError(VIR_ERR_INTERNAL_ERROR,
                                "%s", _("Failed to start slirp"));
                 goto cleanup;
index c832cfc20bbdcf0471c3d27af95d459640310ebf..e1f06573e3eb7370a5cdecf20da904cdcb00da95 100644 (file)
@@ -245,12 +245,13 @@ qemuSlirpSetupCgroup(qemuSlirp *slirp,
 
 
 int
-qemuSlirpStart(qemuSlirp *slirp,
-               virDomainObj *vm,
-               virQEMUDriver *driver,
+qemuSlirpStart(virDomainObj *vm,
                virDomainNetDef *net,
                bool incoming)
 {
+    qemuDomainObjPrivate *priv = vm->privateData;
+    virQEMUDriver *driver = priv->driver;
+    qemuSlirp *slirp = QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp;
     g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
     g_autoptr(virCommand) cmd = NULL;
     g_autofree char *pidfile = NULL;
@@ -262,6 +263,9 @@ qemuSlirpStart(qemuSlirp *slirp,
     VIR_AUTOCLOSE errfd = -1;
     bool killDBusDaemon = false;
 
+    if (!slirp)
+        return 0;
+
     if (incoming &&
         !qemuSlirpHasFeature(slirp, QEMU_SLIRP_FEATURE_MIGRATE)) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
index a9a09cd5f85c4a9d5f853f058becbd8e5c3ec11d..507ea720fa5dd0e4e9fd5fd7bba2fe433fae1524 100644 (file)
@@ -61,9 +61,7 @@ int qemuSlirpOpen(qemuSlirp *slirp,
                   virQEMUDriver *driver,
                   virDomainDef *def);
 
-int qemuSlirpStart(qemuSlirp *slirp,
-                   virDomainObj *vm,
-                   virQEMUDriver *driver,
+int qemuSlirpStart(virDomainObj *vm,
                    virDomainNetDef *net,
                    bool incoming);