]> git.proxmox.com Git - mirror_qemu.git/blobdiff - blockjob.c
qdev: Use GList for global properties
[mirror_qemu.git] / blockjob.c
index c095cc57cbf842a7c0da1809abd7554e4c813539..01b896b7e75626a8c185c8819edc4919af8d56e7 100644 (file)
@@ -361,10 +361,12 @@ void block_job_sleep_ns(BlockJob *job, QEMUClockType type, int64_t ns)
     }
 
     job->busy = false;
+    if (!block_job_is_paused(job)) {
+        co_aio_sleep_ns(blk_get_aio_context(job->blk), type, ns);
+    }
+    /* The job can be paused while sleeping, so check this again */
     if (block_job_is_paused(job)) {
         qemu_coroutine_yield();
-    } else {
-        co_aio_sleep_ns(blk_get_aio_context(job->blk), type, ns);
     }
     job->busy = true;
 }