[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block: early check for blockers on drive-mirror
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH] block: early check for blockers on drive-mirror |
Date: |
Thu, 8 Feb 2018 09:17:05 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Wed, 02/07 17:29, Paolo Bonzini wrote:
> Even if an op blocker is present for BLOCK_OP_TYPE_MIRROR_SOURCE,
> it is checked a bit late and the result is that the target is
> created even if drive-mirror subsequently fails. Add an early
> check to avoid this.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> blockdev.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/blockdev.c b/blockdev.c
> index 8e977eef11..c7e2e0a00e 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -3565,6 +3565,11 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
> return;
> }
>
> + /* Early check to avoid creating target */
> + if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_MIRROR_SOURCE, errp)) {
> + return;
> + }
> +
> aio_context = bdrv_get_aio_context(bs);
> aio_context_acquire(aio_context);
>
> --
> 2.14.3
>
>
Reviewed-by: Fam Zheng <address@hidden>