build/image: warn if missing qemu-img for VDI/VMDK
[openwrt/staging/mkresin.git] / tools / qemu / patches / 0008-VMDK-move-static-cid_update-flag-to-bs-field.patch
1 From 9d8117f00364c12cbd658de903b1ed26a30584e0 Mon Sep 17 00:00:00 2001
2 From: Fam Zheng <famcool@gmail.com>
3 Date: Tue, 12 Jul 2011 19:56:34 +0800
4 Subject: [PATCH 08/12] VMDK: move 'static' cid_update flag to bs field
5
6 Cid_update is the flag for updating CID on first write after opening the
7 image. This should be per image open rather than per program life cycle,
8 so change it from static var of vmdk_write to a field in BDRVVmdkState.
9
10 Signed-off-by: Fam Zheng <famcool@gmail.com>
11 Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 Signed-off-by: Kevin Wolf <kwolf@redhat.com>
13 ---
14 block/vmdk.c | 6 +++---
15 1 file changed, 3 insertions(+), 3 deletions(-)
16
17 --- a/block/vmdk.c
18 +++ b/block/vmdk.c
19 @@ -82,6 +82,7 @@ typedef struct VmdkExtent {
20
21 typedef struct BDRVVmdkState {
22 int desc_offset;
23 + bool cid_updated;
24 uint32_t parent_cid;
25 int num_extents;
26 /* Extent array with num_extents entries, ascend ordered by address */
27 @@ -853,7 +854,6 @@ static int vmdk_write(BlockDriverState *
28 int n;
29 int64_t index_in_cluster;
30 uint64_t cluster_offset;
31 - static int cid_update = 0;
32 VmdkMetaData m_data;
33
34 if (sector_num > bs->total_sectors) {
35 @@ -900,9 +900,9 @@ static int vmdk_write(BlockDriverState *
36 buf += n * 512;
37
38 // update CID on the first write every time the virtual disk is opened
39 - if (!cid_update) {
40 + if (!s->cid_updated) {
41 vmdk_write_cid(bs, time(NULL));
42 - cid_update++;
43 + s->cid_updated = true;
44 }
45 }
46 return 0;