Allow QEMU to read in bitmaps that have the in-use bit set, for the purposes of allowing users to clear or reset these bitmaps.
This is chosen in preference to a hard error on load to minimize impact for a non-critical error, but to force the user or management utility to acknowledge that the bitmap is no longer viable. Requires: [PATCH v2 0/6] dirty-bitmaps: deprecate @status field (Which in turn requires my bitmaps staging branch.) RFC: This is just for general approach, naming, and API. I chose NOT to overload the busy predicate so that it would be distinct, which unfortunately means many more manual checks across blockdev. - I chose "inconsistent" over "corrupt" to be more literal to the meaning of the "in-use" bit, but maybe this is overcautious. - I chose to make the field optional so that it disappears in normative cases, as the information is only really relevant when inconsistent=true. I also have NOT tested this and I didn't verify the saving logic for what happens if you don't delete or clear the bitmap, but I'm on PTO the next two days and I wanted this to see daylight. John Snow (2): block/dirty-bitmaps: add inconsistent bit block/dirty-bitmap: implement inconsistent bit block/dirty-bitmap.c | 34 ++++++++++++++++++++++++++++ block/qcow2-bitmap.c | 42 ++++++++++++++++++----------------- blockdev.c | 43 ++++++++++++++++++++++++++++++++++++ include/block/dirty-bitmap.h | 3 +++ qapi/block-core.json | 9 ++++++-- 5 files changed, 109 insertions(+), 22 deletions(-) -- 2.17.2