Thank you for the feedback. Here is an updated patch. Added more functions related to do_sgio() as suggested. Also found one related to prh_co_entry()
I have removed (edits on) two files as there are many more functions I found in those. So I think another thread might be more appropriate (where I'll send patches flie by file). Focusing on two files here now. For reference the path of calls that end up on a coroutine_fn below do_pr_in() --> do_sgio() do_pr_out() --> do_sgio() mpath_reconstruct_sense() --> do_sgio() multipath_pr_out() --> mpath_reconstruct_sense() --> do_sgio() multipath_pr_in() --> mpath_reconstruct_sense() --> do_sgio() accept_client() --> prh_co_entry() >From 79f787c2ef5f713546b38a76367d273ff65742d6 Mon Sep 17 00:00:00 2001 From: Cenne Dee <cennedee+qemu-de...@protonmail.com> Date: Fri, 30 Apr 2021 15:52:28 -0400 Subject: [PATCH] Add missing coroutine_fn function signature to some _co() functions Patch adds the signature for relevant functions ending with _co or those that use them. Signed-off-by: Cenne Dee <cennedee+qemu-de...@protonmail.com> --- scsi/qemu-pr-helper.c | 14 +++++++------- tests/unit/test-thread-pool.c | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scsi/qemu-pr-helper.c b/scsi/qemu-pr-helper.c index 7b9389b..695539b 100644 --- a/scsi/qemu-pr-helper.c +++ b/scsi/qemu-pr-helper.c @@ -175,7 +175,7 @@ static int do_sgio_worker(void *opaque) return status; } -static int do_sgio(int fd, const uint8_t *cdb, uint8_t *sense, +static int coroutine_fn do_sgio(int fd, const uint8_t *cdb, uint8_t *sense, uint8_t *buf, int *sz, int dir) { ThreadPool *pool = aio_get_thread_pool(qemu_get_aio_context()); @@ -318,7 +318,7 @@ static SCSISense mpath_generic_sense(int r) } } -static int mpath_reconstruct_sense(int fd, int r, uint8_t *sense) +static int coroutine_fn mpath_reconstruct_sense(int fd, int r, uint8_t *sense) { switch (r) { case MPATH_PR_SUCCESS: @@ -370,7 +370,7 @@ static int mpath_reconstruct_sense(int fd, int r, uint8_t *sense) } } -static int multipath_pr_in(int fd, const uint8_t *cdb, uint8_t *sense, +static int coroutine_fn multipath_pr_in(int fd, const uint8_t *cdb, uint8_t *sense, uint8_t *data, int sz) { int rq_servact = cdb[1]; @@ -425,7 +425,7 @@ static int multipath_pr_in(int fd, const uint8_t *cdb, uint8_t *sense, return mpath_reconstruct_sense(fd, r, sense); } -static int multipath_pr_out(int fd, const uint8_t *cdb, uint8_t *sense, +static int coroutine_fn multipath_pr_out(int fd, const uint8_t *cdb, uint8_t *sense, const uint8_t *param, int sz) { int rq_servact = cdb[1]; @@ -543,7 +543,7 @@ static int multipath_pr_out(int fd, const uint8_t *cdb, uint8_t *sense, } #endif -static int do_pr_in(int fd, const uint8_t *cdb, uint8_t *sense, +static int coroutine_fn do_pr_in(int fd, const uint8_t *cdb, uint8_t *sense, uint8_t *data, int *resp_sz) { #ifdef CONFIG_MPATH @@ -561,7 +561,7 @@ static int do_pr_in(int fd, const uint8_t *cdb, uint8_t *sense, SG_DXFER_FROM_DEV); } -static int do_pr_out(int fd, const uint8_t *cdb, uint8_t *sense, +static int coroutine_fn do_pr_out(int fd, const uint8_t *cdb, uint8_t *sense, const uint8_t *param, int sz) { int resp_sz; @@ -804,7 +804,7 @@ out: g_free(client); } -static gboolean accept_client(QIOChannel *ioc, GIOCondition cond, gpointer opaque) +static gboolean coroutine_fn accept_client(QIOChannel *ioc, GIOCondition cond, gpointer opaque) { QIOChannelSocket *cioc; PRHelperClient *prh; diff --git a/tests/unit/test-thread-pool.c b/tests/unit/test-thread-pool.c index 70dc631..dbaf72c 100644 --- a/tests/unit/test-thread-pool.c +++ b/tests/unit/test-thread-pool.c @@ -72,7 +72,7 @@ static void test_submit_aio(void) g_assert_cmpint(data.ret, ==, 0); } -static void co_test_cb(void *opaque) +static void coroutine_fn co_test_cb(void *opaque) { WorkerTestData *data = opaque; -- 2.31.1