From: Avi Kivity <avi@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: dlaor@redhat.com, Anthony Liguori <anthony@codemonkey.ws>,
Chris Wright <chrisw@redhat.com>,
kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: KVM call agenda for Apr 27
Date: Tue, 27 Apr 2010 12:28:55 +0300 [thread overview]
Message-ID: <4BD6AE57.1000304@redhat.com> (raw)
In-Reply-To: <4BD6AB89.7000609@redhat.com>
On 04/27/2010 12:16 PM, Kevin Wolf wrote:
> Am 27.04.2010 10:56, schrieb Avi Kivity:
>
>> On 04/27/2010 11:48 AM, Dor Laor wrote:
>>
>>>> Here's another option: an nbd-like protocol that remotes all BlockDriver
>>>> operations except read and write over a unix domain socket. The open
>>>> operation returns an fd (SCM_RIGHTS strikes again) that is used for read
>>>> and write. This can be used to implement snapshots over LVM, for
>>>> example.
>>>>
>>>>
>>>
>>> Why w/o read/writes?
>>>
>> To avoid the copying.
>>
> Hm, stupid question: What problem does this NFS thing solve? What can we
> do with it that we currently can't do inside qemu?
>
For example, you can't create an lvm snapshot due to privilege problems.
>>> the watermark code needs them too (as info, not the actual buffer).
>>>
>> Yeah. It works for lvm snapshots, not for watermarks.
>>
> So even if it solves anything, it doesn't solve the watermark problem.
> At least I'm not sure how you would use LVM snapshots to dynamically
> grow the volume on which a qcow2 image is stored.
>
It's separate issue. Consider a fat-provisioned lvm volume, you can't
snapshot it today from within qemu.
It doesn't solve the watermark problem (qcow2 on fat-provisioned
backing), I didn't think it through.
>>> IMHO the whole thing is way over engineered:
>>> a) Having another channel into qemu is complicating management
>>> software. Isn't the monitor should be the channel? Otherwise we'll
>>> need to create another QMP (or nbd like Avi suggest) for these
>>> actions. It's extra work for mgmt and they will have hard time to
>>> understand events interleaving of the various channels
>>>
> I agree. But if everyone insists on overengineering what about allowing
> QMP clients to request an event for any change to a particular query-*
> result? (Or rather a specific field of it, if the watermark is going to
> be a blockstat.) Would need to be supported by the respective
> implementation behind that query subcommand, but we can enable it one
> after another without changes to the interface (except that more
> parameter values start working).
>
> If this is not overengineered enough yet, add a scripting engine to
> allow specifying more complex conditions for event generation, depending
> on multiple fields and so on. :-)
>
Any simple question has a complicated answer...
--
error compiling committee.c: too many arguments to function
WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Chris Wright <chrisw@redhat.com>,
dlaor@redhat.com, kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: KVM call agenda for Apr 27
Date: Tue, 27 Apr 2010 12:28:55 +0300 [thread overview]
Message-ID: <4BD6AE57.1000304@redhat.com> (raw)
In-Reply-To: <4BD6AB89.7000609@redhat.com>
On 04/27/2010 12:16 PM, Kevin Wolf wrote:
> Am 27.04.2010 10:56, schrieb Avi Kivity:
>
>> On 04/27/2010 11:48 AM, Dor Laor wrote:
>>
>>>> Here's another option: an nbd-like protocol that remotes all BlockDriver
>>>> operations except read and write over a unix domain socket. The open
>>>> operation returns an fd (SCM_RIGHTS strikes again) that is used for read
>>>> and write. This can be used to implement snapshots over LVM, for
>>>> example.
>>>>
>>>>
>>>
>>> Why w/o read/writes?
>>>
>> To avoid the copying.
>>
> Hm, stupid question: What problem does this NFS thing solve? What can we
> do with it that we currently can't do inside qemu?
>
For example, you can't create an lvm snapshot due to privilege problems.
>>> the watermark code needs them too (as info, not the actual buffer).
>>>
>> Yeah. It works for lvm snapshots, not for watermarks.
>>
> So even if it solves anything, it doesn't solve the watermark problem.
> At least I'm not sure how you would use LVM snapshots to dynamically
> grow the volume on which a qcow2 image is stored.
>
It's separate issue. Consider a fat-provisioned lvm volume, you can't
snapshot it today from within qemu.
It doesn't solve the watermark problem (qcow2 on fat-provisioned
backing), I didn't think it through.
>>> IMHO the whole thing is way over engineered:
>>> a) Having another channel into qemu is complicating management
>>> software. Isn't the monitor should be the channel? Otherwise we'll
>>> need to create another QMP (or nbd like Avi suggest) for these
>>> actions. It's extra work for mgmt and they will have hard time to
>>> understand events interleaving of the various channels
>>>
> I agree. But if everyone insists on overengineering what about allowing
> QMP clients to request an event for any change to a particular query-*
> result? (Or rather a specific field of it, if the watermark is going to
> be a blockstat.) Would need to be supported by the respective
> implementation behind that query subcommand, but we can enable it one
> after another without changes to the interface (except that more
> parameter values start working).
>
> If this is not overengineered enough yet, add a scripting engine to
> allow specifying more complex conditions for event generation, depending
> on multiple fields and so on. :-)
>
Any simple question has a complicated answer...
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-04-27 9:28 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-26 17:26 KVM call agenda for Apr 27 Chris Wright
2010-04-26 17:26 ` [Qemu-devel] " Chris Wright
2010-04-26 17:51 ` Anthony Liguori
2010-04-26 17:51 ` [Qemu-devel] " Anthony Liguori
2010-04-26 22:12 ` Chris Wright
2010-04-26 22:12 ` [Qemu-devel] " Chris Wright
2010-04-26 22:36 ` Anthony Liguori
2010-04-26 22:36 ` [Qemu-devel] " Anthony Liguori
2010-04-27 8:14 ` Avi Kivity
2010-04-27 8:14 ` [Qemu-devel] " Avi Kivity
2010-04-27 8:48 ` Dor Laor
2010-04-27 8:48 ` [Qemu-devel] " Dor Laor
2010-04-27 8:56 ` Avi Kivity
2010-04-27 8:56 ` [Qemu-devel] " Avi Kivity
2010-04-27 9:08 ` Dor Laor
2010-04-27 9:08 ` [Qemu-devel] " Dor Laor
2010-04-27 9:22 ` Avi Kivity
2010-04-27 9:22 ` [Qemu-devel] " Avi Kivity
2010-04-27 9:32 ` Dor Laor
2010-04-27 9:32 ` [Qemu-devel] " Dor Laor
2010-04-27 9:41 ` Kevin Wolf
2010-04-27 9:41 ` [Qemu-devel] " Kevin Wolf
2010-04-27 13:15 ` Anthony Liguori
2010-04-27 13:15 ` [Qemu-devel] " Anthony Liguori
2010-04-27 9:16 ` Kevin Wolf
2010-04-27 9:16 ` [Qemu-devel] " Kevin Wolf
2010-04-27 9:28 ` Avi Kivity [this message]
2010-04-27 9:28 ` Avi Kivity
2010-04-27 13:03 ` Anthony Liguori
2010-04-27 13:03 ` [Qemu-devel] " Anthony Liguori
2010-04-27 13:08 ` Avi Kivity
2010-04-27 13:08 ` [Qemu-devel] " Avi Kivity
2010-04-27 13:11 ` Daniel P. Berrange
2010-04-27 13:11 ` [Qemu-devel] " Daniel P. Berrange
2010-04-27 13:15 ` Gleb Natapov
2010-04-27 13:15 ` [Qemu-devel] " Gleb Natapov
2010-04-27 13:38 ` Daniel P. Berrange
2010-04-27 13:38 ` [Qemu-devel] " Daniel P. Berrange
2010-04-27 14:10 ` Gleb Natapov
2010-04-27 14:10 ` [Qemu-devel] " Gleb Natapov
2010-04-27 8:53 ` Kevin Wolf
2010-04-27 13:10 ` Anthony Liguori
2010-04-27 13:18 ` Kevin Wolf
2010-04-27 13:21 ` Anthony Liguori
2010-04-27 13:42 ` Kevin Wolf
2010-04-27 13:48 ` Anthony Liguori
2010-04-27 13:58 ` Kevin Wolf
2010-04-27 14:01 ` Anthony Liguori
2010-04-27 11:11 ` Gleb Natapov
2010-04-27 11:11 ` [Qemu-devel] " Gleb Natapov
2010-04-27 13:00 ` Anthony Liguori
2010-04-27 13:00 ` [Qemu-devel] " Anthony Liguori
2010-04-27 13:05 ` Gleb Natapov
2010-04-27 13:05 ` [Qemu-devel] " Gleb Natapov
2010-04-27 13:19 ` Anthony Liguori
2010-04-27 13:19 ` [Qemu-devel] " Anthony Liguori
2010-04-27 13:29 ` Gleb Natapov
2010-04-27 13:29 ` [Qemu-devel] " Gleb Natapov
2010-04-27 1:15 ` Luiz Capitulino
2010-04-27 1:15 ` Luiz Capitulino
2010-04-27 3:39 ` Aurelien Jarno
2010-04-27 3:39 ` Aurelien Jarno
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=4BD6AE57.1000304@redhat.com \
--to=avi@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=chrisw@redhat.com \
--cc=dlaor@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--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.