]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: Update qemu-img flag checking
authorOsier Yang <jyang@redhat.com>
Thu, 10 Mar 2011 07:02:28 +0000 (15:02 +0800)
committerOsier Yang <jyang@redhat.com>
Thu, 10 Mar 2011 07:02:28 +0000 (15:02 +0800)
For newer qemu-img, the help string for "backing file format" is
"[-F backing_fmt]".

Fix the wrong logic error by commit e997c268.

* src/storage/storage_backend.c

src/storage/storage_backend.c

index 0751fdeabf0ec660b2542daa8c2883cf9c71f9cc..6d8e8b046ca76a95caafeace01f72d3929fbccfb 100644 (file)
@@ -595,7 +595,8 @@ static int virStorageBackendQEMUImgBackingFormat(const char *qemuimg)
 
     start = strstr(help, " create ");
     end = strstr(start, "\n");
-    if ((tmp = strstr(start, "-F fmt")) && tmp < end)
+    if (((tmp = strstr(start, "-F fmt")) && tmp < end) ||
+        ((tmp = strstr(start, "-F backing_fmt")) && tmp < end))
         ret = QEMU_IMG_BACKING_FORMAT_FLAG;
     else if ((tmp = strstr(start, "[-o options]")) && tmp < end)
         ret = QEMU_IMG_BACKING_FORMAT_OPTIONS;
@@ -757,7 +758,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn,
         };
 
         if (vol->target.encryption != NULL) {
-            if (imgformat == QEMU_IMG_BACKING_FORMAT_FLAG) {
+            if (imgformat == QEMU_IMG_BACKING_FORMAT_OPTIONS) {
                 imgargv[8] = "-o";
                 imgargv[9] = "encryption=on";
             } else {
@@ -837,7 +838,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn,
         };
 
         if (vol->target.encryption != NULL) {
-            if (imgformat == QEMU_IMG_BACKING_FORMAT_FLAG) {
+            if (imgformat == QEMU_IMG_BACKING_FORMAT_OPTIONS) {
                 imgargv[6] = "-o";
                 imgargv[7] = "encryption=on";
             } else {