[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 4/8] block/backup: hoist bitmap check into QMP i
From: |
John Snow |
Subject: |
Re: [Qemu-block] [PATCH 4/8] block/backup: hoist bitmap check into QMP interface |
Date: |
Wed, 10 Jul 2019 13:57:16 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 |
On 7/10/19 12:11 PM, Max Reitz wrote:
> On 10.07.19 03:05, John Snow wrote:
>> This is nicer to do in the unified QMP interface that we have now,
>> because it lets us use the right terminology back at the user.
>>
>> Signed-off-by: John Snow <address@hidden>
>> ---
>> block/backup.c | 13 ++++---------
>> blockdev.c | 10 ++++++++++
>> 2 files changed, 14 insertions(+), 9 deletions(-)
>>
>> diff --git a/block/backup.c b/block/backup.c
>> index e2729cf6fa..a64b768e24 100644
>> --- a/block/backup.c
>> +++ b/block/backup.c
>> @@ -566,6 +566,10 @@ BlockJob *backup_job_create(const char *job_id,
>> BlockDriverState *bs,
>> assert(bs);
>> assert(target);
>>
>> + /* QMP interface protects us from these cases */
>> + assert(sync_mode != MIRROR_SYNC_MODE_INCREMENTAL);
>> + assert(sync_bitmap || sync_mode != MIRROR_SYNC_MODE_BITMAP);
>
> Implication would be a nice operator sometimes.
>
> ("assert(sync_mode == MIRROR_SYNC_MODE_BITMAP -> sync_bitmap)")
>
> (Can you do that in C++? No, you can’t overload bool’s operators, right?)
>
> Reviewed-by: Max Reitz <address@hidden>
>
Yes, I also find this assertion kind of hard to read personally, but it
feels somewhat clunky to write:
if (antecedent) {
assert(condition);
}
I suppose we can also phrase this as:
assert(sync_mode == MIRROR_SYNC_MODE_BITMAP ? sync_bitmap : true);
Which might honestly be pretty good. Mind if I change it to this?
--js
- Re: [Qemu-block] [PATCH 2/8] iotests/257: add EmulatedBitmap class, (continued)
[Qemu-block] [PATCH 4/8] block/backup: hoist bitmap check into QMP interface, John Snow, 2019/07/09
[Qemu-block] [PATCH 5/8] iotests/257: test API failures, John Snow, 2019/07/09
[Qemu-block] [PATCH 7/8] block/backup: support bitmap sync modes for non-bitmap backups, John Snow, 2019/07/09
[Qemu-block] [PATCH 3/8] iotests/257: Refactor backup helpers, John Snow, 2019/07/09