On 2/18/19 3:37 PM, Eric Blake wrote:
> On 2/18/19 12:13 PM, Vladimir Sementsov-Ogievskiy wrote:
>> 14.02.2019 2:36, John Snow wrote:
>>> Signed-off-by: John Snow <js...@redhat.com>
>>> ---
>>> block/dirty-bitmap.c | 15 +++++++++++++
>>> block/qcow2-bitmap.c | 42 ++++++++++++++++++-----------------
>>> blockdev.c | 43 ++++++++++++++++++++++++++++++++++++
>>> include/block/dirty-bitmap.h | 1 +
>>> 4 files changed, 81 insertions(+), 20 deletions(-)
>
>>> +void bdrv_dirty_bitmap_add_inconsistent_hint(Error **errp)
>>> +{
>>> + error_append_hint(errp, "Try block-dirty-bitmap-clear to mark this "
>>> + "bitmap consistent again, or
>>> block-dirty-bitmap-remove "
>>> + "to delete it.");
>>
>> bitmaps created by libvirt (or somebody) are related to some checkpoint. And
>> their name is
>> probably (Eric?) related to this checkpoint too. So, clear will never make
>> them consistent..
>> Only clear :)
>>
>> So, I don't like idea of clearing in-use bitmaps.
>
> It's always possible to delete a bitmap and then create a new one by the
> same name, to get the same effect of clearing an in-use bitmap. So let's
> start simple and declare that the only valid operation on an
> inconsistent bitmap is deletion.
>
OK, from the viewpoint of checkpoints specifically, that's a convincing
argument against it for now.
I'll tighten this.