[sheepdog] [PATCH] sheep: fix oid scheduling in recovery
Christoph Hellwig
hch at infradead.org
Fri Jun 8 20:24:44 CEST 2012
On Tue, Jun 05, 2012 at 11:12:30PM +0900, MORITA Kazutaka wrote:
> The old sheepdog driver didn't do asynchronous I/Os; it did a busy
> loop when send/recv returns with EAGAIN. I moved to coroutine
> implementation because it could make the sheepdog driver asynchronous
> with a very little change.
I think we can pretty easily do real AIO using normal non-blocking I/O
and callbacks from the event handler, similar to how the sheep daemon
works.
> I'm not against going back to aio callback codes, but I'd rather see a
> block driver with a sheepdog client library so that we can more easily
> develop sheepdog client codes.
Given that the coroutines are a qemu-local concept I think moving to
a normal callback based event driven model is a prerequisite for that,
otherwise the code won't be very useful outside of qemu.
More information about the sheepdog
mailing list