Re: [Qemu-devel] [PATCH][RFC] Linux AIO support when using O_DIRECT

Christoph Hellwig
2009-03-23T18:49:12Z

On Mon, Mar 23, 2009 at 01:10:30PM -0500, Anthony Liguori wrote:
> I really dislike having so many APIs. I'd rather have an aio API that
> took byte accesses or have pread/pwrite always be emulated with a full
> sector read/write

I had patches to change the aio API to byte based access, and get rid
of the read/write methods to only have the byte based pread/pwrite
APIs, but thay got obsoleted by Avi's patch to kill the pread/pwrite
ops. We could put in byte-based AIO without byte-based read/write,
though. In my patches I put a flag into BlockDriverState whether we
allow byte-based access to this instance or otherwise emulated it in
the block layer. We still need this as many of the image formats can't
deal with byte-granularity access without read-modify-write cycles,
and I think we're better off having one read-modify-write handler in
the block handler than one per image format that needs it.