mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
block/dirty-bitmap: add deserialize_ones func
Add bdrv_dirty_bitmap_deserialize_ones() function, which is needed for qcow2 bitmap loading, to handle unallocated bitmap parts, marked as all-ones. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20170628120530.31251-7-vsementsov@virtuozzo.com Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
ba06ff1a5c
commit
6bdc8b719a
4 changed files with 42 additions and 0 deletions
|
@ -551,6 +551,23 @@ void hbitmap_deserialize_zeroes(HBitmap *hb, uint64_t start, uint64_t count,
|
|||
}
|
||||
}
|
||||
|
||||
void hbitmap_deserialize_ones(HBitmap *hb, uint64_t start, uint64_t count,
|
||||
bool finish)
|
||||
{
|
||||
uint64_t el_count;
|
||||
unsigned long *first;
|
||||
|
||||
if (!count) {
|
||||
return;
|
||||
}
|
||||
serialization_chunk(hb, start, count, &first, &el_count);
|
||||
|
||||
memset(first, 0xff, el_count * sizeof(unsigned long));
|
||||
if (finish) {
|
||||
hbitmap_deserialize_finish(hb);
|
||||
}
|
||||
}
|
||||
|
||||
void hbitmap_deserialize_finish(HBitmap *bitmap)
|
||||
{
|
||||
int64_t i, size, prev_size;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue