qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Stefan Weil <weil@mail.berlios.de>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] Add new block driver for the VDI format
Date: Sun, 5 Jul 2009 10:05:23 +0200	[thread overview]
Message-ID: <20090705080523.GA31550@lst.de> (raw)
In-Reply-To: <1246649386-6006-2-git-send-email-weil@mail.berlios.de>

On Fri, Jul 03, 2009 at 09:29:46PM +0200, Stefan Weil wrote:
> +/* Enable debug messages. */
> +//~ #define CONFIG_VDI_DEBUG
> +
> +/* Support experimental write operations on VDI images. */
> +#define CONFIG_VDI_WRITE
> +
> +/* Support snapshot images. */
> +//~ #define CONFIG_VDI_SNAPSHOT
> +
> +/* Enable (currently) unsupported features. */
> +//~ #define CONFIG_VDI_UNSUPPORTED
> +
> +/* Support non-standard cluster (block) size. */
> +//~ #define CONFIG_VDI_CLUSTER_SIZE

I don't think we should keep these defines (except for the debug one)
around. CONFIG_VDI_UNSUPPORTED adds methods to the method table that
aren't actually implemented so the code will fail to compile if it's
set.  Similar for CONFIG_VDI_SNAPSHOT except that it implements a single
useless stub.  CONFIG_VDI_CLUSTER_SIZE just adds a harmless option
so it should just be unconditional, too.

I also don't see a reason for the CONFIG_VDI_WRITE ifdef as it's
apparently good enough to be enable by default.

> +static int vdi_check(BlockDriverState *bs)
> +{
> +    /* TODO: missing code. */
> +    logout("\n");
> +    return -ENOTSUP;
> +}

No need to implement this, not having the method gives the same result.

> +static int vdi_get_info(BlockDriverState *bs, BlockDriverInfo *bdi)
> +{
> +    /* TODO: unchecked code. */
> +    BDRVVdiState *s = (BDRVVdiState *)bs->opaque;
> +    logout("\n");
> +    bdi->cluster_size = s->cluster_size;
> +    bdi->vm_state_offset = -1;
> +    return -ENOTSUP;
> +}

If you return a negative value the result is ignored, so either at least
implement a stub one or just leave out the method.

> +static int vdi_make_empty(BlockDriverState *bs)
> +{
> +    /* TODO: missing code. */
> +    logout("\n");
> +    return -ENOTSUP;
> +}

Again, no need to implement an empty method here.

> +    /* Performance is terrible right now with cache=writethrough due mainly
> +     * to reference count updates.  If the user does not explicitly specify
> +     * a caching type, force to writeback caching.
> +     * TODO: This was copied from qcow2.c, maybe it is true for vdi, too.
> +     */
> +    if ((flags & BDRV_O_CACHE_DEF)) {
> +        flags |= BDRV_O_CACHE_WB;
> +        flags &= ~BDRV_O_CACHE_DEF;
> +    }

And it looks like we're going to change it for qcow2, too..

  reply	other threads:[~2009-07-05  8:05 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 [this message]
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 ` [Qemu-devel] [PATCH] RFC: Add new block driver for the VDI format (aio version) Stefan Weil
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=20090705080523.GA31550@lst.de \
    --to=hch@lst.de \
    --cc=qemu-devel@nongnu.org \
    --cc=weil@mail.berlios.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).