[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V3 3/6] ide: add support for IDEBufferedRequest
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH V3 3/6] ide: add support for IDEBufferedRequest |
Date: |
Thu, 12 Nov 2015 17:57:36 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, 11/06 09:42, Peter Lieven wrote:
> +BlockAIOCB *ide_buffered_readv(IDEState *s, int64_t sector_num,
> + QEMUIOVector *iov, int nb_sectors,
> + BlockCompletionFunc *cb, void *opaque)
> +{
> + BlockAIOCB *aioreq;
> + IDEBufferedRequest *req;
> + int c = 0;
> +
> + QLIST_FOREACH(req, &s->buffered_requests, list) {
> + c++;
> + }
> + if (c > MAX_BUFFERED_REQS) {
> + return blk_abort_aio_request(s->blk, cb, opaque, -EIO);
> + }
> +
> + req = g_new0(IDEBufferedRequest, 1);
> + req->original_qiov = iov;
> + req->original_cb = cb;
> + req->original_opaque = opaque;
> + req->iov.iov_base = qemu_blockalign(blk_bs(s->blk), iov->size);
Where is this bounce buffer freed?
> + req->iov.iov_len = iov->size;
> + qemu_iovec_init_external(&req->qiov, &req->iov, 1);
> +
> + aioreq = blk_aio_readv(s->blk, sector_num, &req->qiov, nb_sectors,
> + ide_buffered_readv_cb, req);
> +
> + QLIST_INSERT_HEAD(&s->buffered_requests, req, list);
> + return aioreq;
> +}
> +
> static void ide_sector_read(IDEState *s);
>
> static void ide_sector_read_cb(void *opaque, int ret)
- [Qemu-devel] [PATCH V3 0/6] ide: avoid main-loop hang on CDROM/NFS failure, Peter Lieven, 2015/11/06
- [Qemu-devel] [PATCH V3 4/6] ide: orphan all buffered requests on DMA cancel, Peter Lieven, 2015/11/06
- [Qemu-devel] [PATCH V3 1/6] ide/atapi: make PIO read requests async, Peter Lieven, 2015/11/06
- [Qemu-devel] [PATCH V3 2/6] block: add blk_abort_aio_request, Peter Lieven, 2015/11/06
- [Qemu-devel] [PATCH V3 3/6] ide: add support for IDEBufferedRequest, Peter Lieven, 2015/11/06
- Re: [Qemu-devel] [PATCH V3 3/6] ide: add support for IDEBufferedRequest,
Fam Zheng <=
- [Qemu-devel] [PATCH V3 6/6] ide: enable buffered requests for PIO read requests, Peter Lieven, 2015/11/06
- [Qemu-devel] [PATCH V3 5/6] ide: enable buffered requests for ATAPI devices, Peter Lieven, 2015/11/06
- Re: [Qemu-devel] [PATCH V3 0/6] ide: avoid main-loop hang on CDROM/NFS failure, Fam Zheng, 2015/11/12