From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58170) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zwq0E-0002k3-47 for qemu-devel@nongnu.org; Thu, 12 Nov 2015 06:25:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zwq0B-0002u6-1T for qemu-devel@nongnu.org; Thu, 12 Nov 2015 06:25:18 -0500 Date: Thu, 12 Nov 2015 19:25:00 +0800 From: Fam Zheng Message-ID: <20151112112500.GT4082@ad.usersys.redhat.com> References: <1446799373-6144-1-git-send-email-pl@kamp.de> <1446799373-6144-6-git-send-email-pl@kamp.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1446799373-6144-6-git-send-email-pl@kamp.de> Subject: Re: [Qemu-devel] [PATCH V3 5/6] ide: enable buffered requests for ATAPI devices List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Lieven Cc: kwolf@redhat.com, qemu-block@nongnu.org, stefanha@gmail.com, jcody@redhat.com, qemu-devel@nongnu.org, jsnow@redhat.com On Fri, 11/06 09:42, Peter Lieven wrote: > Signed-off-by: Peter Lieven > --- > hw/ide/atapi.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c > index 29fd131..2f6d018 100644 > --- a/hw/ide/atapi.c > +++ b/hw/ide/atapi.c > @@ -190,8 +190,8 @@ static int cd_read_sector(IDEState *s, void *buf) > block_acct_start(blk_get_stats(s->blk), &s->acct, > 4 * BDRV_SECTOR_SIZE, BLOCK_ACCT_READ); > > - blk_aio_readv(s->blk, (int64_t)s->lba << 2, &s->qiov, 4, > - cd_read_sector_cb, s); > + ide_buffered_readv(s, (int64_t)s->lba << 2, &s->qiov, 4, > + cd_read_sector_cb, s); > > s->status |= BUSY_STAT; > return 0; > @@ -424,9 +424,9 @@ static void ide_atapi_cmd_read_dma_cb(void *opaque, int ret) > s->bus->dma->iov.iov_len = n * 4 * 512; > qemu_iovec_init_external(&s->bus->dma->qiov, &s->bus->dma->iov, 1); > > - s->bus->dma->aiocb = blk_aio_readv(s->blk, (int64_t)s->lba << 2, > - &s->bus->dma->qiov, n * 4, > - ide_atapi_cmd_read_dma_cb, s); > + s->bus->dma->aiocb = ide_buffered_readv(s, (int64_t)s->lba << 2, > + &s->bus->dma->qiov, n * 4, > + ide_atapi_cmd_read_dma_cb, s); IIRC the dma aiocb are still going to be drained in bmdma_cmd_writeb, so why do we need the bounce buffer? > return; > > eot: > -- > 1.9.1 > >