 9e2e48ff31
			
		
	
	9e2e48ff31
	
	
	
		
			
			Its way more trouble to update this to a newer version of qemu than it is to backport the two additional features we need. Signed-off-by: Brett Mastbergen <bmastbergen@untangle.com>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 9d8117f00364c12cbd658de903b1ed26a30584e0 Mon Sep 17 00:00:00 2001
 | |
| From: Fam Zheng <famcool@gmail.com>
 | |
| Date: Tue, 12 Jul 2011 19:56:34 +0800
 | |
| Subject: [PATCH 08/12] VMDK: move 'static' cid_update flag to bs field
 | |
| 
 | |
| 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 <famcool@gmail.com>
 | |
| Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
 | |
| Signed-off-by: Kevin Wolf <kwolf@redhat.com>
 | |
| ---
 | |
|  block/vmdk.c | 6 +++---
 | |
|  1 file changed, 3 insertions(+), 3 deletions(-)
 | |
| 
 | |
| --- a/block/vmdk.c
 | |
| +++ b/block/vmdk.c
 | |
| @@ -82,6 +82,7 @@ typedef struct VmdkExtent {
 | |
|  
 | |
|  typedef struct BDRVVmdkState {
 | |
|      int desc_offset;
 | |
| +    bool cid_updated;
 | |
|      uint32_t parent_cid;
 | |
|      int num_extents;
 | |
|      /* Extent array with num_extents entries, ascend ordered by address */
 | |
| @@ -853,7 +854,6 @@ static int vmdk_write(BlockDriverState *
 | |
|      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) {
 | |
| @@ -900,9 +900,9 @@ static int vmdk_write(BlockDriverState *
 | |
|          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;
 |