于 2011年03月10日 15:29, Daniel Veillard 写道:
On Thu, Mar 10, 2011 at 03:08:28PM +0800, Osier Yang wrote:
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 |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index 0751fde..6d8e8b0 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -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 {

   Okay, this makes sense, ACK

Daniel

Thanks, pushed.

Regards
Osier

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to