From: Paolo Bonzini <pbonzini@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 05/10] dma-helpers: add dma_buf_read and dma_buf_write
Date: Thu, 11 Aug 2011 17:05:13 +0200 [thread overview]
Message-ID: <4E43EFA9.4010501@redhat.com> (raw)
In-Reply-To: <4E43E928.8060208@redhat.com>
On 08/11/2011 04:37 PM, Kevin Wolf wrote:
> > Right, I would rather update BlockDriverCompletionFunc to pass the AIOCB
> > as a third parameter, and store the residual bytes in the DMAAIOCB (with
> > a getter that the completion function can use).
>
> Isn't the DMAAIOCB already passed as opaque to the callback?
It is passed to the dma_bdrv_cb, but not to the caller-provided
callback. If the operation completes before dma_bdrv_{read,write}
returns, the AIOCB is not stored anywhere and the asynchronous callback
does not have access to it. Usually it does not have anything to do
with it, but in this case it could get the residual.
Another possibility is always completing DMA in a bottom half. This
ensures that the callback can access the AIOCB, but it exposes an
implementation detail to the caller, so I don't like it.
Paolo
next prev parent reply other threads:[~2011-08-11 15:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-04 17:14 [Qemu-devel] [PATCH 00/10] SCSI scatter/gather support Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 01/10] dma-helpers: allow including from target-independent code Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 02/10] dma-helpers: track position in the QEMUSGList Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 03/10] dma-helpers: rewrite completion/cancellation Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 04/10] dma-helpers: prepare for adding dma_buf_* functions Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 05/10] dma-helpers: add dma_buf_read and dma_buf_write Paolo Bonzini
2011-08-11 7:58 ` Stefan Hajnoczi
2011-08-11 12:10 ` Paolo Bonzini
2011-08-11 13:29 ` Stefan Hajnoczi
2011-08-11 14:24 ` Paolo Bonzini
2011-08-11 14:37 ` Kevin Wolf
2011-08-11 15:05 ` Paolo Bonzini [this message]
2011-08-11 15:12 ` Kevin Wolf
2011-08-11 15:27 ` Paolo Bonzini
2011-08-11 20:06 ` Stefan Hajnoczi
2011-08-04 17:14 ` [Qemu-devel] [PATCH 06/10] scsi: pass residual amount to command_complete Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 07/10] scsi: add scatter/gather functionality Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 08/10] scsi-disk: commonize iovec creation between reads and writes Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 09/10] scsi-disk: lazily allocate bounce buffer Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 10/10] scsi-disk: enable scatter/gather functionality Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 11/11] sample pvscsi driver with s/g support Paolo Bonzini
2011-08-11 7:57 ` [Qemu-devel] [PATCH 00/10] SCSI scatter/gather support Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E43EFA9.4010501@redhat.com \
--to=pbonzini@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).