* [Qemu-devel] [PULL v2 0/1] Block patches for 2.5
@ 2015-12-02 15:47 Jeff Cody
2015-12-02 15:47 ` [Qemu-devel] [PULL v2 1/1] mirror: Quiesce source during "mirror_exit" Jeff Cody
2015-12-02 17:05 ` [Qemu-devel] [PULL v2 0/1] Block patches for 2.5 Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Jeff Cody @ 2015-12-02 15:47 UTC (permalink / raw)
To: qemu-block; +Cc: peter.maydell, jcody, famz, qemu-devel
The following changes since commit 9d7b969ea6d9663a94760c6c131481b366f4d38a:
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20151201' into staging (2015-12-02 10:16:53 +0000)
are available in the git repository at:
git@github.com:codyprime/qemu-kvm-jtc.git tags/block-pull-request
for you to fetch changes up to 176c36997fd4a94a7b919468d8967e0ad81fdf9c:
mirror: Quiesce source during "mirror_exit" (2015-12-02 10:44:06 -0500)
----------------------------------------------------------------
Block patches for 2.5
----------------------------------------------------------------
Fam Zheng (1):
mirror: Quiesce source during "mirror_exit"
block/mirror.c | 4 ++++
1 file changed, 4 insertions(+)
--
1.9.3
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [PULL v2 1/1] mirror: Quiesce source during "mirror_exit"
2015-12-02 15:47 [Qemu-devel] [PULL v2 0/1] Block patches for 2.5 Jeff Cody
@ 2015-12-02 15:47 ` Jeff Cody
2015-12-02 17:05 ` [Qemu-devel] [PULL v2 0/1] Block patches for 2.5 Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Cody @ 2015-12-02 15:47 UTC (permalink / raw)
To: qemu-block; +Cc: peter.maydell, jcody, famz, qemu-devel
From: Fam Zheng <famz@redhat.com>
With dataplane, the ioeventfd events could be dispatched after
mirror_run releases the dirty bitmap, but before mirror_exit actually
does the device switch, because the iothread will still be running, and
it will cause silent data loss.
Fix this by adding a bdrv_drained_begin/end pair around the window, so
that no new external request will be handled.
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
---
block/mirror.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/block/mirror.c b/block/mirror.c
index 52c9abf..0e8f556 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -388,6 +388,7 @@ static void mirror_exit(BlockJob *job, void *opaque)
bdrv_unref(s->target);
block_job_completed(&s->common, data->ret);
g_free(data);
+ bdrv_drained_end(src);
bdrv_unref(src);
}
@@ -607,6 +608,9 @@ immediate_exit:
data = g_malloc(sizeof(*data));
data->ret = ret;
+ /* Before we switch to target in mirror_exit, make sure data doesn't
+ * change. */
+ bdrv_drained_begin(s->common.bs);
block_job_defer_to_main_loop(&s->common, mirror_exit, data);
}
--
1.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PULL v2 0/1] Block patches for 2.5
2015-12-02 15:47 [Qemu-devel] [PULL v2 0/1] Block patches for 2.5 Jeff Cody
2015-12-02 15:47 ` [Qemu-devel] [PULL v2 1/1] mirror: Quiesce source during "mirror_exit" Jeff Cody
@ 2015-12-02 17:05 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2015-12-02 17:05 UTC (permalink / raw)
To: Jeff Cody; +Cc: Fam Zheng, QEMU Developers, Qemu-block
On 2 December 2015 at 15:47, Jeff Cody <jcody@redhat.com> wrote:
> The following changes since commit 9d7b969ea6d9663a94760c6c131481b366f4d38a:
>
> Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20151201' into staging (2015-12-02 10:16:53 +0000)
>
> are available in the git repository at:
>
>
> git@github.com:codyprime/qemu-kvm-jtc.git tags/block-pull-request
>
> for you to fetch changes up to 176c36997fd4a94a7b919468d8967e0ad81fdf9c:
>
> mirror: Quiesce source during "mirror_exit" (2015-12-02 10:44:06 -0500)
>
> ----------------------------------------------------------------
> Block patches for 2.5
> ----------------------------------------------------------------
>
> Fam Zheng (1):
> mirror: Quiesce source during "mirror_exit"
>
> block/mirror.c | 4 ++++
> 1 file changed, 4 insertions(+)
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-12-02 17:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-02 15:47 [Qemu-devel] [PULL v2 0/1] Block patches for 2.5 Jeff Cody
2015-12-02 15:47 ` [Qemu-devel] [PULL v2 1/1] mirror: Quiesce source during "mirror_exit" Jeff Cody
2015-12-02 17:05 ` [Qemu-devel] [PULL v2 0/1] Block patches for 2.5 Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).