Re: [libvirt] [PATCH v2 2/9] virstoragefile: Always use virStorageSourceGetBackingStore to get backing store

2015-01-28 Thread Michal Privoznik
On 21.01.2015 16:29, Matthias Gatto wrote:
 Uniformize backing store usage by calling virStorageSourceGetBackingStore
 instead of setting backing store manually.
 
 Signed-off-by: Matthias Gatto matthias.ga...@outscale.com
 ---
  src/conf/domain_conf.c|  7 ---
  src/conf/storage_conf.c   | 18 ++
  src/qemu/qemu_cgroup.c|  4 ++--
  src/qemu/qemu_domain.c|  2 +-
  src/qemu/qemu_driver.c| 12 ++--
  src/security/security_dac.c   |  2 +-
  src/security/security_selinux.c   |  4 ++--
  src/security/virt-aa-helper.c |  2 +-
  src/storage/storage_backend.c | 30 --
  src/storage/storage_backend_fs.c  | 31 +--
  src/storage/storage_backend_gluster.c |  8 +---
  src/storage/storage_backend_logical.c |  6 +++---
  src/util/virstoragefile.c | 20 ++--
  tests/virstoragetest.c| 14 +++---
  14 files changed, 85 insertions(+), 75 deletions(-)
 
 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
 index 8792f5e..0668a5b 100644
 --- a/src/conf/domain_conf.c
 +++ b/src/conf/domain_conf.c
 @@ -16704,7 +16704,7 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf,
  /* We currently don't output seclabels for backing chain element */
  if (virDomainDiskSourceFormatInternal(buf, backingStore, 0, 0, true)  0 
 ||
  virDomainDiskBackingStoreFormat(buf,
 -backingStore-backingStore,
 +
 virStorageSourceGetBackingStore(backingStore, 0),
  backingStore-backingStoreRaw,
  idx + 1)  0)
  return -1;
 @@ -16826,7 +16826,8 @@ virDomainDiskDefFormat(virBufferPtr buf,
  /* Don't format backingStore to inactive XMLs until the code for
   * persistent storage of backing chains is ready. */
  if (!(flags  VIR_DOMAIN_DEF_FORMAT_INACTIVE) 
 -virDomainDiskBackingStoreFormat(buf, def-src-backingStore,
 +virDomainDiskBackingStoreFormat(buf,
 +
 virStorageSourceGetBackingStore(def-src, 0),
  def-src-backingStoreRaw, 1)  0)
  return -1;
  
 @@ -20868,7 +20869,7 @@ virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
  }
  }
  
 -for (tmp = disk-src; tmp; tmp = tmp-backingStore) {
 +for (tmp = disk-src; tmp; tmp = virStorageSourceGetBackingStore(tmp, 
 0)) {
  int actualType = virStorageSourceGetActualType(tmp);
  /* execute the callback only for local storage */
  if (actualType != VIR_STORAGE_TYPE_NETWORK 
 diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
 index e9aaa8a..f4f7e24 100644
 --- a/src/conf/storage_conf.c
 +++ b/src/conf/storage_conf.c
 @@ -1339,20 +1339,22 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
  }
  
  if ((backingStore = virXPathString(string(./backingStore/path), 
 ctxt))) {
 +virStorageSourcePtr backingStorePtr;
  if (VIR_ALLOC(ret-target.backingStore)  0)
  goto error;
  
 -ret-target.backingStore-path = backingStore;
 +backingStorePtr = virStorageSourceGetBackingStore(ret-target, 0);
 +backingStorePtr-path = backingStore;
  backingStore = NULL;
  
  if (options-formatFromString) {
  char *format = 
 virXPathString(string(./backingStore/format/@type), ctxt);
  if (format == NULL)
 -ret-target.backingStore-format = options-defaultFormat;
 +backingStorePtr-format = options-defaultFormat;
  else
 -ret-target.backingStore-format = 
 (options-formatFromString)(format);
 +backingStorePtr-format = 
 (options-formatFromString)(format);
  
 -if (ret-target.backingStore-format  0) {
 +if (backingStorePtr-format  0) {
  virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
 _(unknown volume format type %s), format);
  VIR_FREE(format);
 @@ -1361,9 +1363,9 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
  VIR_FREE(format);
  }
  
 -if (VIR_ALLOC(ret-target.backingStore-perms)  0)
 +if (VIR_ALLOC(backingStorePtr-perms)  0)
  goto error;
 -if (virStorageDefParsePerms(ctxt, ret-target.backingStore-perms,
 +if (virStorageDefParsePerms(ctxt, backingStorePtr-perms,
  ./backingStore/permissions,
  DEFAULT_VOL_PERM_MODE)  0)
  goto error;
 @@ -1641,9 +1643,9 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool,
   def-target, target)  0)
  goto cleanup;
  
 -if (def-target.backingStore 
 

[libvirt] [PATCH v2 2/9] virstoragefile: Always use virStorageSourceGetBackingStore to get backing store

2015-01-21 Thread Matthias Gatto
Uniformize backing store usage by calling virStorageSourceGetBackingStore
instead of setting backing store manually.

Signed-off-by: Matthias Gatto matthias.ga...@outscale.com
---
 src/conf/domain_conf.c|  7 ---
 src/conf/storage_conf.c   | 18 ++
 src/qemu/qemu_cgroup.c|  4 ++--
 src/qemu/qemu_domain.c|  2 +-
 src/qemu/qemu_driver.c| 12 ++--
 src/security/security_dac.c   |  2 +-
 src/security/security_selinux.c   |  4 ++--
 src/security/virt-aa-helper.c |  2 +-
 src/storage/storage_backend.c | 30 --
 src/storage/storage_backend_fs.c  | 31 +--
 src/storage/storage_backend_gluster.c |  8 +---
 src/storage/storage_backend_logical.c |  6 +++---
 src/util/virstoragefile.c | 20 ++--
 tests/virstoragetest.c| 14 +++---
 14 files changed, 85 insertions(+), 75 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 8792f5e..0668a5b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -16704,7 +16704,7 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf,
 /* We currently don't output seclabels for backing chain element */
 if (virDomainDiskSourceFormatInternal(buf, backingStore, 0, 0, true)  0 ||
 virDomainDiskBackingStoreFormat(buf,
-backingStore-backingStore,
+
virStorageSourceGetBackingStore(backingStore, 0),
 backingStore-backingStoreRaw,
 idx + 1)  0)
 return -1;
@@ -16826,7 +16826,8 @@ virDomainDiskDefFormat(virBufferPtr buf,
 /* Don't format backingStore to inactive XMLs until the code for
  * persistent storage of backing chains is ready. */
 if (!(flags  VIR_DOMAIN_DEF_FORMAT_INACTIVE) 
-virDomainDiskBackingStoreFormat(buf, def-src-backingStore,
+virDomainDiskBackingStoreFormat(buf,
+
virStorageSourceGetBackingStore(def-src, 0),
 def-src-backingStoreRaw, 1)  0)
 return -1;
 
@@ -20868,7 +20869,7 @@ virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
 }
 }
 
-for (tmp = disk-src; tmp; tmp = tmp-backingStore) {
+for (tmp = disk-src; tmp; tmp = virStorageSourceGetBackingStore(tmp, 0)) {
 int actualType = virStorageSourceGetActualType(tmp);
 /* execute the callback only for local storage */
 if (actualType != VIR_STORAGE_TYPE_NETWORK 
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index e9aaa8a..f4f7e24 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -1339,20 +1339,22 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
 }
 
 if ((backingStore = virXPathString(string(./backingStore/path), ctxt))) {
+virStorageSourcePtr backingStorePtr;
 if (VIR_ALLOC(ret-target.backingStore)  0)
 goto error;
 
-ret-target.backingStore-path = backingStore;
+backingStorePtr = virStorageSourceGetBackingStore(ret-target, 0);
+backingStorePtr-path = backingStore;
 backingStore = NULL;
 
 if (options-formatFromString) {
 char *format = 
virXPathString(string(./backingStore/format/@type), ctxt);
 if (format == NULL)
-ret-target.backingStore-format = options-defaultFormat;
+backingStorePtr-format = options-defaultFormat;
 else
-ret-target.backingStore-format = 
(options-formatFromString)(format);
+backingStorePtr-format = (options-formatFromString)(format);
 
-if (ret-target.backingStore-format  0) {
+if (backingStorePtr-format  0) {
 virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_(unknown volume format type %s), format);
 VIR_FREE(format);
@@ -1361,9 +1363,9 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
 VIR_FREE(format);
 }
 
-if (VIR_ALLOC(ret-target.backingStore-perms)  0)
+if (VIR_ALLOC(backingStorePtr-perms)  0)
 goto error;
-if (virStorageDefParsePerms(ctxt, ret-target.backingStore-perms,
+if (virStorageDefParsePerms(ctxt, backingStorePtr-perms,
 ./backingStore/permissions,
 DEFAULT_VOL_PERM_MODE)  0)
 goto error;
@@ -1641,9 +1643,9 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool,
  def-target, target)  0)
 goto cleanup;
 
-if (def-target.backingStore 
+if (virStorageSourceGetBackingStore((def-target), 0) 
 virStorageVolTargetDefFormat(options, buf,
-