* [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit
@ 2015-05-28 14:21 Paolo Bonzini
2015-05-29 1:44 ` Fam Zheng
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Paolo Bonzini @ 2015-05-28 14:21 UTC (permalink / raw)
To: qemu-devel; +Cc: Kevin Wolf, jcody, open list:Block layer core
Draining is not necessary, I/O can happen as soon as the
commit coroutine yields. Draining can be necessary before
reopening the file for read/write, or while modifying the
backing file chain, but that is done separately in
bdrv_reopen_multiple or bdrv_close; this particular
bdrv_drain_all does nothing for that.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
blockdev.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index d506a70..aee0395 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -2355,9 +2355,6 @@ void qmp_block_commit(const char *device,
aio_context = bdrv_get_aio_context(bs);
aio_context_acquire(aio_context);
- /* drain all i/o before commits */
- bdrv_drain_all();
-
if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_COMMIT_SOURCE, errp)) {
goto out;
}
--
2.4.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit
2015-05-28 14:21 [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit Paolo Bonzini
@ 2015-05-29 1:44 ` Fam Zheng
2015-05-29 12:43 ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2015-06-16 4:07 ` [Qemu-devel] " Jeff Cody
2 siblings, 0 replies; 4+ messages in thread
From: Fam Zheng @ 2015-05-29 1:44 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Kevin Wolf, jcody, qemu-devel, open list:Block layer core
----- Original Message -----
> Draining is not necessary, I/O can happen as soon as the
> commit coroutine yields. Draining can be necessary before
> reopening the file for read/write, or while modifying the
> backing file chain, but that is done separately in
> bdrv_reopen_multiple or bdrv_close; this particular
> bdrv_drain_all does nothing for that.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> blockdev.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/blockdev.c b/blockdev.c
> index d506a70..aee0395 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -2355,9 +2355,6 @@ void qmp_block_commit(const char *device,
> aio_context = bdrv_get_aio_context(bs);
> aio_context_acquire(aio_context);
>
> - /* drain all i/o before commits */
> - bdrv_drain_all();
> -
Reviewed-by: Fam Zheng <famz@redhat.com>
> if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_COMMIT_SOURCE, errp)) {
> goto out;
> }
> --
> 2.4.1
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] blockdev: no need to drain in qmp_block_commit
2015-05-28 14:21 [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit Paolo Bonzini
2015-05-29 1:44 ` Fam Zheng
@ 2015-05-29 12:43 ` Stefan Hajnoczi
2015-06-16 4:07 ` [Qemu-devel] " Jeff Cody
2 siblings, 0 replies; 4+ messages in thread
From: Stefan Hajnoczi @ 2015-05-29 12:43 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel, open list:Block layer core
[-- Attachment #1: Type: text/plain, Size: 574 bytes --]
On Thu, May 28, 2015 at 04:21:43PM +0200, Paolo Bonzini wrote:
> Draining is not necessary, I/O can happen as soon as the
> commit coroutine yields. Draining can be necessary before
> reopening the file for read/write, or while modifying the
> backing file chain, but that is done separately in
> bdrv_reopen_multiple or bdrv_close; this particular
> bdrv_drain_all does nothing for that.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> blockdev.c | 3 ---
> 1 file changed, 3 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit
2015-05-28 14:21 [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit Paolo Bonzini
2015-05-29 1:44 ` Fam Zheng
2015-05-29 12:43 ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
@ 2015-06-16 4:07 ` Jeff Cody
2 siblings, 0 replies; 4+ messages in thread
From: Jeff Cody @ 2015-06-16 4:07 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Kevin Wolf, qemu-devel, open list:Block layer core
On Thu, May 28, 2015 at 04:21:43PM +0200, Paolo Bonzini wrote:
> Draining is not necessary, I/O can happen as soon as the
> commit coroutine yields. Draining can be necessary before
> reopening the file for read/write, or while modifying the
> backing file chain, but that is done separately in
> bdrv_reopen_multiple or bdrv_close; this particular
> bdrv_drain_all does nothing for that.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> blockdev.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/blockdev.c b/blockdev.c
> index d506a70..aee0395 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -2355,9 +2355,6 @@ void qmp_block_commit(const char *device,
> aio_context = bdrv_get_aio_context(bs);
> aio_context_acquire(aio_context);
>
> - /* drain all i/o before commits */
> - bdrv_drain_all();
> -
> if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_COMMIT_SOURCE, errp)) {
> goto out;
> }
> --
> 2.4.1
>
Thanks, applied to my block tree:
https://github.com/codyprime/qemu-kvm-jtc/commits/block
-Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-16 4:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-28 14:21 [Qemu-devel] [PATCH] blockdev: no need to drain in qmp_block_commit Paolo Bonzini
2015-05-29 1:44 ` Fam Zheng
2015-05-29 12:43 ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2015-06-16 4:07 ` [Qemu-devel] " Jeff Cody
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).