On 2/22/19 7:06 PM, John Snow wrote:
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.
V3:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
001/10:[0002] [FC] 'block/dirty-bitmap: add recording and busy properties'
002/10:[0002] [FC] 'block/dirty-bitmaps: rename frozen predicate helper'
003/10:[down] 'block/dirty-bitmap: remove set/reset assertions against enabled
bit'
004/10:[0006] [FC] 'block/dirty-bitmap: change semantics of enabled predicate'
005/10:[down] 'nbd: change error checking order for bitmaps'
006/10:[0002] [FC] 'block/dirty-bitmap: explicitly lock bitmaps with successors'
007/10:[0011] [FC] 'block/dirty-bitmaps: unify qmp_locked and user_locked calls'
008/10:[0002] [FC] 'block/dirty-bitmaps: move comment block'
009/10:[down] 'blockdev: remove unused paio parameter documentation'
010/10:[down] 'iotests: add busy/recording bit test to 124'
V3: (Following Vladimir's feedback)
001: Changed texi phrasing, parameter --> field
002: Commit message adjustment
comment edit: "not locked" --> "not user_locked"
003: pulled forward out of patch 004
004: Commit message rewrite
create_successor and abdicate doc adjustments
005: New.
006: Change successor doc comment
Commit message adjustment
007: BdrvDirtyBitmap struct comment adjustments
Comment change to create_successor (lock --> busy)
Incidental changes from 004's changes
008: Grammar fix (Eric)
009: New, trivial, unrelated fix tagging along.
010: iotest 124 added.
John Snow (10):
block/dirty-bitmap: add recording and busy properties
block/dirty-bitmaps: rename frozen predicate helper
block/dirty-bitmap: remove set/reset assertions against enabled bit
block/dirty-bitmap: change semantics of enabled predicate
nbd: change error checking order for bitmaps
block/dirty-bitmap: explicitly lock bitmaps with successors
block/dirty-bitmaps: unify qmp_locked and user_locked calls
block/dirty-bitmaps: move comment block
blockdev: remove unused paio parameter documentation
iotests: add busy/recording bit test to 124
block/dirty-bitmap.c | 111 ++++++++++++++++++---------------
blockdev.c | 19 +++---
include/block/dirty-bitmap.h | 7 +--
migration/block-dirty-bitmap.c | 8 +--
nbd/server.c | 14 ++---
qapi/block-core.json | 10 ++-
qemu-deprecated.texi | 6 ++
tests/qemu-iotests/124 | 110 ++++++++++++++++++++++++++++++++
tests/qemu-iotests/124.out | 4 +-
tests/qemu-iotests/236.out | 28 +++++++++
10 files changed, 239 insertions(+), 78 deletions(-)
Pushed to my bitmaps branch with the following minor changes:
001/10:[0002] [FC] 'block/dirty-bitmap: add recording and busy properties'
002/10:[0002] [FC] 'block/dirty-bitmaps: rename frozen predicate helper'
003/10:[----] [--] 'block/dirty-bitmap: remove set/reset assertions
against enabled bit'
004/10:[----] [--] 'block/dirty-bitmap: change semantics of enabled
predicate'
005/10:[----] [--] 'nbd: change error checking order for bitmaps'
006/10:[----] [--] 'block/dirty-bitmap: explicitly lock bitmaps with
successors'
007/10:[0002] [FC] 'block/dirty-bitmaps: unify qmp_locked and
user_locked calls'
008/10:[----] [--] 'block/dirty-bitmaps: move comment block'
009/10:[----] [--] 'blockdev: remove unused paio parameter documentation'
010/10:[0003] [FC] 'iotests: add busy/recording bit test to 124'
001: Texi doc spelling (Eric)
002: Commit message spelling (Eric)
Additional asserts (Vladimir)
007: Comment phrasing (Vladimir)
010: Extra test comment