All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Weil <weil@mail.berlios.de>
To: QEMU Developers <qemu-devel@nongnu.org>
Subject: [Qemu-devel] [PATCH] RFC: Add new block driver for the VDI format (aio version)
Date: Thu, 23 Jul 2009 17:58:36 +0200	[thread overview]
Message-ID: <4A6888AC.3050509@mail.berlios.de> (raw)
In-Reply-To: <4A4E5AFC.4020206@mail.berlios.de>

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

  parent reply	other threads:[~2009-07-23 15:58 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-03 19:24 [Qemu-devel] [PATCH] RFC: Add new block driver for the VDI format Stefan Weil
2009-07-03 19:29 ` [Qemu-devel] [PATCH] Check availability of uuid header / lib Stefan Weil
2009-07-03 19:29   ` [Qemu-devel] [PATCH] Add new block driver for the VDI format Stefan Weil
2009-07-05  8:05     ` Christoph Hellwig
2009-07-05 14:02       ` Stefan Weil
2009-07-06 10:25         ` Christoph Hellwig
2009-07-06 17:19           ` Stefan Weil
2009-07-05 14:44     ` Kevin Wolf
2009-07-06 13:37 ` [Qemu-devel] [PATCH] RFC: " Anthony Liguori
2009-07-06 21:10   ` Stefan Weil
2009-07-06 21:28     ` Anthony Liguori
2009-07-07  7:55     ` Kevin Wolf
2009-07-07  9:04       ` Jamie Lokier
2009-07-07 10:30       ` Christoph Hellwig
2009-07-07 10:33         ` Kevin Wolf
2009-08-02 14:27   ` Avi Kivity
2009-08-03  2:25     ` Anthony Liguori
2009-08-03 13:02       ` Avi Kivity
2009-08-03 15:20         ` Christoph Hellwig
2009-07-23 15:58 ` Stefan Weil [this message]
2009-07-23 20:27   ` [Qemu-devel] [PATCH] Check availability of uuid header / lib Stefan Weil
2009-07-24  6:32     ` Christoph Egger
2009-10-01 18:13       ` Stefan Weil
2009-10-02  8:32         ` Christoph Egger
2009-10-01 18:10     ` [Qemu-devel] [PATCH] Check availability of uuid header / library Stefan Weil
2009-07-23 20:29   ` [Qemu-devel] [PATCH] Add new block driver for the VDI format (use aio) Stefan Weil
2009-07-24  9:18     ` Kevin Wolf
2009-07-24 16:20       ` Stefan Weil
2009-07-27  8:00         ` Kevin Wolf
2009-07-27  9:23           ` Jamie Lokier
2009-07-28  6:37             ` Amit Shah
2009-07-28  8:34               ` Jamie Lokier
2009-07-28  8:56                 ` Daniel P. Berrange
2009-07-28  9:03                   ` Jamie Lokier
2009-07-28  9:11                     ` Kevin Wolf
2009-07-31 15:04           ` Christoph Hellwig
2009-07-31 19:53             ` Stefan Weil
2009-07-31 15:25     ` Anthony Liguori
2009-07-31 18:27       ` Stefan Weil
2009-07-31 19:45         ` [Qemu-devel] [PATCH] Add new block driver for the VDI format (only aio supported) Stefan Weil
2009-07-23 20:30   ` [Qemu-devel] [PATCH] add support for new option of vdi format Stefan Weil
2009-07-23 20:34     ` [Qemu-devel] " Stefan Weil
2009-07-31 14:59     ` [Qemu-devel] " Christoph Hellwig
2009-08-13 16:53     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A6888AC.3050509@mail.berlios.de \
    --to=weil@mail.berlios.de \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.