|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH] RFC: Add new block driver for the VDI format |
Date: | Mon, 06 Jul 2009 08:37:11 -0500 |
User-agent: | Thunderbird 2.0.0.21 (X11/20090320) |
Stefan Weil wrote:
Hello, this mail will be followed by two patches which allow QEMU to create, read and write VDI images. VDI is the native image format of SUN's VirtualBox emulator. The code was written from scratch for QEMU, while earlier patches sent to Qemu-devel were wrappers for code from VirtualBox. See http://lists.gnu.org/archive/html/qemu-devel/2008-07/msg00366.html for those patches. Patch 1 adds uuid support to QEMU and can be used independent of the second patch (look for uuid in vl.c, for example). Patch 2 adds the VDI block driver. It only needs uuid support when a new image is created (without uuid, it will create an image with zeroed "uuid" values), so this second patch is semi-independent of the first.
I'd really like to get rid of synchronous IO functions in the block layer. One way to do this is to insist that all new block drivers only implement the AIO functions.
I think we should make this decree but I'd like to know if other people think this is unreasonable first. One potential model of block drivers would involve synchronous IO and threads. I'm not a big fan of that model and I don't think it's an easy conversion from today's synchronous IO drivers to that model because the locking and re-entrance needs careful consideration.
Since it looks like you're caching the full offset table in memory, and it's a single level, making it asynchronous should be very easy to do.
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |