From patchwork Fri Nov 27 12:25:36 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Wolf X-Patchwork-Id: 39624 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id ACE5FB6EF2 for ; Fri, 27 Nov 2009 23:29:19 +1100 (EST) Received: from localhost ([127.0.0.1]:37336 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDzwq-0000zB-M9 for incoming@patchwork.ozlabs.org; Fri, 27 Nov 2009 07:29:16 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NDzuY-0007tl-2B for qemu-devel@nongnu.org; Fri, 27 Nov 2009 07:26:54 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NDzuT-0007pm-Kh for qemu-devel@nongnu.org; Fri, 27 Nov 2009 07:26:53 -0500 Received: from [199.232.76.173] (port=41465 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDzuT-0007pj-Fa for qemu-devel@nongnu.org; Fri, 27 Nov 2009 07:26:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55406) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NDzuS-0007KW-NE for qemu-devel@nongnu.org; Fri, 27 Nov 2009 07:26:49 -0500 Received: from int-mx05.intmail.prod.int.phx2.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.18]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id nARCQmiT010950 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 27 Nov 2009 07:26:48 -0500 Received: from localhost.localdomain (vpn2-8-149.ams2.redhat.com [10.36.8.149]) by int-mx05.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id nARCQin4002824; Fri, 27 Nov 2009 07:26:46 -0500 From: Kevin Wolf To: qemu-devel@nongnu.org Date: Fri, 27 Nov 2009 13:25:36 +0100 Message-Id: <1259324739-6805-2-git-send-email-kwolf@redhat.com> In-Reply-To: <1259324739-6805-1-git-send-email-kwolf@redhat.com> References: <1259324739-6805-1-git-send-email-kwolf@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.18 X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. Cc: Kevin Wolf Subject: [Qemu-devel] [PATCH 1/4] Rename DriveInfo.onerror to on_write_error X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Either rename variables and functions to refer to write errors (which is what they actually do) or introduce a parameter to distinguish reads and writes. Signed-off-by: Kevin Wolf --- hw/ide/core.c | 2 +- hw/scsi-disk.c | 3 ++- hw/virtio-blk.c | 2 +- sysemu.h | 6 ++++-- vl.c | 11 ++++++++--- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index 7b1ff8f..49bbdcd 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -473,7 +473,7 @@ void ide_dma_error(IDEState *s) static int ide_handle_write_error(IDEState *s, int error, int op) { - BlockInterfaceErrorAction action = drive_get_onerror(s->bs); + BlockInterfaceErrorAction action = drive_get_on_error(s->bs, 0); if (action == BLOCK_ERR_IGNORE) return 0; diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index a92b62f..37f0cf3 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -220,7 +220,8 @@ static void scsi_read_data(SCSIDevice *d, uint32_t tag) static int scsi_handle_write_error(SCSIRequest *r, int error) { - BlockInterfaceErrorAction action = drive_get_onerror(r->dev->dinfo->bdrv); + BlockInterfaceErrorAction action = + drive_get_on_error(r->dev->dinfo->bdrv, 0); if (action == BLOCK_ERR_IGNORE) return 0; diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index 42b766f..a93d20d 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -100,7 +100,7 @@ static void virtio_blk_req_complete(VirtIOBlockReq *req, int status) static int virtio_blk_handle_write_error(VirtIOBlockReq *req, int error) { - BlockInterfaceErrorAction action = drive_get_onerror(req->dev->bs); + BlockInterfaceErrorAction action = drive_get_on_error(req->dev->bs, 0); VirtIOBlock *s = req->dev; if (action == BLOCK_ERR_IGNORE) diff --git a/sysemu.h b/sysemu.h index b1887ef..522d9af 100644 --- a/sysemu.h +++ b/sysemu.h @@ -172,7 +172,7 @@ typedef struct DriveInfo { int bus; int unit; QemuOpts *opts; - BlockInterfaceErrorAction onerror; + BlockInterfaceErrorAction on_write_error; char serial[BLOCK_SERIAL_STRLEN + 1]; QTAILQ_ENTRY(DriveInfo) next; } DriveInfo; @@ -189,7 +189,9 @@ extern DriveInfo *drive_get_by_id(const char *id); extern int drive_get_max_bus(BlockInterfaceType type); extern void drive_uninit(DriveInfo *dinfo); extern const char *drive_get_serial(BlockDriverState *bdrv); -extern BlockInterfaceErrorAction drive_get_onerror(BlockDriverState *bdrv); + +extern BlockInterfaceErrorAction drive_get_on_error( + BlockDriverState *bdrv, int is_read); BlockDriverState *qdev_init_bdrv(DeviceState *dev, BlockInterfaceType type); diff --git a/vl.c b/vl.c index ee43808..ecfecb3 100644 --- a/vl.c +++ b/vl.c @@ -1960,13 +1960,18 @@ const char *drive_get_serial(BlockDriverState *bdrv) return "\0"; } -BlockInterfaceErrorAction drive_get_onerror(BlockDriverState *bdrv) +BlockInterfaceErrorAction drive_get_on_error( + BlockDriverState *bdrv, int is_read) { DriveInfo *dinfo; + if (is_read) { + return BLOCK_ERR_REPORT; + } + QTAILQ_FOREACH(dinfo, &drives, next) { if (dinfo->bdrv == bdrv) - return dinfo->onerror; + return dinfo->on_write_error; } return BLOCK_ERR_STOP_ENOSPC; @@ -2264,7 +2269,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, dinfo->type = type; dinfo->bus = bus_id; dinfo->unit = unit_id; - dinfo->onerror = onerror; + dinfo->on_write_error = onerror; dinfo->opts = opts; if (serial) strncpy(dinfo->serial, serial, sizeof(serial));