From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Wolf Subject: Re: [PATCH v5] block: add sheepdog driver for distributed storage support Date: Tue, 15 Jun 2010 10:24:14 +0200 Message-ID: <4C1738AE.8040906@redhat.com> References: <1275933621-404-1-git-send-email-morita.kazutaka@lab.ntt.co.jp> <4C123BAC.9080008@redhat.com> <878w6hs8e5.wl%morita.kazutaka@lab.ntt.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org, sheepdog-CJ+3F33aHDCwRfvgX43A7Q@public.gmane.org, chris.krumme-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org, kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org, Christian Brunner To: MORITA Kazutaka Return-path: In-Reply-To: <878w6hs8e5.wl%morita.kazutaka-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: sheepdog-bounces-CJ+3F33aHDCwRfvgX43A7Q@public.gmane.org Errors-To: sheepdog-bounces-CJ+3F33aHDCwRfvgX43A7Q@public.gmane.org List-Id: kvm.vger.kernel.org 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