]> git.pld-linux.org Git - packages/qemu.git/blame - vmdk3ro.patch
Use seabios binary from the seabios package
[packages/qemu.git] / vmdk3ro.patch
CommitLineData
008c880e
ER
1From: Fam Zheng
2Subject: [Qemu-devel] [PATCH v2 1/2] vmdk: Allow read only open of VMDK version 3
3Date: Thu, 28 Nov 2013 09:48:03 +0800
4URL: https://lists.gnu.org/archive/html/qemu-devel/2013-11/msg03652.html
5
6Signed-off-by: Fam Zheng <address@hidden>
7---
8 block/vmdk.c | 9 ++++++++-
9 1 file changed, 8 insertions(+), 1 deletion(-)
10
11diff --git a/block/vmdk.c b/block/vmdk.c
12index a7ebd0f..6fd20dc 100644
13--- a/block/vmdk.c
14+++ b/block/vmdk.c
15@@ -605,13 +605,20 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
16 header = footer.header;
17 }
18
19- if (le32_to_cpu(header.version) >= 3) {
20+ if (le32_to_cpu(header.version) > 3) {
21 char buf[64];
22 snprintf(buf, sizeof(buf), "VMDK version %d",
23 le32_to_cpu(header.version));
24 qerror_report(QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,
25 bs->device_name, "vmdk", buf);
26 return -ENOTSUP;
27+ } else if (le32_to_cpu(header.version) == 3 && (flags & BDRV_O_RDWR)) {
28+ /* VMware KB 2064959 explains that version 3 added support for
29+ * persistent changed block tracking (CBT), and backup software can
30+ * read it as version=1 if it doesn't care about the changed area
31+ * information. So we are safe to enable read only. */
32+ error_setg(errp, "VMDK version 3 must be read only");
33+ return -EINVAL;
34 }
35
36 if (le32_to_cpu(header.num_gtes_per_gt) > 512) { --
371.8.4.2
This page took 0.024258 seconds and 4 git commands to generate.