On Fri, Dec 12, 2008 at 12:17:58PM -0600, Anthony Liguori wrote:
> You assume that anything using bdrv_aio_readv/writev will be going through 
> a DMA API.  This isn't a safe assumption.

Well it's obviously a safe assumption right now... ;)

I've an hard time seeing any 'metadata' (because _data_ will be
guaranteed to always pass through the dma api if it wants to be
vectored) being physically contiguous on disk but not contiguous on
ram.

> Furthermore, you need some way to communicate the fact that you cannot 
> handle iovcnt > 1 iovecs in a performant/safe way.

assert(iovcnt == 1) will work fine. If somebody changes some backend
like qcow2 to call bdrv_aio_readv/writev they'll get an assert and
they'll ask for a compatibility layer. I don't see any urgency to add
it immediately and I think assert(iovcnt==1) is more preferable until
any user emerges asking for bdrv_aio_readv/writev as it'll function as
a debug trap to be sure all works right.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to