Anthony Liguori wrote:
> Gerd Hoffmann wrote:
  Hi,

> I really want to use readv/writev though.  With virtio, we get a
> scatter/gather list for each IO request.

Yep, I've also missed pwritev (or whatever that syscall would be named).

> Once I post the virtio-blk driver, I'll follow up a little later with
> some refactoring of the block device layers.  I think it can be made
> much simpler while still remaining asynchronous.
> 
>> IMHO the only alternative to that scheme would be to turn the block
>> drivers in some kind of remapping drivers for the various file formats
>> which don't actually perform the I/O.  Then you can handle the actual
>> I/O in a generic way using whatever API is available, be it posix-aio,
>> linux-aio or slow-sync-io.
> 
> That's part of my plan.

Oh, cool.  Can you also turn them into a sane shared library while being
at it?  The current approach to compile it once for qemu and once for
qemu-img with -DQEMU_TOOL isn't that great.  But if you factor out the
actual I/O the block-raw.c code should have no need to mess with qemu
internals any more and become much cleaner and simpler ...

cheers,
  Gerd



Reply via email to