]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Check for presence of qemu -nodefconfig option before using it
authorLaine Stump <laine@laine.org>
Thu, 24 Jun 2010 18:49:51 +0000 (14:49 -0400)
committerLaine Stump <laine@laine.org>
Thu, 24 Jun 2010 22:04:07 +0000 (18:04 -0400)
We previously assumed that if the -device option existed in qemu, that
-nodefconfig would also exist. It turns out that isn't the case, as
demonstrated by qemu-kvm-0.12.3 in Fedora 13.

*/src/qemu/qemu_conf.[hc] - add a new QEMUD_CMD_FLAG, set it via the
                            help output, and check it before adding
                            -nodefconfig to the qemu commandline.

src/qemu/qemu_conf.c
src/qemu/qemu_conf.h

index 39b61246a72064cb15443b2f9b659b54b2cccef8..ce42bd6043433c0180a60e724ad95509b29ee252 100644 (file)
@@ -1176,6 +1176,8 @@ static unsigned long long qemudComputeCmdFlags(const char *help,
         flags |= QEMUD_CMD_FLAG_BALLOON;
     if (strstr(help, "-device"))
         flags |= QEMUD_CMD_FLAG_DEVICE;
+    if (strstr(help, "-nodefconfig"))
+        flags |= QEMUD_CMD_FLAG_NODEFCONFIG;
     /* The trailing ' ' is important to avoid a bogus match */
     if (strstr(help, "-rtc "))
         flags |= QEMUD_CMD_FLAG_RTC;
@@ -3780,7 +3782,8 @@ int qemudBuildCommandLine(virConnectPtr conn,
         ADD_ARG_LIT("-nographic");
 
     if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) {
-        ADD_ARG_LIT("-nodefconfig"); /* Disabling global config files */
+        if (qemuCmdFlags & QEMUD_CMD_FLAG_NODEFCONFIG)
+            ADD_ARG_LIT("-nodefconfig"); /* Disabling global config files */
         ADD_ARG_LIT("-nodefaults");  /* Disabling default guest devices */
     }
 
index 0f8a1b3654a67447cfb569d9dd351e3c96fbf754..ab5f158c7f24f6211e836cef6d902149d39e43e4 100644 (file)
@@ -90,6 +90,7 @@ enum qemud_cmd_flags {
     QEMUD_CMD_FLAG_NO_KVM_PIT    = (1LL << 34), /* -no-kvm-pit-reinjection supported */
     QEMUD_CMD_FLAG_TDF           = (1LL << 35), /* -tdf flag (user-mode pit catchup) */
     QEMUD_CMD_FLAG_PCI_CONFIGFD  = (1LL << 36), /* pci-assign.configfd */
+    QEMUD_CMD_FLAG_NODEFCONFIG   = (1LL << 37), /* -nodefconfig */
 };
 
 /* Main driver state */