Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- block/nbd-client.h | 10 +++++----- block/nbd-client.c | 24 ++++++++++++++++-------- block/nbd.c | 3 ++- nbd/server.c | 3 ++- 4 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/block/nbd-client.h b/block/nbd-client.h index 49636bc621..473d1f88fd 100644 --- a/block/nbd-client.h +++ b/block/nbd-client.h @@ -42,13 +42,13 @@ int nbd_client_init(BlockDriverState *bs, Error **errp); void nbd_client_close(BlockDriverState *bs); -int nbd_client_co_pdiscard(BlockDriverState *bs, int64_t offset, int bytes); -int nbd_client_co_flush(BlockDriverState *bs); -int nbd_client_co_pwritev(BlockDriverState *bs, uint64_t offset, +int coroutine_fn nbd_client_co_pdiscard(BlockDriverState *bs, int64_t offset, int bytes); +int coroutine_fn nbd_client_co_flush(BlockDriverState *bs); +int coroutine_fn nbd_client_co_pwritev(BlockDriverState *bs, uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags); -int nbd_client_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, +int coroutine_fn nbd_client_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, int bytes, BdrvRequestFlags flags); -int nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset, +int coroutine_fn nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags); void nbd_client_detach_aio_context(BlockDriverState *bs); diff --git a/block/nbd-client.c b/block/nbd-client.c index 02e928142e..63c0210c37 100644 --- a/block/nbd-client.c +++ b/block/nbd-client.c @@ -111,7 +111,8 @@ static coroutine_fn void nbd_read_reply_entry(void *opaque) s->read_reply_co = NULL; } -static int nbd_co_send_request(BlockDriverState *bs, +static int coroutine_fn +nbd_co_send_request(BlockDriverState *bs, NBDRequest *request, QEMUIOVector *qiov) { @@ -158,7 +159,8 @@ static int nbd_co_send_request(BlockDriverState *bs, return rc; } -static void nbd_co_receive_reply(NBDClientSession *s, +static void coroutine_fn +nbd_co_receive_reply(NBDClientSession *s, NBDRequest *request, NBDReply *reply, QEMUIOVector *qiov) @@ -185,7 +187,8 @@ static void nbd_co_receive_reply(NBDClientSession *s, } } -static void nbd_coroutine_end(BlockDriverState *bs, +static void coroutine_fn +nbd_coroutine_end(BlockDriverState *bs, NBDRequest *request) { NBDClientSession *s = nbd_get_client_session(bs); @@ -204,7 +207,8 @@ static void nbd_coroutine_end(BlockDriverState *bs, qemu_co_mutex_unlock(&s->send_mutex); } -int nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset, +int coroutine_fn +nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags) { NBDClientSession *client = nbd_get_client_session(bs); @@ -229,7 +233,8 @@ int nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset, return -reply.error; } -int nbd_client_co_pwritev(BlockDriverState *bs, uint64_t offset, +int coroutine_fn +nbd_client_co_pwritev(BlockDriverState *bs, uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags) { NBDClientSession *client = nbd_get_client_session(bs); @@ -258,7 +263,8 @@ int nbd_client_co_pwritev(BlockDriverState *bs, uint64_t offset, return -reply.error; } -int nbd_client_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, +int coroutine_fn +nbd_client_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, int bytes, BdrvRequestFlags flags) { ssize_t ret; @@ -292,7 +298,8 @@ int nbd_client_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, return -reply.error; } -int nbd_client_co_flush(BlockDriverState *bs) +int coroutine_fn +nbd_client_co_flush(BlockDriverState *bs) { NBDClientSession *client = nbd_get_client_session(bs); NBDRequest request = { .type = NBD_CMD_FLUSH }; @@ -316,7 +323,8 @@ int nbd_client_co_flush(BlockDriverState *bs) return -reply.error; } -int nbd_client_co_pdiscard(BlockDriverState *bs, int64_t offset, int bytes) +int coroutine_fn +nbd_client_co_pdiscard(BlockDriverState *bs, int64_t offset, int bytes) { NBDClientSession *client = nbd_get_client_session(bs); NBDRequest request = { diff --git a/block/nbd.c b/block/nbd.c index d529305330..8689b27d7d 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -465,7 +465,8 @@ static int nbd_open(BlockDriverState *bs, QDict *options, int flags, return ret; } -static int nbd_co_flush(BlockDriverState *bs) +static int coroutine_fn +nbd_co_flush(BlockDriverState *bs) { return nbd_client_co_flush(bs); } diff --git a/nbd/server.c b/nbd/server.c index 8a70c054a6..4112b4b184 100644 --- a/nbd/server.c +++ b/nbd/server.c @@ -960,7 +960,8 @@ void nbd_export_close_all(void) } } -static int nbd_co_send_reply(NBDRequestData *req, NBDReply *reply, int len) +static int coroutine_fn +nbd_co_send_reply(NBDRequestData *req, NBDReply *reply, int len) { NBDClient *client = req->client; int ret; -- 2.13.1.395.gf7b71de06