提交 d8716b41 编写于 作者: P Paolo Bonzini 提交者: Kevin Wolf

sheepdog: add coroutine_fn markers

This makes the following patch easier to review.

Cc: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 c2e2343e
...@@ -396,7 +396,7 @@ static inline int free_aio_req(BDRVSheepdogState *s, AIOReq *aio_req) ...@@ -396,7 +396,7 @@ static inline int free_aio_req(BDRVSheepdogState *s, AIOReq *aio_req)
return !QLIST_EMPTY(&acb->aioreq_head); return !QLIST_EMPTY(&acb->aioreq_head);
} }
static void sd_finish_aiocb(SheepdogAIOCB *acb) static void coroutine_fn sd_finish_aiocb(SheepdogAIOCB *acb)
{ {
if (!acb->canceled) { if (!acb->canceled) {
qemu_coroutine_enter(acb->coroutine, NULL); qemu_coroutine_enter(acb->coroutine, NULL);
...@@ -735,7 +735,7 @@ out: ...@@ -735,7 +735,7 @@ out:
return ret; return ret;
} }
static int add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req, static int coroutine_fn add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
struct iovec *iov, int niov, int create, struct iovec *iov, int niov, int create,
enum AIOCBState aiocb_type); enum AIOCBState aiocb_type);
...@@ -743,7 +743,7 @@ static int add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req, ...@@ -743,7 +743,7 @@ static int add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
* This function searchs pending requests to the object `oid', and * This function searchs pending requests to the object `oid', and
* sends them. * sends them.
*/ */
static void send_pending_req(BDRVSheepdogState *s, uint64_t oid, uint32_t id) static void coroutine_fn send_pending_req(BDRVSheepdogState *s, uint64_t oid, uint32_t id)
{ {
AIOReq *aio_req, *next; AIOReq *aio_req, *next;
SheepdogAIOCB *acb; SheepdogAIOCB *acb;
...@@ -777,7 +777,7 @@ static void send_pending_req(BDRVSheepdogState *s, uint64_t oid, uint32_t id) ...@@ -777,7 +777,7 @@ static void send_pending_req(BDRVSheepdogState *s, uint64_t oid, uint32_t id)
* This function is registered as a fd handler, and called from the * This function is registered as a fd handler, and called from the
* main loop when s->fd is ready for reading responses. * main loop when s->fd is ready for reading responses.
*/ */
static void aio_read_response(void *opaque) static void coroutine_fn aio_read_response(void *opaque)
{ {
SheepdogObjRsp rsp; SheepdogObjRsp rsp;
BDRVSheepdogState *s = opaque; BDRVSheepdogState *s = opaque;
...@@ -1064,7 +1064,7 @@ out: ...@@ -1064,7 +1064,7 @@ out:
return ret; return ret;
} }
static int add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req, static int coroutine_fn add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
struct iovec *iov, int niov, int create, struct iovec *iov, int niov, int create,
enum AIOCBState aiocb_type) enum AIOCBState aiocb_type)
{ {
...@@ -1517,7 +1517,7 @@ static int sd_truncate(BlockDriverState *bs, int64_t offset) ...@@ -1517,7 +1517,7 @@ static int sd_truncate(BlockDriverState *bs, int64_t offset)
* update metadata, this sends a write request to the vdi object. * update metadata, this sends a write request to the vdi object.
* Otherwise, this switches back to sd_co_readv/writev. * Otherwise, this switches back to sd_co_readv/writev.
*/ */
static void sd_write_done(SheepdogAIOCB *acb) static void coroutine_fn sd_write_done(SheepdogAIOCB *acb)
{ {
int ret; int ret;
BDRVSheepdogState *s = acb->common.bs->opaque; BDRVSheepdogState *s = acb->common.bs->opaque;
...@@ -1615,7 +1615,7 @@ out: ...@@ -1615,7 +1615,7 @@ out:
* Returns 1 when we need to wait a response, 0 when there is no sent * Returns 1 when we need to wait a response, 0 when there is no sent
* request and -errno in error cases. * request and -errno in error cases.
*/ */
static int sd_co_rw_vector(void *p) static int coroutine_fn sd_co_rw_vector(void *p)
{ {
SheepdogAIOCB *acb = p; SheepdogAIOCB *acb = p;
int ret = 0; int ret = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册