qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH V3 3/6] ide: add support for IDEBuf


From: Peter Lieven
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH V3 3/6] ide: add support for IDEBufferedRequest
Date: Thu, 12 Nov 2015 11:21:02 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Am 12.11.2015 um 10:57 schrieb Fam Zheng:
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?

Oops, during conversion form req->buf to req->iov this got lost.
It should be freed in ide_buffered_readv_cb.

I will respin after you had a look at the other patches as well.

Thanks,
Peter




reply via email to

[Prev in Thread] Current Thread [Next in Thread]