|
From: | Eric Blake |
Subject: | Re: [Qemu-devel] [PATCH] vmdk: return ENOTSUP before offset overflow |
Date: | Thu, 22 Mar 2018 07:55:42 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 03/21/2018 09:40 PM, yuchenlin--- via Qemu-devel wrote:
From: yuchenlin <address@hidden> VMDK has a hard limitation of extent size, which is due to the size of grain table entry is 32 bits. It means it can only point to a grain located at offset = 2^32. To prevent offset overflow and record a useless offset in grain table. We should return un-support here. Signed-off-by: yuchenlin <address@hidden> --- block/vmdk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/block/vmdk.c b/block/vmdk.c index f94c49a9c0..d8fc961940 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -47,6 +47,9 @@ #define VMDK4_FLAG_MARKER (1 << 17) #define VMDK4_GD_AT_END 0xffffffffffffffffULL+/* 2TB */+#define VMDK_EXTENT_SIZE_LIMIT (2199023255552)
Please spell this '(2ULL * 1024 * 1024 * 1024 * 1024)', or even rebase it on top of Phillipe's BYTE-based definitions as '2 * T_BYTE' (v2 proposed a cunits.h, although v3 is still pending posting and may rename the header units.h)
https://lists.gnu.org/archive/html/qemu-devel/2018-03/msg01077.html -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |