vmdk_probe for mono flat images.
Signed-off-by: Fam Zheng <[email protected]>
---
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