All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ryan Harper <ryanh@us.ibm.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>, qemu-devel <qemu-devel@nongnu.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [Qemu-devel] Block layer roadmap on wiki
Date: Mon, 22 Aug 2011 15:48:10 -0500	[thread overview]
Message-ID: <20110822204810.GZ5792@us.ibm.com> (raw)
In-Reply-To: <CAJSP0QUvrAOZkFwR56=srzM8JC=tVru_4Gzn82O4A-rDK3++ww@mail.gmail.com>

* Stefan Hajnoczi <stefanha@gmail.com> [2011-08-22 15:32]:
> On Mon, Aug 22, 2011 at 8:04 PM, Anthony Liguori <anthony@codemonkey.ws> wrote:
> > On 08/22/2011 08:34 AM, Stefan Hajnoczi wrote:
> >>
> >> At KVM Forum Kevin, Christoph, and I had an opportunity to get
> >> together for a Block Layer BoF.  We went through the recent "roadmap"
> >> mailing list thread and touched on each proposed feature.
> >>
> >> Here is the block layer roadmap wiki page:
> >> http://wiki.qemu.org/BlockRoadmap
> >>
> >> Kevin: I have moved the runtime WCE toggling to QEMU 1.0 since you
> >> mentioned you want it for the next release.
> >>
> >> My main take-away from the BoF was that integrating support for host
> >> block devices and storage appliances will allow us to reduce the
> >> amount of effort spent on image formats.  In order to make image
> >> formats support the desired features and performance we end up
> >> implementing much of the storage stack and file systems in userspace -
> >> code that is duplicated and cannot take advantage of the existing
> >> storage stack.
> >
> > The flip side is, tighter integration either makes features hard to consume
> > or makes QEMU enter a space it currently hasn't.  Many features require root
> > privileges to configure and a system-wide scope.  That's not QEMU today.
> 
> QEMU itself should be about emulation and virtualization.  Storage
> management needs to be done outside of QEMU.  Today you can already
> take an LVM snapshot - it happens outside of QEMU.  It's at the
> libvirt level where different storage systems get abstracted (LVM,
> directory, iSCSI, etc) and there is a single API/command set to invoke
> management functions.  But even without libvirt you can do it
> yourself, and I think this separation makes sense so that QEMU can be
> focussed on running a single VM rather than managing storage.
> 
> > In addition, it makes QEMU tied to a specific platform (most likely Linux).
> 
> QEMU will still work but certain features might not be available.  For
> example, this is true today if you're using a storage appliance that
> does deduplication - that's a feature you're getting on top of the
> emulation/virtualization that QEMU does.  But it doesn't tie QEMU to a
> particular platform.
> 
> > You could certainly rm -rf block/* and still be able to accomplish much of
> > what's done today but it would be extremely painful to do in practice.  We
> > have to find a balance of not reinventing things and making sure that simple
> > things are simple to do.
> 
> We wouldn't rm -rf block/* because we still need qemu-nbd.  It
> probably makes sense to keep what we have today.  I'm talking more
> about a shift from writing our own image format to integrating
> existing storage support.

I think this is a key point.  While I do like the idea of keeping QEMU
focused on single VM, I think we don't help ourselves by not consuming
the hypervisor platform services and integrating/exploiting those
features to make using QEMU easier.

That said, it does mean that some things like system-wide config and
privs are hard and aren't strictly virtualization issues, but that
doesn't mean we can't integrate some sort of solution.

> 
> > That may require tighter integration and more focus on the higher up pieces
> > in the stack to really enable this.
> 
> Yes, exactly.  Much of it shouldn't be inside QEMU.
> 
> Stefan

-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ryanh@us.ibm.com

  reply	other threads:[~2011-08-22 20:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-22 13:34 [Qemu-devel] Block layer roadmap on wiki Stefan Hajnoczi
2011-08-22 14:27 ` Ryan Harper
2011-08-22 17:58   ` Stefan Hajnoczi
2011-08-22 19:04 ` Anthony Liguori
2011-08-22 20:31   ` Stefan Hajnoczi
2011-08-22 20:48     ` Ryan Harper [this message]
2011-08-22 21:01       ` Anthony Liguori
2011-08-23  7:59         ` Stefan Hajnoczi
2011-08-23 11:25         ` Kevin Wolf
2011-08-23 12:21           ` Stefan Hajnoczi

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=20110822204810.GZ5792@us.ibm.com \
    --to=ryanh@us.ibm.com \
    --cc=hch@lst.de \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /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.