From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NCaGE-0001vu-LE for qemu-devel@nongnu.org; Mon, 23 Nov 2009 09:51:26 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NCaGA-0001sj-0s for qemu-devel@nongnu.org; Mon, 23 Nov 2009 09:51:26 -0500 Received: from [199.232.76.173] (port=36791 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NCaG9-0001sc-P5 for qemu-devel@nongnu.org; Mon, 23 Nov 2009 09:51:21 -0500 Received: from qw-out-1920.google.com ([74.125.92.146]:6975) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NCaG9-0005R3-41 for qemu-devel@nongnu.org; Mon, 23 Nov 2009 09:51:21 -0500 Received: by qw-out-1920.google.com with SMTP id 5so1103727qwc.4 for ; Mon, 23 Nov 2009 06:51:20 -0800 (PST) Message-ID: <4B0AA165.60900@codemonkey.ws> Date: Mon, 23 Nov 2009 08:51:17 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <4B0952C9.9010803@redhat.com> <4B095D86.700@codemonkey.ws> <4B09F0CA.3060705@codemonkey.ws> <20091123082659.GC2999@redhat.com> <20091123123640.GL2999@redhat.com> <20091123143242.GO2999@redhat.com> In-Reply-To: <20091123143242.GO2999@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: Live migration protocol, device features, ABIs and other beasts List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gleb Natapov Cc: Paolo Bonzini , Juan Quintela , qemu-devel@nongnu.org Gleb Natapov wrote: >>>> My problem implementing optional features/sections/... is not the >>>> savevm/VMState bits. At the end, implementing that is easy. What is >>>> more dificult is once that a device have 5 features, what are the valid >>>> combinations. i.e. if you have pci and msix features, msix requires >>>> pci. In this case, the dependency is trivial, but in others that >>>> hasen't to be so obvious. >>>> >>> It doesn't matter what device support and how it is configured. This can >>> be handled by each device separately. i.e if destination detects that >>> source had MSIX enabled for the device but destination hasn't it will >>> signal an error. >>> >> And guess what, with current code migration is going to "suceed" on the >> source host and fail on the target host. >> > Then current code is buggy. It should be possible to abort migration in > the middle if device can't understand the data it received. > It can, post_load() can error which will terminate the migration. This can be used to validate fields beyond whether they fit into the type specified. Regards, Anthony Liguori > -- > Gleb. >