From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M9bzV-0002Td-N2 for qemu-devel@nongnu.org; Thu, 28 May 2009 05:33:37 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M9bzQ-0002Qz-Ul for qemu-devel@nongnu.org; Thu, 28 May 2009 05:33:37 -0400 Received: from [199.232.76.173] (port=52651 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M9bzQ-0002Qm-Kw for qemu-devel@nongnu.org; Thu, 28 May 2009 05:33:32 -0400 Received: from mx2.redhat.com ([66.187.237.31]:49381) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M9bzQ-0003Yo-09 for qemu-devel@nongnu.org; Thu, 28 May 2009 05:33:32 -0400 Subject: Re: [Qemu-devel] [PATCH] Change virtio-console to PCI_CLASS_SERIAL_OTHER From: Mark McLoughlin In-Reply-To: <4A1DC0C0.2060200@us.ibm.com> References: <1243012478.29542.18.camel@blaa> <4A1D4C57.6010109@us.ibm.com> <1243446153.4852.9.camel@blaa> <4A1DC0C0.2060200@us.ibm.com> Content-Type: text/plain Date: Thu, 28 May 2009 10:33:26 +0100 Message-Id: <1243503206.4046.56.camel@blaa> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: Mark McLoughlin List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Dor Laor , ajax@redhat.com, qemu-devel On Wed, 2009-05-27 at 17:37 -0500, Anthony Liguori wrote: > Mark McLoughlin wrote: > > On Wed, 2009-05-27 at 09:21 -0500, Anthony Liguori wrote: > > > > > >> We need a mechanism to toggle this for both this and virtio-blk. The > >> reason a toggle is needed is so that 0.11 can create the same device > >> model as 0.10. > >> > > > > Okay, so the scenario is: > > > > - 0.10 guest running on source machine > > > > - migrate to dest machine running 0.11 > > > > - the device model cannot change or the guest OS will get confused > > > > Correct, but in this case, the problem is when you shutdown and start up > the VM again. In the process, it may trigger something like a driver > reinstallation or worse, reactivation. It's necessary to be able to > prevent this by creating exactly the same device model that was > previously created. Okay. > This is can't really be a hard rule yet without the machine config, but > we should do our best when we can. There's not much point in doing this unless there's some practical way to use it. If we e.g. add a 'class' parameter for virtio-blk and virtio-console, we'd also need to add some way for a management tool to figure out what the class value is when it initially creates the guest and, for ever more, supply that value. Options I see: 1) Add a monitor command to query the class values and delay actually changing the values until the next release cycle 2) Use 'info version' to achieve this - management tools would need to start retaining the version that guests were created with and supplying that version to qemu on the command line. As you say, though, linear versioning sucks 3) Decide we can only make these guarantees with the machine config stuff - management tools would need to query a running qemu for a detailed machine config when initially creating the guest and always supply that when later starting the guest Cheers, Mark.