qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] vmdk: Support version=3 in VMDK descriptor files


From: Sam Eiderman
Subject: [Qemu-devel] [PATCH] vmdk: Support version=3 in VMDK descriptor files
Date: Thu, 14 Mar 2019 16:14:37 +0200

Commit 509d39aa22909c0ed1aabf896865f19c81fb38a1 added support for read
only VMDKs of version 3.

This commit fixes the probe function to correctly handle descriptors of
version 3.

This commit has two effects:
    1. We no longer need to supply '-f vmdk' when pointing to descriptor
       files of version 3 in qemu/qemu-img command line arguments.
    2. This fixes the scenario where a VMDK points to a parent version 3
       descriptor file which is being probed as "raw" instead of "vmdk".

Reviewed-by: Arbel Moshe <address@hidden>
Reviewed-by: Mark Kanda <address@hidden>
Signed-off-by: Shmuel Eiderman <address@hidden>
---
 block/vmdk.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/block/vmdk.c b/block/vmdk.c
index d8c0c50390..8dec6ef767 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -195,13 +195,15 @@ static int vmdk_probe(const uint8_t *buf, int buf_size, 
const char *filename)
             }
             if (end - p >= strlen("version=X\n")) {
                 if (strncmp("version=1\n", p, strlen("version=1\n")) == 0 ||
-                    strncmp("version=2\n", p, strlen("version=2\n")) == 0) {
+                    strncmp("version=2\n", p, strlen("version=2\n")) == 0 ||
+                    strncmp("version=3\n", p, strlen("version=3\n")) == 0) {
                     return 100;
                 }
             }
             if (end - p >= strlen("version=X\r\n")) {
                 if (strncmp("version=1\r\n", p, strlen("version=1\r\n")) == 0 
||
-                    strncmp("version=2\r\n", p, strlen("version=2\r\n")) == 0) 
{
+                    strncmp("version=2\r\n", p, strlen("version=2\r\n")) == 0 
||
+                    strncmp("version=3\r\n", p, strlen("version=3\r\n")) == 0) 
{
                     return 100;
                 }
             }
-- 
2.13.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]