The current internal meanings of "locked", "user_locked",
"qmp_locked", "frozen", "enabled", and "disabled"
are all
a little muddled.
Deprecate the @status field in favor of two new booleans
that carry very specific meanings. Then, rename and rework
some of the internal semantics to help make the API a bit
more clear and easier to read.
Well, in my opinion.
Based on my current bitmaps branch (includes Eric's patch
and my documentation update patch.)
V2: - All of Eric's suggestions, I hope.
- Vladimir's phrasing suggestion on patch 1
- Added a sixth patch that's mostly just motion.
I'm on PTO the next two days, so I didn't get to writing
a test for the busy bit. I think test 223 is a good candidate,
because it uses the NBD functionality. To test with push mode,
I need to come up with a blockdebug configuration that will
let me pause an incremental backup so I can test race-free.
Maybe for V3, sorry.
John Snow (6):
block/dirty-bitmap: add recording and busy properties
block/dirty-bitmaps: rename frozen predicate helper
block/dirty-bitmap: change semantics of enabled predicate
block/dirty-bitmap: explicitly lock bitmaps with successors
block/dirty-bitmaps: unify qmp_locked and user_locked calls
block/dirty-bitmaps: move comment block
block/dirty-bitmap.c | 110 ++++++++++++++++++---------------
blockdev.c | 18 +++---
include/block/dirty-bitmap.h | 7 +--
migration/block-dirty-bitmap.c | 8 +--
nbd/server.c | 6 +-
qapi/block-core.json | 10 ++-
qemu-deprecated.texi | 6 ++
tests/qemu-iotests/236.out | 28 +++++++++
8 files changed, 122 insertions(+), 71 deletions(-)
--
2.17.2