]> xenbits.xensource.com Git - libvirt.git/commitdiff
libxlDomainDetachNetDevice: cleanup codes
authorChunyan Liu <cyliu@suse.com>
Mon, 21 Mar 2016 08:11:37 +0000 (16:11 +0800)
committerJim Fehlig <jfehlig@suse.com>
Fri, 25 Mar 2016 22:57:34 +0000 (16:57 -0600)
Adjust codes to make it cleaner.

Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/libxl/libxl_driver.c

index f6417eaf61d28979413fdb137b6a71bad0a0367f..b2e23c0a895394d2c4187919b6e05d30d437d90d 100644 (file)
@@ -3412,8 +3412,10 @@ libxlDomainDetachNetDevice(libxlDriverPrivatePtr driver,
     char mac[VIR_MAC_STRING_BUFLEN];
     int ret = -1;
 
+    libxl_device_nic_init(&nic);
+
     if ((detachidx = virDomainNetFindIdx(vm->def, net)) < 0)
-        goto out;
+        goto cleanup;
 
     detach = vm->def->nets[detachidx];
 
@@ -3423,10 +3425,9 @@ libxlDomainDetachNetDevice(libxlDriverPrivatePtr driver,
          */
         ret = libxlDomainDetachHostDevice(driver, vm,
                                           virDomainNetGetActualHostdev(detach));
-        goto out;
+        goto cleanup;
     }
 
-    libxl_device_nic_init(&nic);
     if (libxl_mac_to_device_nic(cfg->ctx, vm->def->id,
                                 virMacAddrFormat(&detach->mac, mac), &nic))
         goto cleanup;
@@ -3437,13 +3438,11 @@ libxlDomainDetachNetDevice(libxlDriverPrivatePtr driver,
         goto cleanup;
     }
 
+    virDomainNetRemove(vm->def, detachidx);
     ret = 0;
 
  cleanup:
     libxl_device_nic_dispose(&nic);
- out:
-    if (!ret)
-        virDomainNetRemove(vm->def, detachidx);
     virObjectUnref(cfg);
     return ret;
 }