[sheepdog] [PATCH] sheep: fix oid scheduling in recovery

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Tue Jun 5 16:12:30 CEST 2012


At Tue, 5 Jun 2012 08:11:23 -0400,
Christoph Hellwig wrote:
> 
> On Tue, Jun 05, 2012 at 08:10:13PM +0800, Liu Yuan wrote:
> > On 06/05/2012 07:52 PM, Christoph Hellwig wrote:
> > 
> > > I completely agree with your opinion there - if you look at old list
> > > archives you'll see that I argued against adding them to qemu but lost
> > > the fight.  There has been some recent discussion where people advocated
> > > for moving away from it again, though.
> > 
> > 
> > That is too bad. Anyway, dunno for now, if the coroutine is the only
> > choice for block driver implementation of QEMU? If yes, probably we
> > should go back to the QEMU version without it for the sake of code
> > maintainability.
> 
> It's not the only once.  Going back to the old sheepdog driver
> implementation using the aio methods should be entirely possible for a
> new qemu, but I haven't look at this yet. 

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'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.

Thanks,

Kazutaka



More information about the sheepdog mailing list