You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2013/02/18 18:21:25 UTC

[35/38] git commit: refs/heads/qemu-img - Use the info method for finding out if it has a backing file.

Use the info method for finding out if it has a backing file.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/dcb0484b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/dcb0484b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/dcb0484b

Branch: refs/heads/qemu-img
Commit: dcb0484b74c1a4c1fd303cea88f97f031739d481
Parents: a0b0878
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Mon Feb 18 15:07:38 2013 +0100
Committer: Wido den Hollander <wi...@widodh.nl>
Committed: Mon Feb 18 15:07:38 2013 +0100

----------------------------------------------------------------------
 .../kvm/storage/LibvirtStorageAdaptor.java         |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/dcb0484b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
index 63027fd..41ce76f 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
@@ -22,6 +22,8 @@ import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
+import java.util.Map;
+import java.util.HashMap;
 import org.apache.log4j.Logger;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.cloudstack.utils.qemu.QemuImg;
@@ -692,8 +694,10 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
         QemuImgFile destFile = null;
 
         if ((srcPool.getType() != StoragePoolType.RBD) && (destPool.getType() != StoragePoolType.RBD)) {
-            if (sourceFormat.equals(destFormat) && 
-                Script.runSimpleBashScript("qemu-img info " + sourcePath + "|grep backing") == null) {
+            srcFile = new QemuImgFile(sourcePath);
+            Map<String, String> info = Qemu.info(srcFile);
+            String backingFile = info.get(new String("backing_file"));
+            if (sourceFormat.equals(destFormat) && !backingFile) {
                 Script.runSimpleBashScript("cp -f " + sourcePath + " " + destPath);
 
             } else {