From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=57871 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Psrv3-0001Rt-0q for qemu-devel@nongnu.org; Fri, 25 Feb 2011 02:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Psrv1-0005o8-Qj for qemu-devel@nongnu.org; Fri, 25 Feb 2011 02:16:52 -0500 Received: from mail-yw0-f45.google.com ([209.85.213.45]:41076) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Psrv1-0005o2-O1 for qemu-devel@nongnu.org; Fri, 25 Feb 2011 02:16:51 -0500 Received: by ywl41 with SMTP id 41so404267ywl.4 for ; Thu, 24 Feb 2011 23:16:51 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <4D652852.60505@redhat.com> References: <20110222170004.808373778@redhat.com> <20110222170115.710717278@redhat.com> <4D642181.4080509@codemonkey.ws> <20110222210735.GA9372@amt.cnet> <4D64266A.3060106@codemonkey.ws> <20110222230935.GA11082@amt.cnet> <4D644343.4050800@codemonkey.ws> <4D65051A.6070707@redhat.com> <4D651B20.70405@codemonkey.ws> <4D652852.60505@redhat.com> Date: Fri, 25 Feb 2011 07:16:50 +0000 Message-ID: Subject: Re: [Qemu-devel] Re: [patch 2/3] Add support for live block copy From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Jes.Sorensen@redhat.com, Marcelo Tosatti , qemu-devel@nongnu.org On Wed, Feb 23, 2011 at 3:31 PM, Avi Kivity wrote: > On 02/23/2011 04:35 PM, Anthony Liguori wrote: >> >> QEMU uses the state database to store information that is created >> dynamically. =A0For instance, devices added through device_add. =A0A dev= ice >> added via -device wouldn't necessary get added to the state database. >> >> Practically speaking, it let's you invoke QEMU with a fixed command line= , >> while still using the monitor to make changes that would otherwise requi= re >> the command line being updated. > > Then the invoker quickly loses track of what the actual state is. =A0It c= an't > just remember which commands it issued (presumably in response to the use= r > updating user visible state). =A0It has to parse the stateful config file= qemu > outputs. =A0But at which points should it parse it? > > I don't think it's reasonable to have three different ways to interact wi= th > qemu, all needed: the command line, reading and writing the stateful conf= ig > file, and the monitor. =A0I'd rather push for starting qemu with a blank = guest > and assembling (cold-plugging) all the hardware via the monitor before > starting the guest. This is why I asked about unifying the stateful config with qdev or QemuOpts in the machine init mailing list thread. If we have n different ways of toggling things inside QEMU including command-line, HMP, QMP, and stateful config, then a large chunk of QEMU is just going to be parsing and formatting these external interfaces. Stefan