]> xenbits.xensource.com Git - libvirt.git/commitdiff
storage: use enum for default driver type
authorEric Blake <eblake@redhat.com>
Fri, 28 Sep 2012 21:06:33 +0000 (15:06 -0600)
committerEric Blake <eblake@redhat.com>
Fri, 19 Oct 2012 23:35:09 +0000 (17:35 -0600)
Express the default disk type as an enum, for easier handling.

* src/conf/capabilities.h (_virCaps): Store enum rather than
string for disk type.
* src/conf/domain_conf.c (virDomainDiskDefParseXML): Adjust
clients.
* src/qemu/qemu_driver.c (qemuCreateCapabilities): Likewise.

src/conf/capabilities.h
src/conf/domain_conf.c
src/qemu/qemu_driver.c

index 0d56290788689538fb26a653bc72ab5f6cb3321a..99056f87c8fbe169ecdfd56bf95bdbad48d27780 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * capabilities.h: hypervisor capabilities
  *
- * Copyright (C) 2006-2008, 2010 Red Hat, Inc.
+ * Copyright (C) 2006-2008, 2010, 2012 Red Hat, Inc.
  * Copyright (C) 2006-2008 Daniel P. Berrange
  *
  * This library is free software; you can redistribute it and/or
@@ -149,7 +149,7 @@ struct _virCaps {
     unsigned char macPrefix[VIR_MAC_PREFIX_BUFLEN];
     unsigned int emulatorRequired : 1;
     const char *defaultDiskDriverName;
-    const char *defaultDiskDriverType;
+    int defaultDiskDriverType; /* enum virStorageFileFormat */
     int (*defaultConsoleTargetType)(const char *ostype);
     void *(*privateDataAllocFunc)(void);
     void (*privateDataFreeFunc)(void *);
index b8f742e51941d972518e8e9b571bce59965f092e..d64084a9009844e7166d0e992a88e99c1c8eaab2 100644 (file)
@@ -4192,7 +4192,8 @@ virDomainDiskDefParseXML(virCapsPtr caps,
 
     if (!def->driverType &&
         caps->defaultDiskDriverType &&
-        !(def->driverType = strdup(caps->defaultDiskDriverType)))
+        !(def->driverType = strdup(virStorageFileFormatTypeToString(
+                                       caps->defaultDiskDriverType))))
         goto no_memory;
 
     if (!def->driverName &&
@@ -4203,7 +4204,8 @@ virDomainDiskDefParseXML(virCapsPtr caps,
 
     if (def->mirror && !def->mirrorFormat &&
         caps->defaultDiskDriverType &&
-        !(def->mirrorFormat = strdup(caps->defaultDiskDriverType)))
+        !(def->mirrorFormat = strdup(virStorageFileFormatTypeToString(
+                                         caps->defaultDiskDriverType))))
         goto no_memory;
 
     if (def->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE
index 5bf49bbd6358d3d6f80cf3649adbb3da2900c3bf..78e939e6eccea37dbbe734ba674c74322b6eb6fe 100644 (file)
@@ -394,10 +394,10 @@ qemuCreateCapabilities(struct qemud_driver *driver)
 
     if (driver->allowDiskFormatProbing) {
         caps->defaultDiskDriverName = NULL;
-        caps->defaultDiskDriverType = NULL;
+        caps->defaultDiskDriverType = VIR_STORAGE_FILE_AUTO;
     } else {
         caps->defaultDiskDriverName = "qemu";
-        caps->defaultDiskDriverType = "raw";
+        caps->defaultDiskDriverType = VIR_STORAGE_FILE_RAW;
     }
 
     qemuDomainSetPrivateDataHooks(caps);