[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v5] block: add sheepdog driver for distributed s
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH v5] block: add sheepdog driver for distributed storage support |
Date: |
Tue, 15 Jun 2010 10:24:14 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4 |
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.
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.
Kevin