Vladimir Sementsov-Ogievskiy
ba06ff1a5c
block: fix bdrv_dirty_bitmap_granularity signature
...
Make getter signature const-correct. This allows other functions with
const dirty bitmap parameter use bdrv_dirty_bitmap_granularity().
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Eric Blake <eblake@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Kevin Wolf <kwolf@redhat.com >
Message-id: 20170628120530.31251-6-vsementsov@virtuozzo.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2017-07-11 17:44:57 +02:00
Paolo Bonzini
b64bd51efa
block: protect modification of dirty bitmaps with a mutex
...
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20170605123908.18777-17-pbonzini@redhat.com >
Signed-off-by: Fam Zheng <famz@redhat.com >
2017-06-16 07:55:00 +08:00
Fam Zheng
6d3f4049ba
block: More operations for meta dirty bitmap
...
Callers can create an iterator of meta bitmap with
bdrv_dirty_meta_iter_new(), then use the bdrv_dirty_iter_* operations on
it. Meta iterators are also counted by bitmap->active_iterators.
Also add a couple of functions to retrieve granularity and count.
Signed-off-by: Fam Zheng <famz@redhat.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 1476395910-8697-11-git-send-email-jsnow@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2016-10-24 17:56:07 +02:00
Vladimir Sementsov-Ogievskiy
882c36f590
block: BdrvDirtyBitmap serialization interface
...
Several functions to provide necessary access to BdrvDirtyBitmap for
block-migration.c
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
[Add the "finish" parameters. - Fam]
Signed-off-by: Fam Zheng <famz@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 1476395910-8697-9-git-send-email-jsnow@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2016-10-24 17:56:07 +02:00
Fam Zheng
15891fac7d
block: Add two dirty bitmap getters
...
For dirty bitmap users to get the size and the name of a
BdrvDirtyBitmap.
Signed-off-by: Fam Zheng <famz@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 1476395910-8697-6-git-send-email-jsnow@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2016-10-24 17:56:07 +02:00
Fam Zheng
fb933437de
block: Support meta dirty bitmap
...
The added group of operations enables tracking of the changed bits in
the dirty bitmap.
Signed-off-by: Fam Zheng <famz@redhat.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 1476395910-8697-5-git-send-email-jsnow@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2016-10-24 17:56:07 +02:00
Fam Zheng
dc162c8e4f
block: Hide HBitmap in block dirty bitmap interface
...
HBitmap is an implementation detail of block dirty bitmap that should be hidden
from users. Introduce a BdrvDirtyBitmapIter to encapsulate the underlying
HBitmapIter.
A small difference in the interface is, before, an HBitmapIter is initialized
in place, now the new BdrvDirtyBitmapIter must be dynamically allocated because
the structure definition is in block/dirty-bitmap.c.
Two current users are converted too.
Signed-off-by: Fam Zheng <famz@redhat.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 1476395910-8697-2-git-send-email-jsnow@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2016-10-24 17:56:07 +02:00
Denis V. Lunev
6d07859926
dirty-bitmap: operate with int64_t amount
...
Underlying HBitmap operates even with uint64_t. Thus this change is safe.
This would be useful f.e. to mark entire bitmap dirty in one call.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Eric Blake <eblake@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Reviewed-by: Fam Zheng <famz@redhat.com >
Message-id: 1468503209-19498-2-git-send-email-den@openvz.org
CC: Stefan Hajnoczi <stefanha@redhat.com >
CC: Kevin Wolf <kwolf@redhat.com >
CC: Max Reitz <mreitz@redhat.com >
CC: Jeff Cody <jcody@redhat.com >
Signed-off-by: Jeff Cody <jcody@redhat.com >
2016-07-19 16:54:46 -04:00
Fam Zheng
ebab225910
block: Move block dirty bitmap code to separate files
...
The only code change is making bdrv_dirty_bitmap_truncate public. It is
used in block.c.
Also two long lines (bdrv_get_dirty) are wrapped.
Signed-off-by: Fam Zheng <famz@redhat.com >
Reviewed-by: John Snow <jsnow@redhat.com >
Message-id: 1457412306-18940-5-git-send-email-famz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com >
2016-03-14 17:35:05 +01:00