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