From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NEhJ1-00033f-Su for qemu-devel@nongnu.org; Sun, 29 Nov 2009 05:47:03 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NEhIw-00032m-8p for qemu-devel@nongnu.org; Sun, 29 Nov 2009 05:47:03 -0500 Received: from [199.232.76.173] (port=50587 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NEhIw-00032j-2V for qemu-devel@nongnu.org; Sun, 29 Nov 2009 05:46:58 -0500 Received: from mx1.redhat.com ([209.132.183.28]:16274) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NEhIv-0001hs-NU for qemu-devel@nongnu.org; Sun, 29 Nov 2009 05:46:57 -0500 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id nATAkti5025022 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 29 Nov 2009 05:46:56 -0500 Date: Sun, 29 Nov 2009 12:46:54 +0200 From: Gleb Natapov Subject: Re: [Qemu-devel] [PATCH 1/4] Rename DriveInfo.onerror to on_write_error Message-ID: <20091129104654.GB30150@redhat.com> References: <1259324739-6805-1-git-send-email-kwolf@redhat.com> <1259324739-6805-2-git-send-email-kwolf@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1259324739-6805-2-git-send-email-kwolf@redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org On Fri, Nov 27, 2009 at 01:25:36PM +0100, Kevin Wolf wrote: > 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. > I prefer either to use two different functions or hide 0/1 parameter behind a macro: #define drive_get_on_write_error(a) drive_get_on_error(a, 0); > 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)); > -- > 1.6.2.5 > > -- Gleb.