From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dzjLC-000747-RU for qemu-devel@nongnu.org; Wed, 04 Oct 2017 09:04:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dzjL9-0002Hv-Ma for qemu-devel@nongnu.org; Wed, 04 Oct 2017 09:03:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51570) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dzjL9-0002Gj-Dm for qemu-devel@nongnu.org; Wed, 04 Oct 2017 09:03:55 -0400 Date: Wed, 4 Oct 2017 15:03:49 +0200 From: Kevin Wolf Message-ID: <20171004130349.GB9801@localhost.localdomain> References: <20171002163058.15651-1-anthony.perard@citrix.com> <20171002191822.GA2707@work-vm> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171002191822.GA2707@work-vm> Subject: Re: [Qemu-devel] [PATCH] migration, xen: Fix block image lock issue on live migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Anthony PERARD , qemu-devel@nongnu.org, xen-devel@lists.xenproject.org, Ian Jackson , Wei Liu , Juan Quintela Am 02.10.2017 um 21:18 hat Dr. David Alan Gilbert geschrieben: > Adding in kwolf; it looks sane to me; Kevin? > If I'm reading this right, this is just after the device state save. Is this actual migration? Because the code looks more like it's copied and adapted from the snapshot code rather than from the actual migration code. If Xen doesn't use the standard mechanisms, I don't know what they need to do. Snapshots don't need to inactivate images, but migration does. Compared to the normal migration path, this looks very simplistic, so I wouldn't be surprised if there was more wrong than just file locking. This looks like it could work as a hack to the problem at hand. Whether it is a proper solution, I can't say without investing a lot more time. Kevin > * Anthony PERARD (anthony.perard@citrix.com) wrote: > > When doing a live migration of a Xen guest with libxl, the images for > > block devices are locked by the original QEMU process, and this prevent > > the QEMU at the destination to take the lock and the migration fail. > > > > From QEMU point of view, once the RAM of a domain is migrated, there is > > two QMP commands, "stop" then "xen-save-devices-state", at which point a > > new QEMU is spawned at the destination. > > > > Release locks in "xen-save-devices-state" so the destination can takes > > them. > > > > Signed-off-by: Anthony PERARD > > --- > > CCing libxl maintainers: > > CC: Ian Jackson > > CC: Wei Liu > > --- > > migration/savevm.c | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/migration/savevm.c b/migration/savevm.c > > index 4a88228614..69d904c179 100644 > > --- a/migration/savevm.c > > +++ b/migration/savevm.c > > @@ -2263,6 +2263,20 @@ void qmp_xen_save_devices_state(const char *filename, Error **errp) > > qemu_fclose(f); > > if (ret < 0) { > > error_setg(errp, QERR_IO_ERROR); > > + } else { > > + /* libxl calls the QMP command "stop" before calling > > + * "xen-save-devices-state" and in case of migration failure, libxl > > + * would call "cont". > > + * So call bdrv_inactivate_all (release locks) here to let the other > > + * side of the migration take controle of the images. > > + */ > > + if (!saved_vm_running) { > > + ret = bdrv_inactivate_all(); > > + if (ret) { > > + error_setg(errp, "%s: bdrv_inactivate_all() failed (%d)", > > + __func__, ret); > > + } > > + } > > } > > > > the_end: > > -- > > Anthony PERARD > > > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Wolf Subject: Re: [PATCH] migration, xen: Fix block image lock issue on live migration Date: Wed, 4 Oct 2017 15:03:49 +0200 Message-ID: <20171004130349.GB9801@localhost.localdomain> References: <20171002163058.15651-1-anthony.perard@citrix.com> <20171002191822.GA2707@work-vm> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzjLC-000861-9O for xen-devel@lists.xenproject.org; Wed, 04 Oct 2017 13:03:58 +0000 Content-Disposition: inline In-Reply-To: <20171002191822.GA2707@work-vm> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "Dr. David Alan Gilbert" Cc: Wei Liu , Juan Quintela , Ian Jackson , qemu-devel@nongnu.org, Anthony PERARD , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org QW0gMDIuMTAuMjAxNyB1bSAyMToxOCBoYXQgRHIuIERhdmlkIEFsYW4gR2lsYmVydCBnZXNjaHJp ZWJlbjoKPiBBZGRpbmcgaW4ga3dvbGY7ICBpdCBsb29rcyBzYW5lIHRvIG1lOyBLZXZpbj8KPiBJ ZiBJJ20gcmVhZGluZyB0aGlzIHJpZ2h0LCB0aGlzIGlzIGp1c3QgYWZ0ZXIgdGhlIGRldmljZSBz dGF0ZSBzYXZlLgoKSXMgdGhpcyBhY3R1YWwgbWlncmF0aW9uPyBCZWNhdXNlIHRoZSBjb2RlIGxv b2tzIG1vcmUgbGlrZSBpdCdzIGNvcGllZAphbmQgYWRhcHRlZCBmcm9tIHRoZSBzbmFwc2hvdCBj b2RlIHJhdGhlciB0aGFuIGZyb20gdGhlIGFjdHVhbCBtaWdyYXRpb24KY29kZS4KCklmIFhlbiBk b2Vzbid0IHVzZSB0aGUgc3RhbmRhcmQgbWVjaGFuaXNtcywgSSBkb24ndCBrbm93IHdoYXQgdGhl eSBuZWVkCnRvIGRvLiBTbmFwc2hvdHMgZG9uJ3QgbmVlZCB0byBpbmFjdGl2YXRlIGltYWdlcywg YnV0IG1pZ3JhdGlvbiBkb2VzLgpDb21wYXJlZCB0byB0aGUgbm9ybWFsIG1pZ3JhdGlvbiBwYXRo LCB0aGlzIGxvb2tzIHZlcnkgc2ltcGxpc3RpYywgc28gSQp3b3VsZG4ndCBiZSBzdXJwcmlzZWQg aWYgdGhlcmUgd2FzIG1vcmUgd3JvbmcgdGhhbiBqdXN0IGZpbGUgbG9ja2luZy4KClRoaXMgbG9v a3MgbGlrZSBpdCBjb3VsZCB3b3JrIGFzIGEgaGFjayB0byB0aGUgcHJvYmxlbSBhdCBoYW5kLiBX aGV0aGVyCml0IGlzIGEgcHJvcGVyIHNvbHV0aW9uLCBJIGNhbid0IHNheSB3aXRob3V0IGludmVz dGluZyBhIGxvdCBtb3JlIHRpbWUuCgpLZXZpbgoKPiAqIEFudGhvbnkgUEVSQVJEIChhbnRob255 LnBlcmFyZEBjaXRyaXguY29tKSB3cm90ZToKPiA+IFdoZW4gZG9pbmcgYSBsaXZlIG1pZ3JhdGlv biBvZiBhIFhlbiBndWVzdCB3aXRoIGxpYnhsLCB0aGUgaW1hZ2VzIGZvcgo+ID4gYmxvY2sgZGV2 aWNlcyBhcmUgbG9ja2VkIGJ5IHRoZSBvcmlnaW5hbCBRRU1VIHByb2Nlc3MsIGFuZCB0aGlzIHBy ZXZlbnQKPiA+IHRoZSBRRU1VIGF0IHRoZSBkZXN0aW5hdGlvbiB0byB0YWtlIHRoZSBsb2NrIGFu ZCB0aGUgbWlncmF0aW9uIGZhaWwuCj4gPiAKPiA+IEZyb20gUUVNVSBwb2ludCBvZiB2aWV3LCBv bmNlIHRoZSBSQU0gb2YgYSBkb21haW4gaXMgbWlncmF0ZWQsIHRoZXJlIGlzCj4gPiB0d28gUU1Q IGNvbW1hbmRzLCAic3RvcCIgdGhlbiAieGVuLXNhdmUtZGV2aWNlcy1zdGF0ZSIsIGF0IHdoaWNo IHBvaW50IGEKPiA+IG5ldyBRRU1VIGlzIHNwYXduZWQgYXQgdGhlIGRlc3RpbmF0aW9uLgo+ID4g Cj4gPiBSZWxlYXNlIGxvY2tzIGluICJ4ZW4tc2F2ZS1kZXZpY2VzLXN0YXRlIiBzbyB0aGUgZGVz dGluYXRpb24gY2FuIHRha2VzCj4gPiB0aGVtLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBBbnRo b255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KPiA+IC0tLQo+ID4gQ0Npbmcg bGlieGwgbWFpbnRhaW5lcnM6Cj4gPiBDQzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNp dHJpeC5jb20+Cj4gPiBDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KPiA+IC0tLQo+ ID4gIG1pZ3JhdGlvbi9zYXZldm0uYyB8IDE0ICsrKysrKysrKysrKysrCj4gPiAgMSBmaWxlIGNo YW5nZWQsIDE0IGluc2VydGlvbnMoKykKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9z YXZldm0uYyBiL21pZ3JhdGlvbi9zYXZldm0uYwo+ID4gaW5kZXggNGE4ODIyODYxNC4uNjlkOTA0 YzE3OSAxMDA2NDQKPiA+IC0tLSBhL21pZ3JhdGlvbi9zYXZldm0uYwo+ID4gKysrIGIvbWlncmF0 aW9uL3NhdmV2bS5jCj4gPiBAQCAtMjI2Myw2ICsyMjYzLDIwIEBAIHZvaWQgcW1wX3hlbl9zYXZl X2RldmljZXNfc3RhdGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIEVycm9yICoqZXJycCkKPiA+ICAg ICAgcWVtdV9mY2xvc2UoZik7Cj4gPiAgICAgIGlmIChyZXQgPCAwKSB7Cj4gPiAgICAgICAgICBl cnJvcl9zZXRnKGVycnAsIFFFUlJfSU9fRVJST1IpOwo+ID4gKyAgICB9IGVsc2Ugewo+ID4gKyAg ICAgICAgLyogbGlieGwgY2FsbHMgdGhlIFFNUCBjb21tYW5kICJzdG9wIiBiZWZvcmUgY2FsbGlu Zwo+ID4gKyAgICAgICAgICogInhlbi1zYXZlLWRldmljZXMtc3RhdGUiIGFuZCBpbiBjYXNlIG9m IG1pZ3JhdGlvbiBmYWlsdXJlLCBsaWJ4bAo+ID4gKyAgICAgICAgICogd291bGQgY2FsbCAiY29u dCIuCj4gPiArICAgICAgICAgKiBTbyBjYWxsIGJkcnZfaW5hY3RpdmF0ZV9hbGwgKHJlbGVhc2Ug bG9ja3MpIGhlcmUgdG8gbGV0IHRoZSBvdGhlcgo+ID4gKyAgICAgICAgICogc2lkZSBvZiB0aGUg bWlncmF0aW9uIHRha2UgY29udHJvbGUgb2YgdGhlIGltYWdlcy4KPiA+ICsgICAgICAgICAqLwo+ ID4gKyAgICAgICAgaWYgKCFzYXZlZF92bV9ydW5uaW5nKSB7Cj4gPiArICAgICAgICAgICAgcmV0 ID0gYmRydl9pbmFjdGl2YXRlX2FsbCgpOwo+ID4gKyAgICAgICAgICAgIGlmIChyZXQpIHsKPiA+ ICsgICAgICAgICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiJXM6IGJkcnZfaW5hY3RpdmF0ZV9h bGwoKSBmYWlsZWQgKCVkKSIsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5j X18sIHJldCk7Cj4gPiArICAgICAgICAgICAgfQo+ID4gKyAgICAgICAgfQo+ID4gICAgICB9Cj4g PiAgCj4gPiAgIHRoZV9lbmQ6Cj4gPiAtLSAKPiA+IEFudGhvbnkgUEVSQVJECj4gPiAKPiAtLQo+ IERyLiBEYXZpZCBBbGFuIEdpbGJlcnQgLyBkZ2lsYmVydEByZWRoYXQuY29tIC8gTWFuY2hlc3Rl ciwgVUsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=