[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