Re: [PATCH v5] block: add sheepdog driver for distributed storage support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Tue, 15 Jun 2010 10:24:14 +0200,
Kevin Wolf wrote:
> 
> Am 14.06.2010 21:48, schrieb MORITA Kazutaka:
> >> 3) qemu-io aio_read/write doesn't seem to work well with it. I only get
> >> the result of the AIO request when I exit qemu-io. This may be a qemu-io
> >> problem or a Sheepdog one. We need to look into this, qemu-io is
> >> important for testing and debugging (particularly for qemu-iotests)
> >>
> > Sheepdog receives responses from the server in the fd handler to the
> > socket connection.  But, while qemu-io executes aio_read/aio_write, it
> > doesn't call qemu_aio_wait() and the fd handler isn't invoked at all.
> > This seems to be the reason of the problem.
> > 
> > I'm not sure this is a qemu-io problem or a Sheepdog one.  If it is a
> > qemu-io problem, we need to call qemu_aio_wait() somewhere in the
> > command_loop(), I guess.  If it is a Sheepdog problem, we need to
> > consider another mechanism to receive responses...
> 
> Not sure either.
> 
> I think posix-aio-compat needs fd handlers to be called, too, and it
> kind of works. I'm saying "kind of" because after an aio_read/write
> command qemu-io exits (it doesn't with Sheepdog). And when exiting there
> is a qemu_aio_wait(), so this explains why you get a result there.
> 
> I guess it's a bug in the posix-aio-compat case rather than with Sheepdog.
> 
It seems that fgets() is interrupted by a signal in fetchline() and
qemu-io exits.

BTW, I think we should call the fd handlers when user input is idle
and the fds become ready.  I'll send the patch later.

> The good news is that if qemu-iotests works with only one aio_read/write
> command before qemu-io exits, it's going to work with Sheepdog, too.
> 
Great!


Thanks,

Kazutaka
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux