]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
conf: use disk source accessors in conf/
authorEric Blake <eblake@redhat.com>
Mon, 17 Mar 2014 18:53:15 +0000 (12:53 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 24 Mar 2014 17:59:49 +0000 (11:59 -0600)
Part of a series of cleanups to use new accessor methods.

Several places in domain_conf.c still open-code raw field access,
but that code will be touched later with the diskDef struct split
so I'm avoiding churn here.

* src/conf/domain_audit.c (virDomainAuditStart): Use accessors.
* src/conf/domain_conf.c (virDomainDiskIndexByName)
(virDomainDiskPathByName, virDomainDiskDefForeachPath)
(virDomainDiskSourceIsBlockType): Likewise.
* src/conf/snapshot_conf.c (virDomainSnapshotAlignDisks):
Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/conf/domain_audit.c
src/conf/domain_conf.c
src/conf/snapshot_conf.c

index 69632b06cffc86ed2f5bf638a24464c3400c467c..e8bd4607aad99d1ddbcb107d90338272d3786eb2 100644 (file)
@@ -799,9 +799,10 @@ virDomainAuditStart(virDomainObjPtr vm, const char *reason, bool success)
     size_t i;
 
     for (i = 0; i < vm->def->ndisks; i++) {
-        virDomainDiskDefPtr disk = vm->def->disks[i];
-        if (disk->src) /* Skips CDROM without media initially inserted */
-            virDomainAuditDisk(vm, NULL, disk->src, "start", true);
+        const char *src = virDomainDiskGetSource(vm->def->disks[i]);
+
+        if (src) /* Skips CDROM without media initially inserted */
+            virDomainAuditDisk(vm, NULL, src, "start", true);
     }
 
     for (i = 0; i < vm->def->nfss; i++) {
index 28121b01d9e723f86034ed708280618f673b6436..c2b6325a0bcefa5fc321945451cd77aa7ec03e1a 100644 (file)
@@ -10283,8 +10283,7 @@ virDomainDiskIndexByName(virDomainDefPtr def, const char *name,
         if (*name != '/') {
             if (STREQ(vdisk->dst, name))
                 return i;
-        } else if (vdisk->src &&
-                   STREQ(vdisk->src, name)) {
+        } else if (STREQ_NULLABLE(virDomainDiskGetSource(vdisk), name)) {
             if (allow_ambiguous)
                 return i;
             if (candidate >= 0)
@@ -10303,7 +10302,7 @@ virDomainDiskPathByName(virDomainDefPtr def, const char *name)
 {
     int idx = virDomainDiskIndexByName(def, name, true);
 
-    return idx < 0 ? NULL : def->disks[idx]->src;
+    return idx < 0 ? NULL : virDomainDiskGetSource(def->disks[idx]);
 }
 
 int virDomainDiskInsert(virDomainDefPtr def,
@@ -18618,14 +18617,16 @@ virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
     int ret = -1;
     size_t depth = 0;
     virStorageFileMetadata *tmp;
+    const char *path = virDomainDiskGetSource(disk);
+    int type = virDomainDiskGetType(disk);
 
-    if (!disk->src || disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK ||
-        (disk->type == VIR_DOMAIN_DISK_TYPE_VOLUME &&
+    if (!path || type == VIR_DOMAIN_DISK_TYPE_NETWORK ||
+        (type == VIR_DOMAIN_DISK_TYPE_VOLUME &&
          disk->srcpool &&
          disk->srcpool->mode == VIR_DOMAIN_DISK_SOURCE_POOL_MODE_DIRECT))
         return 0;
 
-    if (iter(disk, disk->src, 0, opaque) < 0)
+    if (iter(disk, path, 0, opaque) < 0)
         goto cleanup;
 
     tmp = disk->backingChain;
@@ -19495,16 +19496,17 @@ virDomainDiskSourceIsBlockType(virDomainDiskDefPtr def)
     /* No reason to think the disk source is block type if
      * the source is empty
      */
-    if (!def->src)
+    if (!virDomainDiskGetSource(def))
         return false;
 
-    if (def->type == VIR_DOMAIN_DISK_TYPE_BLOCK)
+    if (virDomainDiskGetType(def) == VIR_DOMAIN_DISK_TYPE_BLOCK)
         return true;
 
     /* For volume types, check the srcpool.
      * If it's a block type source pool, then it's possible
      */
-    if (def->type == VIR_DOMAIN_DISK_TYPE_VOLUME && def->srcpool &&
+    if (virDomainDiskGetType(def) == VIR_DOMAIN_DISK_TYPE_VOLUME &&
+        def->srcpool &&
         def->srcpool->voltype == VIR_STORAGE_VOL_BLOCK) {
         /* We don't think the volume accessed by remote URI is
          * block type source, since we can't/shouldn't manage it
index 6fa14ed263df3464b3c6e1f0355111d2370891de..0509743b1cf6fbb1fbbe1adc8c6c4cae14899fd6 100644 (file)
@@ -558,7 +558,7 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
 
         if (disk->snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL &&
             !disk->file) {
-            const char *original = def->dom->disks[i]->src;
+            const char *original = virDomainDiskGetSource(def->dom->disks[i]);
             const char *tmp;
             struct stat sb;