From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] Re: [PATCH 2/3] Move aio implementation out of raw block driver Date: Tue, 23 Sep 2008 11:06:27 -0500 Message-ID: <48D91403.8090007@us.ibm.com> References: <1222125454-21744-1-git-send-email-ryanh@us.ibm.com> <1222125454-21744-3-git-send-email-ryanh@us.ibm.com> <48D85849.2080302@us.ibm.com> <20080923143909.GK31395@us.ibm.com> <48D902EB.8070701@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Ryan Harper , Marcelo Tosatti , qemu-devel@nongnu.org, kvm@vger.kernel.org To: Gerd Hoffmann Return-path: Received: from e6.ny.us.ibm.com ([32.97.182.146]:53752 "EHLO e6.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751005AbYIWQJG (ORCPT ); Tue, 23 Sep 2008 12:09:06 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e6.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id m8NGBZe2022197 for ; Tue, 23 Sep 2008 12:11:35 -0400 Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id m8NG7PMJ129104 for ; Tue, 23 Sep 2008 12:07:25 -0400 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m8NG7Oj6021880 for ; Tue, 23 Sep 2008 12:07:24 -0400 In-Reply-To: <48D902EB.8070701@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Gerd Hoffmann wrote: > Ryan Harper wrote: > >>> So what happens if !defined(CONFIG_AIO)? By my reading of the code, >>> aio_drv will be NULL and this will SEGV. >>> >> raw_aio_read/write/cancel aren't included in the bdrv structure unless >> CONFIG_AIO is defined. Rather in bdrv_register, the aio emulation >> functions are used instead. >> > > How about providing a aio interface implementation which simply uses > read/write syscalls (thereby not being really async obviously)? Then > use that as fallback instead of aio emulation? And also drop CONFIG_AIO > then? > Yeah, this is basically what block-raw-posix does today. I was thinking the same thing. I was also thinking that you could do an aio implementation for win32 and possibly reunify block-raw-posix and block-raw-linux. But before going down this route, I want to see if linux-aio is really the right tool for the job. Regards, Anthony Liguori > cheers, > Gerd >