vmdk_probe for mono flat images.

Signed-off-by: Fam Zheng <famc...@gmail.com>
---
 block/vmdk.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/block/vmdk.c b/block/vmdk.c
index f787528..bf8d02a 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -101,10 +101,17 @@ static int vmdk_probe(const uint8_t *buf, int
buf_size, const char *filename)
         return 0;
     magic = be32_to_cpu(*(uint32_t *)buf);
     if (magic == VMDK3_MAGIC ||
-        magic == VMDK4_MAGIC)
+        magic == VMDK4_MAGIC) {
         return 100;
-    else
-        return 0;
+    } else {
+        char *cid_p, *ct_p, *extent_p;
+        cid_p = strstr((char *)buf, "CID");
+        ct_p = strstr((char *)buf, "createType");
+        extent_p = strstr((char *)buf, "RW");
+        if (cid_p && ct_p && extent_p)
+            return 100;
+    }
+    return 0;
 }

 #define CHECK_CID 1

Reply via email to