From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Khufh-0002FG-KJ for qemu-devel@nongnu.org; Mon, 22 Sep 2008 19:18:25 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Khuff-0002DY-ON for qemu-devel@nongnu.org; Mon, 22 Sep 2008 19:18:25 -0400 Received: from [199.232.76.173] (port=45235 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Khuff-0002Cr-5W for qemu-devel@nongnu.org; Mon, 22 Sep 2008 19:18:23 -0400 Received: from e2.ny.us.ibm.com ([32.97.182.142]:53422) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Khuff-00054Q-0B for qemu-devel@nongnu.org; Mon, 22 Sep 2008 19:18:23 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e2.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id m8MNHav6032578 for ; Mon, 22 Sep 2008 19:17:36 -0400 Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id m8MNHZwY236786 for ; Mon, 22 Sep 2008 19:17:35 -0400 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m8MNHZFw031617 for ; Mon, 22 Sep 2008 19:17:35 -0400 From: Ryan Harper Date: Mon, 22 Sep 2008 18:17:32 -0500 Message-Id: <1222125454-21744-2-git-send-email-ryanh@us.ibm.com> In-Reply-To: <1222125454-21744-1-git-send-email-ryanh@us.ibm.com> References: <1222125454-21744-1-git-send-email-ryanh@us.ibm.com> Subject: [Qemu-devel] [PATCH 1/3] Only call aio flush handler if set Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, Ryan Harper , kvm@vger.kernel.org If the aio handler doesn't register an io_flush handler, we'd SEGV; fix that by only calling the flush handler if set. BTW, aio handlers *should* register an io_flush routine. Signed-off-by: Ryan Harper diff --git a/aio.c b/aio.c index 687e4be..2bb3ed4 100644 --- a/aio.c +++ b/aio.c @@ -105,7 +105,8 @@ void qemu_aio_flush(void) ret = 0; LIST_FOREACH(node, &aio_handlers, node) { - ret |= node->io_flush(node->opaque); + if (node->io_flush) + ret |= node->io_flush(node->opaque); } qemu_aio_wait();