From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: [Qemu-devel] Re: [PATCH 2/3] Move aio implementation out of raw block driver Date: Tue, 23 Sep 2008 16:53:31 +0200 Message-ID: <48D902EB.8070701@redhat.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> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Anthony Liguori , Marcelo Tosatti , qemu-devel@nongnu.org, kvm@vger.kernel.org To: Ryan Harper Return-path: Received: from mx2.redhat.com ([66.187.237.31]:56312 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751549AbYIWOxj (ORCPT ); Tue, 23 Sep 2008 10:53:39 -0400 In-Reply-To: <20080923143909.GK31395@us.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: 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? cheers, Gerd