qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 07/12] VMDK: move 'static' cid_update flag to bs


From: Fam Zheng
Subject: [Qemu-devel] [PATCH v3 07/12] VMDK: move 'static' cid_update flag to bs field
Date: Mon, 27 Jun 2011 11:48:33 +0800

Cid_update is the flag for updating CID on first write after opening the
image. This should be per image open rather than per program life cycle,
so change it from static var of vmdk_write to a field in BDRVVmdkState.

Signed-off-by: Fam Zheng <address@hidden>
---
 block/vmdk.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/block/vmdk.c b/block/vmdk.c
index 37239b5..9d627f3 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -82,6 +82,7 @@ typedef struct VmdkExtent {
 
 typedef struct BDRVVmdkState {
     int desc_offset;
+    bool cid_updated;
     int num_extents;
     uint32_t parent_cid;
     VmdkExtent *extents;
@@ -867,7 +868,6 @@ static int vmdk_write(BlockDriverState *bs, int64_t 
sector_num,
     int n;
     int64_t index_in_cluster;
     uint64_t cluster_offset;
-    static int cid_update = 0;
     VmdkMetaData m_data;
 
     if (sector_num > bs->total_sectors) {
@@ -914,9 +914,9 @@ static int vmdk_write(BlockDriverState *bs, int64_t 
sector_num,
         buf += n * 512;
 
         // update CID on the first write every time the virtual disk is opened
-        if (!cid_update) {
+        if (!s->cid_updated) {
             vmdk_write_cid(bs, time(NULL));
-            cid_update++;
+            s->cid_updated = true;
         }
     }
     return 0;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]