All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Cody <jcody@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, jsnow@redhat.com,
	stefanha@redhat.com
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	[thread overview]
Message-ID: <20170509171004.GC25411@localhost.localdomain> (raw)
In-Reply-To: <20170508141310.8674-7-pbonzini@redhat.com>

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 <stefanha@redhat.com>
> Reviewed-by: John Snow <jsnow@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  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 <jcody@redhat.com>

  reply	other threads:[~2017-05-09 17:10 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-08 14:12 [Qemu-devel] [PATCH v2 00/11] Preparation for block job mutex Paolo Bonzini
2017-05-08 14:13 ` [Qemu-devel] [PATCH 01/11] blockjob: remove unnecessary check Paolo Bonzini
2017-05-09 16:23   ` Jeff Cody
2017-05-08 14:13 ` [Qemu-devel] [PATCH 02/11] blockjob: remove iostatus_reset callback Paolo Bonzini
2017-05-09 16:26   ` Jeff Cody
2017-05-08 14:13 ` [Qemu-devel] [PATCH 03/11] blockjob: introduce block_job_early_fail Paolo Bonzini
2017-05-09 16:37   ` Jeff Cody
2017-05-08 14:13 ` [Qemu-devel] [PATCH 04/11] blockjob: introduce block_job_pause/resume_all Paolo Bonzini
2017-05-09 17:00   ` Jeff Cody
2017-05-08 14:13 ` [Qemu-devel] [PATCH 05/11] blockjob: separate monitor and blockjob APIs Paolo Bonzini
2017-05-09 17:06   ` Jeff Cody
2017-05-09 17:09     ` Paolo Bonzini
2017-05-08 14:13 ` [Qemu-devel] [PATCH 06/11] blockjob: move iostatus reset inside block_job_user_resume Paolo Bonzini
2017-05-09 17:10   ` Jeff Cody [this message]
2017-05-08 14:13 ` [Qemu-devel] [PATCH 07/11] blockjob: introduce block_job_cancel_async, check iostatus invariants Paolo Bonzini
2017-05-08 14:13 ` [Qemu-devel] [PATCH 08/11] blockjob: group BlockJob transaction functions together Paolo Bonzini
2017-05-08 14:13 ` [Qemu-devel] [PATCH 09/11] blockjob: strengthen a bit test-blockjob-txn Paolo Bonzini
2017-05-08 14:13 ` [Qemu-devel] [PATCH 10/11] blockjob: reorganize block_job_completed_txn_abort Paolo Bonzini
2017-05-08 14:13 ` [Qemu-devel] [PATCH 11/11] blockjob: use deferred_to_main_loop to indicate the coroutine has ended Paolo Bonzini
2017-05-21 13:17 ` [Qemu-devel] [PATCH v2 00/11] Preparation for block job mutex Paolo Bonzini
2017-05-22  9:09   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-05-23  1:57 ` [Qemu-devel] " Jeff Cody
  -- strict thread matches above, loose matches on Subject: below --
2017-04-19 14:42 [Qemu-devel] [PATCH for 2.10 " Paolo Bonzini
2017-04-19 14:42 ` [Qemu-devel] [PATCH 06/11] blockjob: move iostatus reset inside block_job_user_resume Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170509171004.GC25411@localhost.localdomain \
    --to=jcody@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.