[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 08/10] qcow2/bitmap: track extra_data_size
From: |
John Snow |
Subject: |
[Qemu-block] [PATCH v2 08/10] qcow2/bitmap: track extra_data_size |
Date: |
Tue, 12 Jun 2018 22:06:11 -0400 |
Similarly to the last patch, track the extra_data_size field that we read.
We do reject anything other than zero, but if this restriction is lifted
in the future, we'll need to update the _info field, so loosen this now.
Signed-off-by: John Snow <address@hidden>
---
block/qcow2-bitmap.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c
index 36573f7b52..3c2e974458 100644
--- a/block/qcow2-bitmap.c
+++ b/block/qcow2-bitmap.c
@@ -86,6 +86,7 @@ typedef struct Qcow2Bitmap {
uint8_t type;
uint8_t granularity_bits;
char *name;
+ uint32_t extra_data_size;
BdrvDirtyBitmap *dirty_bitmap;
@@ -609,6 +610,7 @@ static Qcow2BitmapList *bitmap_list_load(BlockDriverState
*bs, Error **errp)
bm->table.size = e->bitmap_table_size;
bm->flags = e->flags;
bm->type = e->type;
+ bm->extra_data_size = e->extra_data_size;
bm->granularity_bits = e->granularity_bits;
bm->name = dir_entry_copy_name(e);
QSIMPLEQ_INSERT_TAIL(bm_list, bm, entry);
@@ -782,7 +784,7 @@ static int bitmap_list_store(BlockDriverState *bs,
Qcow2BitmapList *bm_list,
e->type = bm->type;
e->granularity_bits = bm->granularity_bits;
e->name_size = strlen(bm->name);
- e->extra_data_size = 0;
+ e->extra_data_size = bm->extra_data_size;
memcpy(e + 1, bm->name, e->name_size);
if (check_dir_entry(bs, e) < 0) {
--
2.14.3
- Re: [Qemu-block] [PATCH v2 04/10] qcow2/bitmap: cache loaded bitmaps, (continued)
[Qemu-block] [PATCH v2 08/10] qcow2/bitmap: track extra_data_size,
John Snow <=
[Qemu-block] [PATCH v2 10/10] qcow2/bitmap: add basic bitmaps info, John Snow, 2018/06/12