diff mbox

[v4,1/5] blockjob: move iostatus reset out of block_job_enter()

Message ID 1465928228-1184-2-git-send-email-stefanha@redhat.com
State New
Headers show

Commit Message

Stefan Hajnoczi June 14, 2016, 6:17 p.m. UTC
The QMP block-job-resume command and cancellation may want to reset the
job's iostatus.  The next patches add a user who does not want to reset
iostatus so move it up to block_job_enter() callers.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 blockdev.c | 1 +
 blockjob.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Fam Zheng June 15, 2016, 8:47 a.m. UTC | #1
On Tue, 06/14 19:17, Stefan Hajnoczi wrote:
> The QMP block-job-resume command and cancellation may want to reset the
> job's iostatus.  The next patches add a user who does not want to reset
> iostatus so move it up to block_job_enter() callers.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  blockdev.c | 1 +
>  blockjob.c | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/blockdev.c b/blockdev.c
> index 7fd515a..19b963c 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -3799,6 +3799,7 @@ void qmp_block_job_resume(const char *device, Error **errp)
>  
>      job->user_paused = false;
>      trace_qmp_block_job_resume(job);
> +    block_job_iostatus_reset(job);
>      block_job_resume(job);
>      aio_context_release(aio_context);
>  }
> diff --git a/blockjob.c b/blockjob.c
> index c095cc5..463bccf 100644
> --- a/blockjob.c
> +++ b/blockjob.c
> @@ -269,7 +269,6 @@ void block_job_resume(BlockJob *job)
>  
>  void block_job_enter(BlockJob *job)
>  {
> -    block_job_iostatus_reset(job);
>      if (job->co && !job->busy) {
>          qemu_coroutine_enter(job->co, NULL);
>      }
> @@ -278,6 +277,7 @@ void block_job_enter(BlockJob *job)
>  void block_job_cancel(BlockJob *job)
>  {
>      job->cancelled = true;
> +    block_job_iostatus_reset(job);
>      block_job_enter(job);
>  }
>  
> -- 
> 2.5.5
> 

Reviewed-by: Fam Zheng <famz@redhat.com>
diff mbox

Patch

diff --git a/blockdev.c b/blockdev.c
index 7fd515a..19b963c 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3799,6 +3799,7 @@  void qmp_block_job_resume(const char *device, Error **errp)
 
     job->user_paused = false;
     trace_qmp_block_job_resume(job);
+    block_job_iostatus_reset(job);
     block_job_resume(job);
     aio_context_release(aio_context);
 }
diff --git a/blockjob.c b/blockjob.c
index c095cc5..463bccf 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -269,7 +269,6 @@  void block_job_resume(BlockJob *job)
 
 void block_job_enter(BlockJob *job)
 {
-    block_job_iostatus_reset(job);
     if (job->co && !job->busy) {
         qemu_coroutine_enter(job->co, NULL);
     }
@@ -278,6 +277,7 @@  void block_job_enter(BlockJob *job)
 void block_job_cancel(BlockJob *job)
 {
     job->cancelled = true;
+    block_job_iostatus_reset(job);
     block_job_enter(job);
 }