Am 20.02.2026 um 15:00 hat Fiona Ebner geschrieben:
> Am 19.02.26 um 9:25 PM schrieb Kevin Wolf:
> > @@ -1672,9 +1673,9 @@ bdrv_mirror_top_do_write(BlockDriverState *bs,
> > MirrorMethod method,
> > abort();
> > }
> >
> > - if (!copy_to_target && s->job && s->job->dirty_bitmap) {
> > + if (!copy_to_target) {
> > qatomic_set(&s->job->actively_synced, false);
>
> Here, we must check that s->job is set for the qatomic_set().
>
> Other than that, the patch looks good to me, thanks!
Thanks, good catch. I'm squashing in this change:
diff --git a/block/mirror.c b/block/mirror.c
index abdffc6de86..fa1d975eb9f 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1677,7 +1677,9 @@ bdrv_mirror_top_do_write(BlockDriverState *bs,
MirrorMethod method,
}
if (!copy_to_target) {
- qatomic_set(&s->job->actively_synced, false);
+ if (s->job) {
+ qatomic_set(&s->job->actively_synced, false);
+ }
bdrv_set_dirty_bitmap(s->dirty_bitmap, offset, bytes);
}
Can I add your R-b with this?
Jean-Louis, do you want to give this patch a test if it still fixes your
problem? The approach is a bit different from what we tried initially.
Kevin