[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 3/5] mirror: allow specifying working bitmap
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [PATCH v4 3/5] mirror: allow specifying working bitmap |
Date: |
Mon, 24 Jun 2024 23:12:45 +0300 |
User-agent: |
Mozilla Thunderbird |
On 21.05.24 15:20, Fiona Ebner wrote:
From: John Snow <jsnow@redhat.com>
for the mirror job. The bitmap's granularity is used as the job's
granularity.
The new @bitmap parameter is marked unstable in the QAPI and can
currently only be used for @sync=full mode.
Clusters initially dirty in the bitmap as well as new writes are
copied to the target.
Using block-dirty-bitmap-clear and block-dirty-bitmap-merge API,
callers can simulate the three kinds of @BitmapSyncMode (which is used
[..]
/*
* The dirty bitmap is set by bdrv_mirror_top_do_write() when not in
active
- * mode.
+ * mode. For external/caller-provided bitmap, need to wait until
+ * bdrv_mirror_top_do_write() can actually access it before disabling.
hmm, isn't that true at least for non-mode? for other modes we rely on
mirror_dirty_init(), but with none mode we risk to miss some writes.. That's
preexisting, but probably it's better to move disabling the bitmap to the
moment where we sure that we do dirty it by hand on any not-immediatelly-synced
write. And than have _disable_() call in same place for all scenarios.
*/
- bdrv_disable_dirty_bitmap(s->dirty_bitmap);
+ if (s->dirty_bitmap_is_local) {
+ bdrv_disable_dirty_bitmap(s->dirty_bitmap);
+ }
--
Best regards,
Vladimir
- Re: [PATCH v4 3/5] mirror: allow specifying working bitmap,
Vladimir Sementsov-Ogievskiy <=