qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] RFC: Add new block driver for the VDI format (aio v


From: Stefan Weil
Subject: [Qemu-devel] [PATCH] RFC: Add new block driver for the VDI format (aio version)
Date: Thu, 23 Jul 2009 17:58:36 +0200
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090707)

Stefan Weil schrieb:
> 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.
>
> Please test, comment and add both patches to QEMU master
> (if there are no objections).
>
> Regards
>
> Stefan Weil


The new version of the VDI block driver adds these changes:

* Fix allocation of new blocks. The old code did not update the image
header,
  so after a new program start, new allocations had overwritten old ones.
  This is something still untested by qemu-iotests.

* Fix endianess issues. I'm sorry I could not test it up to now,
  but it should work nevertheless :-)

* Support asynchronous i/o. The synchronous code is still included as a
  compile time option, but the default is asynchronous, and it works.
  I'm very sure the aio code can be improved, and some parts are
  even unnecessary (at least I think so), so if you are a
  block driver expert: please review the code and send comments.

* Support checking of VDI images. These consistency checks were very
  helpful during driver development!

* Support static images. Static images use pre-allocated blocks
  while dynamic images (default) allocate blocks on demand.


Here is an overview of the new patches:

* Patch 1 adds UUID support to QEMU. This update of the old patch was
  needed because of changes in QEMU's configure / Makefiles.
  Please commit it to QEMU master, so I don't have to fix and resend it
  when there are additional changes in these files.

* Patch 2 is the new VDI block driver. Reviews and suggestions are
  welcome.

* Patch 3 fixes qemu-io-tests to support the new VDI block driver
  (needed because of new option for static images).


The latest code is also available from http://repo.or.cz/w/qemu/ar7.git

Regards

Stefan Weil







reply via email to

[Prev in Thread] Current Thread [Next in Thread]