qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] [PATCH 03/21] block/backup: utilize job_exit shim


From: John Snow
Subject: [Qemu-block] [PATCH 03/21] block/backup: utilize job_exit shim
Date: Tue, 7 Aug 2018 00:33:31 -0400

Utilize the job_exit shim by simply not calling job_defer_to_main_loop.

Signed-off-by: John Snow <address@hidden>
---
 block/backup.c | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/block/backup.c b/block/backup.c
index f3bf842423..af6ee5ab54 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -380,18 +380,6 @@ static BlockErrorAction backup_error_action(BackupBlockJob 
*job,
     }
 }
 
-typedef struct {
-    int ret;
-} BackupCompleteData;
-
-static void backup_complete(Job *job, void *opaque)
-{
-    BackupCompleteData *data = opaque;
-
-    job_completed(job, data->ret);
-    g_free(data);
-}
-
 static bool coroutine_fn yield_and_check(BackupBlockJob *job)
 {
     uint64_t delay_ns;
@@ -483,7 +471,6 @@ static void 
backup_incremental_init_copy_bitmap(BackupBlockJob *job)
 static void coroutine_fn backup_run(void *opaque)
 {
     BackupBlockJob *job = opaque;
-    BackupCompleteData *data;
     BlockDriverState *bs = blk_bs(job->common.blk);
     int64_t offset, nb_clusters;
     int ret = 0;
@@ -584,9 +571,7 @@ static void coroutine_fn backup_run(void *opaque)
     qemu_co_rwlock_unlock(&job->flush_rwlock);
     hbitmap_free(job->copy_bitmap);
 
-    data = g_malloc(sizeof(*data));
-    data->ret = ret;
-    job_defer_to_main_loop(&job->common.job, backup_complete, data);
+    job->common.job.ret = ret;
 }
 
 static const BlockJobDriver backup_job_driver = {
-- 
2.14.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]