[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 06/11] blockjob: move iostatus reset inside bloc
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [PATCH 06/11] blockjob: move iostatus reset inside block_job_user_resume |
Date: |
Tue, 9 May 2017 13:10:04 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, May 08, 2017 at 04:13:05PM +0200, Paolo Bonzini wrote:
> Outside blockjob.c, the block_job_iostatus_reset function is used once
> in the monitor and once in BlockBackend. When we introduce the block
> job mutex, block_job_iostatus_reset's client is going to be the block
> layer (for which blockjob.c will take the block job mutex) rather than
> the monitor (which will take the block job mutex by itself).
>
> The monitor's call to block_job_iostatus_reset from the monitor comes
> just before the sole call to block_job_user_resume, so reset the
> iostatus directly from block_job_iostatus_reset. This will avoid
> the need to introduce separate block_job_iostatus_reset and
> block_job_iostatus_reset_locked APIs.
>
> After making this change, move the function together with the others
> that were moved in the previous patch.
>
> Reviewed-by: Stefan Hajnoczi <address@hidden>
> Reviewed-by: John Snow <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> blockdev.c | 1 -
> blockjob.c | 11 ++++++-----
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/blockdev.c b/blockdev.c
> index 64282065d8..cdec4ac82a 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -3726,7 +3726,6 @@ void qmp_block_job_resume(const char *device, Error
> **errp)
> }
>
> trace_qmp_block_job_resume(job);
> - block_job_iostatus_reset(job);
> block_job_user_resume(job);
> aio_context_release(aio_context);
> }
> diff --git a/blockjob.c b/blockjob.c
> index 41dc2fe9f1..7edf779adc 100644
> --- a/blockjob.c
> +++ b/blockjob.c
> @@ -412,6 +412,7 @@ void block_job_user_resume(BlockJob *job)
> {
> if (job && job->user_paused && job->pause_count > 0) {
> job->user_paused = false;
> + block_job_iostatus_reset(job);
> block_job_resume(job);
> }
> }
> @@ -427,11 +428,6 @@ void block_job_cancel(BlockJob *job)
> }
> }
>
> -void block_job_iostatus_reset(BlockJob *job)
> -{
> - job->iostatus = BLOCK_DEVICE_IO_STATUS_OK;
> -}
> -
> static int block_job_finish_sync(BlockJob *job,
> void (*finish)(BlockJob *, Error **errp),
> Error **errp)
> @@ -767,6 +763,11 @@ void block_job_yield(BlockJob *job)
> block_job_pause_point(job);
> }
>
> +void block_job_iostatus_reset(BlockJob *job)
> +{
> + job->iostatus = BLOCK_DEVICE_IO_STATUS_OK;
> +}
> +
> void block_job_event_ready(BlockJob *job)
> {
> job->ready = true;
> --
> 2.12.2
>
>
Reviewed-by: Jeff Cody <address@hidden>
- [Qemu-devel] [PATCH v2 00/11] Preparation for block job mutex, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 01/11] blockjob: remove unnecessary check, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 02/11] blockjob: remove iostatus_reset callback, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 03/11] blockjob: introduce block_job_early_fail, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 04/11] blockjob: introduce block_job_pause/resume_all, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 06/11] blockjob: move iostatus reset inside block_job_user_resume, Paolo Bonzini, 2017/05/08
- Re: [Qemu-devel] [PATCH 06/11] blockjob: move iostatus reset inside block_job_user_resume,
Jeff Cody <=
- [Qemu-devel] [PATCH 08/11] blockjob: group BlockJob transaction functions together, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 05/11] blockjob: separate monitor and blockjob APIs, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 07/11] blockjob: introduce block_job_cancel_async, check iostatus invariants, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 10/11] blockjob: reorganize block_job_completed_txn_abort, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 11/11] blockjob: use deferred_to_main_loop to indicate the coroutine has ended, Paolo Bonzini, 2017/05/08
- [Qemu-devel] [PATCH 09/11] blockjob: strengthen a bit test-blockjob-txn, Paolo Bonzini, 2017/05/08
- Re: [Qemu-devel] [PATCH v2 00/11] Preparation for block job mutex, Paolo Bonzini, 2017/05/21