From patchwork Mon Nov 14 16:50:51 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 125561 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id E3D45B6FAF for ; Tue, 15 Nov 2011 03:52:10 +1100 (EST) Received: from localhost ([::1]:57533 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPzlO-0006Kk-HB for incoming@patchwork.ozlabs.org; Mon, 14 Nov 2011 11:52:06 -0500 Received: from eggs.gnu.org ([140.186.70.92]:32796) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPzkZ-0004YV-3e for qemu-devel@nongnu.org; Mon, 14 Nov 2011 11:51:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RPzkX-0000vx-9E for qemu-devel@nongnu.org; Mon, 14 Nov 2011 11:51:15 -0500 Received: from mail-yx0-f173.google.com ([209.85.213.173]:48714) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPzkX-0000vo-3u for qemu-devel@nongnu.org; Mon, 14 Nov 2011 11:51:13 -0500 Received: by yenr8 with SMTP id r8so6206810yen.4 for ; Mon, 14 Nov 2011 08:51:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:from:to:subject:date:message-id:x-mailer:in-reply-to :references; bh=rrP2AO/dXnAg6v8/qvxuLZDW4gdwClDfw1hz8ZVgNNA=; b=S4Jdbgx7XA7+rBYxqexo1zyDPgr9lMxRt68uT7wCpW5MV//ZINckhg70Jrs2aeZfCj pg5KkJDV9IPCS0S66vrJTRMQt80rkf7vfLL7LVAu/PgWEInMdS0bFsBTfpQgmRhAgAaM vv6Dd3eaqVAMGcx6PqmVPutcOb3QL8/GNc1aY= Received: by 10.146.242.18 with SMTP id p18mr544313yah.18.1321289472570; Mon, 14 Nov 2011 08:51:12 -0800 (PST) Received: from localhost.localdomain (93-34-178-161.ip50.fastwebnet.it. [93.34.178.161]) by mx.google.com with ESMTPS id i31sm40698206anm.19.2011.11.14.08.51.09 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 14 Nov 2011 08:51:10 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 14 Nov 2011 17:50:51 +0100 Message-Id: <1321289454-9219-4-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.7.7.1 In-Reply-To: <1321289454-9219-1-git-send-email-pbonzini@redhat.com> References: <1321289454-9219-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.213.173 Subject: [Qemu-devel] [PATCH 1.1 3/6] block: qemu_aio_get does not return NULL X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Initially done with the following semantic patch: @ rule1 @ expression E; statement S; @@ E = qemu_aio_get (...); ( - if (E == NULL) { ... } | - if (E) { <... S ...> } ) which however missed occurrences in linux-aio.c and posix-aio-compat.c. Those were done by hand. The change in vdi_aio_setup's caller was also done by hand. Signed-off-by: Paolo Bonzini --- block/curl.c | 4 ---- block/rbd.c | 3 --- block/vdi.c | 46 ++++++++++++++++++---------------------------- linux-aio.c | 2 -- posix-aio-compat.c | 4 ---- 5 files changed, 18 insertions(+), 41 deletions(-) diff --git a/block/curl.c b/block/curl.c index 4209ac8..e9102e3 100644 --- a/block/curl.c +++ b/block/curl.c @@ -509,10 +509,6 @@ static BlockDriverAIOCB *curl_aio_readv(BlockDriverState *bs, acb = qemu_aio_get(&curl_aio_pool, bs, cb, opaque); - if (!acb) { - return NULL; - } - acb->qiov = qiov; acb->sector_num = sector_num; acb->nb_sectors = nb_sectors; diff --git a/block/rbd.c b/block/rbd.c index c684e0c..a01fa72 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -632,9 +632,6 @@ static BlockDriverAIOCB *rbd_aio_rw_vector(BlockDriverState *bs, BDRVRBDState *s = bs->opaque; acb = qemu_aio_get(&rbd_aio_pool, bs, cb, opaque); - if (!acb) { - return NULL; - } acb->write = write; acb->qiov = qiov; acb->bounce = qemu_blockalign(bs, qiov->size); diff --git a/block/vdi.c b/block/vdi.c index 1df3c81..83b64d8 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -506,28 +506,26 @@ static VdiAIOCB *vdi_aio_setup(BlockDriverState *bs, int64_t sector_num, bs, sector_num, qiov, nb_sectors, cb, opaque, is_write); acb = qemu_aio_get(&vdi_aio_pool, bs, cb, opaque); - if (acb) { - acb->hd_aiocb = NULL; - acb->sector_num = sector_num; - acb->qiov = qiov; - acb->is_write = is_write; - - if (qiov->niov > 1) { - acb->buf = qemu_blockalign(bs, qiov->size); - acb->orig_buf = acb->buf; - if (is_write) { - qemu_iovec_to_buffer(qiov, acb->buf); - } - } else { - acb->buf = (uint8_t *)qiov->iov->iov_base; + acb->hd_aiocb = NULL; + acb->sector_num = sector_num; + acb->qiov = qiov; + acb->is_write = is_write; + + if (qiov->niov > 1) { + acb->buf = qemu_blockalign(bs, qiov->size); + acb->orig_buf = acb->buf; + if (is_write) { + qemu_iovec_to_buffer(qiov, acb->buf); } - acb->nb_sectors = nb_sectors; - acb->n_sectors = 0; - acb->bmap_first = VDI_UNALLOCATED; - acb->bmap_last = VDI_UNALLOCATED; - acb->block_buffer = NULL; - acb->header_modified = 0; - } + } else { + acb->buf = (uint8_t *)qiov->iov->iov_base; + } + acb->nb_sectors = nb_sectors; + acb->n_sectors = 0; + acb->bmap_first = VDI_UNALLOCATED; + acb->bmap_last = VDI_UNALLOCATED; + acb->block_buffer = NULL; + acb->header_modified = 0; return acb; } @@ -644,10 +642,6 @@ static BlockDriverAIOCB *vdi_aio_readv(BlockDriverState *bs, logout("\n"); acb = vdi_aio_setup(bs, sector_num, qiov, nb_sectors, cb, opaque, 0); - if (!acb) { - return NULL; - } - ret = vdi_schedule_bh(vdi_aio_rw_bh, acb); if (ret < 0) { if (acb->qiov->niov > 1) { @@ -798,10 +792,6 @@ static BlockDriverAIOCB *vdi_aio_writev(BlockDriverState *bs, logout("\n"); acb = vdi_aio_setup(bs, sector_num, qiov, nb_sectors, cb, opaque, 1); - if (!acb) { - return NULL; - } - ret = vdi_schedule_bh(vdi_aio_rw_bh, acb); if (ret < 0) { if (acb->qiov->niov > 1) { diff --git a/linux-aio.c b/linux-aio.c index 1c635ef..d2fc2e7 100644 --- a/linux-aio.c +++ b/linux-aio.c @@ -166,8 +166,6 @@ BlockDriverAIOCB *laio_submit(BlockDriverState *bs, void *aio_ctx, int fd, off_t offset = sector_num * 512; laiocb = qemu_aio_get(&laio_pool, bs, cb, opaque); - if (!laiocb) - return NULL; laiocb->nbytes = nb_sectors * 512; laiocb->ctx = s; laiocb->ret = -EINPROGRESS; diff --git a/posix-aio-compat.c b/posix-aio-compat.c index d3c1174..c8751da 100644 --- a/posix-aio-compat.c +++ b/posix-aio-compat.c @@ -611,8 +611,6 @@ BlockDriverAIOCB *paio_submit(BlockDriverState *bs, int fd, struct qemu_paiocb *acb; acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque); - if (!acb) - return NULL; acb->aio_type = type; acb->aio_fildes = fd; @@ -638,8 +636,6 @@ BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd, struct qemu_paiocb *acb; acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque); - if (!acb) - return NULL; acb->aio_type = QEMU_AIO_IOCTL; acb->aio_fildes = fd; acb->aio_offset = 0;