]> git.proxmox.com Git - mirror_qemu.git/commit - block/sheepdog.c
sheepdog: use coroutines
authorMORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Fri, 12 Aug 2011 12:33:15 +0000 (21:33 +0900)
committerKevin Wolf <kwolf@redhat.com>
Wed, 24 Aug 2011 12:53:51 +0000 (14:53 +0200)
commit2df4624662103eb007428e6ded3b3496a952b154
tree74e52bf0382e488c07a71a24391a4f893bf40da0
parentab0997e0afdcb272fd04784a280b2df46b0c759f
sheepdog: use coroutines

This makes the sheepdog block driver support bdrv_co_readv/writev
instead of bdrv_aio_readv/writev.

With this patch, Sheepdog network I/O becomes fully asynchronous.  The
block driver yields back when send/recv returns EAGAIN, and is resumed
when the sheepdog network connection is ready for the operation.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/sheepdog.c