qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC 0/4] mirror: implement incremental and bitmap modes


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [RFC 0/4] mirror: implement incremental and bitmap modes
Date: Fri, 1 Mar 2024 18:46:39 +0300
User-agent: Mozilla Thunderbird

On 01.03.24 18:14, Fiona Ebner wrote:
Am 01.03.24 um 16:02 schrieb Vladimir Sementsov-Ogievskiy:
On 01.03.24 17:52, Fiona Ebner wrote:
Am 01.03.24 um 15:14 schrieb Vladimir Sementsov-Ogievskiy:

As we already understood, (block-)job-api needs some spring-cleaning.
Unfortunately I don't have much time on it, but still I decided to start
from finally depreacting block-job-* API and moving to job-*.. Probably
bitmap/bitmap-mode/sync APIs also need some optimization, keeping in
mind new block-dirty-bitmap-merge api.

So, what I could advice in this situation for newc interfaces:

1. be minimalistic
2. add `x-` prefix when unsure

So, following these two rules, what about x-bitmap field, which may be
combined only with 'full' mode, and do what you need?


AFAIU, it should rather be marked as @unstable in QAPI [0]? Then it
doesn't need to be renamed if it becomes stable later.

Right, unstable feature is needed, using "x-" is optional.

Recent discussion about it was in my "vhost-user-blk: live resize
additional APIs" series:

https://patchew.org/QEMU/20231006202045.1161543-1-vsementsov@yandex-team.ru/20231006202045.1161543-5-vsementsov@yandex-team.ru/

Following it, I think it's OK to not care anymore with "x-" prefixes,
and rely on unstable feature.


Thanks for the confirmation! I'll go without the prefix in the name then.


About documentation: actually, I never liked that we use for backup job
"MirrorSyncMode". Now it looks more like "BackupSyncMode", having two
values supported only by backup.

I'm also unsure how mode=full&bitmap=some_bitmap differs from
mode=bitmap&bitmap=some_bitmap..


With the current patches, it was an error to specify @bitmap for other
modes than 'incremental' and 'bitmap'.

Current documentation says:
   # @bitmap: The name of a dirty bitmap to use.  Must be present if sync
   #     is "bitmap" or "incremental". Can be present if sync is "full"
   #     or "top".  Must not be present otherwise.
   #     (Since 2.4 (drive-backup), 3.1 (blockdev-backup))



This is for backup. The documentation (and behavior) for @bitmap added
by these patches for mirror is different ;)

I meant backup in "I'm also unsure", just as one more point not consider 
backup-bitmap-API as a prototype for mirror-bitmap-API.


Best Regards,
Fiona


--
Best regards,
Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]