From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kxj58-00066d-MN for qemu-devel@nongnu.org; Wed, 05 Nov 2008 09:10:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kxj56-00065t-Tp for qemu-devel@nongnu.org; Wed, 05 Nov 2008 09:10:02 -0500 Received: from [199.232.76.173] (port=43611 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kxj56-00065d-Kw for qemu-devel@nongnu.org; Wed, 05 Nov 2008 09:10:00 -0500 Received: from yx-out-1718.google.com ([74.125.44.152]:32805) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Kxj56-0004Tp-DA for qemu-devel@nongnu.org; Wed, 05 Nov 2008 09:10:00 -0500 Received: by yx-out-1718.google.com with SMTP id 3so1283018yxi.82 for ; Wed, 05 Nov 2008 06:09:59 -0800 (PST) Message-ID: <4911A934.9040007@codemonkey.ws> Date: Wed, 05 Nov 2008 08:09:56 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Live migration - exec: support to be reintroduced? References: <49113157.3090101@codemonkey.ws> <4911514C.1070300@redhat.com> In-Reply-To: <4911514C.1070300@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Chris Lalancette wrote: > Anthony Liguori wrote: > >> Charles Duffy wrote: >> >>> Howdy. >>> >>> KVM's live migration support used to support an exec: protoco, >>> allowing either a completely arbitrary transport or a mechanism for >>> storing system state to a separate file for later resurrection, being >>> used in the latter by libvirt's qemu driver. I notice that this >>> support no longer exists in the current codebase. >>> Would a patch reimplementing this support be welcome? >>> >> Absolutely. I wasn't aware that libvirt used the exec: protocol. I'm >> somewhat surprised by that. What did it use it for? >> > > Hm, I didn't realize it used it either, but it uses it for doing a save operation: > > static int qemudDomainSave(virDomainPtr dom, > const char *path) { > ... > if (asprintf (&command, "migrate \"exec:" > "dd of='%s' oflag=append conv=notrunc 2>/dev/null" > "\"", safe_path) == -1) { > qemudReportError(dom->conn, dom, NULL, VIR_ERR_OPERATION_FAILED, > "%s", _("out of memory")); > VIR_FREE(safe_path); > return -1; > } > free(safe_path); > > if (qemudMonitorCommand(driver, vm, command, &info) < 0) { > ... > > I don't know if there is a better way to do that with the qemu monitor, to avoid > using migrate altogether. In any case, I'm sure other people would find exec: > useful as well. > Sure. It would make sense for it to use file: instead of exec: though. However, why is it not just using savevm? Saving the CPU state in the absence of checkpointing storage doesn't make a lot of sense. Regards, Anthony Liguori