diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 4c1199ca37..071ebaa4e1 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1784,6 +1784,7 @@ virDomainDiskDefFree(virDomainDiskDefPtr def) VIR_FREE(def->dst); virStorageSourceFree(def->mirror); VIR_FREE(def->wwn); + VIR_FREE(def->driverName); VIR_FREE(def->vendor); VIR_FREE(def->product); VIR_FREE(def->domain_name); @@ -1848,7 +1849,7 @@ virDomainDiskEmptySource(virDomainDiskDefPtr def) const char * virDomainDiskGetDriver(const virDomainDiskDef *def) { - return def->src->driverName; + return def->driverName; } @@ -1856,11 +1857,11 @@ int virDomainDiskSetDriver(virDomainDiskDefPtr def, const char *name) { int ret; - char *tmp = def->src->driverName; + char *tmp = def->driverName; - ret = VIR_STRDUP(def->src->driverName, name); + ret = VIR_STRDUP(def->driverName, name); if (ret < 0) - def->src->driverName = tmp; + def->driverName = tmp; else VIR_FREE(tmp); return ret; @@ -9137,7 +9138,7 @@ virDomainDiskDefDriverParseXML(virDomainDiskDefPtr def, char *tmp = NULL; int ret = -1; - def->src->driverName = virXMLPropString(cur, "name"); + def->driverName = virXMLPropString(cur, "name"); if ((tmp = virXMLPropString(cur, "cache")) && (def->cachemode = virDomainDiskCacheTypeFromString(tmp)) < 0) { diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 99355532f3..3c7eccb8ca 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -644,6 +644,8 @@ struct _virDomainDiskDef { virDomainBlockIoTuneInfo blkdeviotune; + char *driverName; + char *serial; char *wwn; char *vendor; diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 67b9ec71ac..531540ac91 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -2048,7 +2048,6 @@ virStorageSourceCopy(const virStorageSource *src, if (VIR_STRDUP(ret->path, src->path) < 0 || VIR_STRDUP(ret->volume, src->volume) < 0 || - VIR_STRDUP(ret->driverName, src->driverName) < 0 || VIR_STRDUP(ret->relPath, src->relPath) < 0 || VIR_STRDUP(ret->backingStoreRaw, src->backingStoreRaw) < 0 || VIR_STRDUP(ret->snapshot, src->snapshot) < 0 || @@ -2135,10 +2134,6 @@ virStorageSourceInitChainElement(virStorageSourcePtr newelem, virStorageSourceSeclabelsCopy(newelem, old) < 0) goto cleanup; - if (!newelem->driverName && - VIR_STRDUP(newelem->driverName, old->driverName) < 0) - goto cleanup; - newelem->shared = old->shared; newelem->readonly = old->readonly; @@ -2266,7 +2261,6 @@ virStorageSourceClear(virStorageSourcePtr def) VIR_FREE(def->snapshot); VIR_FREE(def->configFile); virStorageSourcePoolDefFree(def->srcpool); - VIR_FREE(def->driverName); virBitmapFree(def->features); VIR_FREE(def->compat); virStorageEncryptionFree(def->encryption); diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h index 596746ccb7..d129e81978 100644 --- a/src/util/virstoragefile.h +++ b/src/util/virstoragefile.h @@ -246,7 +246,6 @@ struct _virStorageSource { virObjectPtr privateData; - char *driverName; int format; /* virStorageFileFormat in domain backing chains, but * pool-specific enum for storage volumes */ virBitmapPtr features;