From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v7 09/14] libxl_dm: Pre-open QMP socket for QEMU Date: Fri, 23 Nov 2018 13:53:50 +0000 Message-ID: <20181123135355.6001-10-anthony.perard@citrix.com> References: <20181123135355.6001-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gQBuI-0003W6-50 for xen-devel@lists.xenproject.org; Fri, 23 Nov 2018 13:54:06 +0000 In-Reply-To: <20181123135355.6001-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBtb3ZlcyB0aGUgY3JlYXRpb24gb2YgdGhlIFFNUCB1bml4IHNvY2tldCBmcm9t IFFFTVUgdG8gbGlieGwuCkJ1dCBsaWJ4bCBkb2Vzbid0IHJlbHkgb24gdGhpcyB5ZXQuCgpXaGVu IHN0YXJ0aW5nIFFFTVUgd2l0aCBkbV9yZXN0cmljdD0xLCBwcmUtb3BlbiB0aGUgUU1QIHNvY2tl dCBiZWZvcmUKZXhlYyBRRU1VLiBUaGF0IHNvY2tldCB3aWxsIGJlIHVzZWZ1bCB0byBmaW5kIG91 dCBpZiBRRU1VIGlzIHJlYWR5LCBhbmQKcHJlLW9wZW5pbmcgaXQgbWVhbnMgdGhhdCBsaWJ4bCBj YW4gY29ubmVjdCB0byBpdCB3aXRob3V0IHdhaXRpbmcgZm9yClFFTVUgdG8gY3JlYXRlIGl0LgoK VGhlIHByZS1vcGVuaW5nIGlzIGNvbmRpdGlvbmFsLCBiYXNlZCBvbiB0aGUgdXNlIG9mIGRtX3Jl c3RyaWN0CmJlY2F1c2UgaXQgaXMgdXNpbmcgYSBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiBvZiBR RU1VLCBhbmQgZG1fcmVzdHJpY3QKc3VwcG9ydCBpbiBRRU1VIGlzIG5ld2VyLgoKLWNoYXJkZXYg c29ja2V0LGZkPVggaXMgYXZhaWxhYmxlIHdpdGggUUVNVSAyLjEyLCBzaW5jZSBjb21taXQ6Cj4g Y2hhcjogYWxsb3cgcGFzc2luZyBwcmUtb3BlbmVkIHNvY2tldCBmaWxlIGRlc2NyaXB0b3IgYXQg c3RhcnR1cAo+IDA5MzU3MDBmODU0NDAzM2ViYmQ0MWUxZjEzY2Q1MjhmOGE1OGQyNGQKCmRtX3Jl c3RyaWN0IGlzIGF2YWlsYWJsZSBpbiBRRU1VIDMuMC4KClNpZ25lZC1vZmYtYnk6IEFudGhvbnkg UEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgotLS0KCk5vdGVzOgogICAgdjc6CiAg ICAgICAgbW92ZSBkb21haW5fYnVpbGRfc3RhdGUgaW5pdC9kaXNwb3NlIHRvIGEgZGlmZmVyZW50 IHBhdGNoCiAgICAgICAgICAgIGFuZCBjbG9zZSBkbV9tb25pdG9yX2ZkIGluIHRoYXQgbmV3IGRp c3Bvc2UgZnVuY3Rpb24KICAgICAgICBhc3NlcnQgdGhhdCBkbV9tb25pdG9yX2ZkIHNob3VsZCBi ZSAtMSB3aGVuIHVzaW5nIG9sZCBxZW11CiAgICAKICAgIHY2OgogICAgICAgIG1vdmUgZG1fbW9u aXRvcl9mZCBpbnRvIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvIChvciBkX3N0YXRlKQogICAgICAg IC0+IG1vdmUgdGhlIGNyZWF0aW9uIG9mIHRoZSBzb2NrZXQgaW50byBsaWJ4bF9fc3Bhd25fbG9j YWxfZG0KICAgICAgICAgICBpbnN0ZWFkIG9mIGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJn cwogICAgICAgIFVzZSBsaWJ4bF9kb21pZCB0eXBlIGluc3RlYWQgb2YgaW50IGZvciBsaWJ4bF9f cHJlX29wZW5fcW1wX3NvY2tldCgpCiAgICAgICAgQ2hlY2sgZnVuY3Rpb24gY2FsbHMgKGJpbmQg YW5kIGxpc3RlbikgcmV0dXJuIHZhbHVlIGluIGEgc2VwYXJhdGUgc3RhdGVtZW50LgogICAgICAg IHR5cG8gYW5kIG90aGVyIGNvZGluZyBzdHlsZSBpc3N1ZSBmaXhlcwogICAgCiAgICB2NToKICAg ICAgICB1c2UgbGlieGxfX3JlbW92ZV9maWxlCiAgICAgICAgZmV3IGNoYW5nZXMgaW4gY29kaW5n IHN0eWxlCiAgICAgICAgcmVtb3ZlIHN0YWxlIGluY2x1ZGVzIChzeXMvc29ja2V0LCBzeXMvdW4p IHdoaWNoIGFyZSBub3cgaW4gbGlieGxfaW50ZXJuYWwuaAogICAgCiAgICB2NDoKICAgICAgICBz ZXBhcmF0ZSB0aGUgbG9naWMgdG8gb3BlbiBhIHNvY2tldCBpbnRvIGEgZnVuY3Rpb24uCiAgICAg ICAgVXNlIGxpYnhsX19wcmVwYXJlX3NvY2thZGRyX3VuKCkgdG8gY2hlY2sgcGF0aCBzaXplCgog dG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgICB8ICA1ICsrKwogdG9vbHMvbGlieGwvbGlieGxf ZG0uYyAgICAgICB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogdG9v bHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgNzIgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4IGQxYzBmMDA5ZWEu LmQ1YzEzYzBmMzUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC03NjMsMTIgKzc2MywxNyBAQCBzdGF0aWMg aW50IHN0b3JlX2xpYnhsX2VudHJ5KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogCiB2 b2lkIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGVfaW5pdChsaWJ4bF9fZG9tYWluX2J1aWxkX3N0 YXRlICpzdGF0ZSkKIHsKKyAgICBzdGF0ZS0+ZG1fbW9uaXRvcl9mZCA9IC0xOwogfQogCiB2b2lk IGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGVfZGlzcG9zZShsaWJ4bF9fZG9tYWluX2J1aWxkX3N0 YXRlICpzdGF0ZSkKIHsKICAgICBsaWJ4bF9fZmlsZV9yZWZlcmVuY2VfdW5tYXAoJnN0YXRlLT5w dl9rZXJuZWwpOwogICAgIGxpYnhsX19maWxlX3JlZmVyZW5jZV91bm1hcCgmc3RhdGUtPnB2X3Jh bWRpc2spOworICAgIGlmIChzdGF0ZS0+ZG1fbW9uaXRvcl9mZCA+PSAwKSB7CisgICAgICAgIGNs b3NlKHN0YXRlLT5kbV9tb25pdG9yX2ZkKTsKKyAgICAgICAgc3RhdGUtPmRtX21vbml0b3JfZmQg PSAtMTsKKyAgICB9CiB9CiAKIC8qLS0tLS0gbWFpbiBkb21haW4gY3JlYXRpb24gLS0tLS0qLwpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt LmMKaW5kZXggY2Q1M2Y5YWU2Mi4uZTUxMWY5YjUyNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCkBAIC00MzIsNiArNDMyLDgg QEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3Nfb2xkKGxpYnhsX19n YyAqZ2MsCiAgICAgZG1fYXJncyA9IGZsZXhhcnJheV9tYWtlKGdjLCAxNiwgMSk7CiAgICAgZG1f ZW52cyA9IGZsZXhhcnJheV9tYWtlKGdjLCAxNiwgMSk7CiAKKyAgICBhc3NlcnQoc3RhdGUtPmRt X21vbml0b3JfZmQgPT0gLTEpOworCiAgICAgbGlieGxfX3NldF9xZW11X2Vudl9mb3JfeHNhXzE4 MChnYywgZG1fZW52cyk7CiAKICAgICBmbGV4YXJyYXlfdmFwcGVuZChkbV9hcmdzLCBkbSwKQEAg LTkxMCw2ICs5MTIsNTEgQEAgc3RhdGljIGNoYXIgKnFlbXVfZGlza19pZGVfZHJpdmVfc3RyaW5n KGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIgKnRhcmdldF9wYXRoLAogICAgIHJldHVybiBkcml2 ZTsKIH0KIAorc3RhdGljIGludCBsaWJ4bF9fcHJlX29wZW5fcW1wX3NvY2tldChsaWJ4bF9fZ2Mg KmdjLCBsaWJ4bF9kb21pZCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50ICpmZF9yKQoreworICAgIGludCByYywgcjsKKyAgICBpbnQgZmQ7CisgICAgc3Ry dWN0IHNvY2thZGRyX3VuIHVuOworICAgIGNvbnN0IGNoYXIgKnBhdGggPSBsaWJ4bF9fcWVtdV9x bXBfcGF0aChnYywgZG9taWQpOworCisgICAgZmQgPSBzb2NrZXQoQUZfVU5JWCwgU09DS19TVFJF QU0sIDApOworICAgIGlmIChmZCA8IDApIHsKKyAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLCAi c29ja2V0KCkgZmFpbGVkIik7CisgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOworICAgIH0KKwor ICAgIHJjID0gbGlieGxfX3ByZXBhcmVfc29ja2FkZHJfdW4oZ2MsICZ1biwgcGF0aCwgIlFFTVUn cyBRTVAgc29ja2V0Iik7CisgICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHJj ID0gbGlieGxfX3JlbW92ZV9maWxlKGdjLCBwYXRoKTsKKyAgICBpZiAocmMpCisgICAgICAgIGdv dG8gb3V0OworCisgICAgciA9IGJpbmQoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnVuLCBzaXpl b2YodW4pKTsKKyAgICBpZiAociA8IDApIHsKKyAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLCAi YmluZCgnJXMnKSBmYWlsZWQiLCBwYXRoKTsKKyAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAg ICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICByID0gbGlzdGVuKGZkLCAxKTsKKyAgICBpZiAo ciA8IDApIHsKKyAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLCAibGlzdGVuKCkgZmFpbGVkIik7 CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisg ICAgKmZkX3IgPSBmZDsKKyAgICByYyA9IDA7CisKK291dDoKKyAgICBpZiAocmMgJiYgZmQgPj0g MCkKKyAgICAgICAgY2xvc2UoZmQpOworICAgIHJldHVybiByYzsKK30KKwogc3RhdGljIGludCBs aWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZG0sIGludCBndWVz dF9kb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBs aWJ4bF9kb21haW5fY29uZmlnICpndWVzdF9jb25maWcsCkBAIC05NDQsMTAgKzk5MSwxNiBAQCBz dGF0aWMgaW50IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2djICpn YywKICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVkIiwgZ3Vlc3RfZG9taWQpLCBO VUxMKTsKIAogICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1jaGFyZGV2Iik7Ci0gICAg ZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLAotICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRG KCJzb2NrZXQsaWQ9bGlieGwtY21kLCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi cGF0aD0lcyxzZXJ2ZXIsbm93YWl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZ3Vlc3RfZG9taWQpKSk7CisgICAgaWYgKHN0YXRlLT5k bV9tb25pdG9yX2ZkID49IDApIHsKKyAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLAor ICAgICAgICAgICAgR0NTUFJJTlRGKCJzb2NrZXQsaWQ9bGlieGwtY21kLGZkPSVkLHNlcnZlcixu b3dhaXQiLAorICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5kbV9tb25pdG9yX2ZkKSk7Cisg ICAgfSBlbHNlIHsKKyAgICAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLAorICAgICAgICAg ICAgICAgICAgICAgICAgIEdDU1BSSU5URigic29ja2V0LGlkPWxpYnhsLWNtZCwiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRoPSVzLHNlcnZlcixub3dhaXQiLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcWVtdV9xbXBfcGF0aChnYywg Z3Vlc3RfZG9taWQpKSk7CisgICAgfQogCiAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAi LW5vLXNodXRkb3duIik7CiAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLW1vbiIpOwpA QCAtMjMwNiw2ICsyMzU5LDE1IEBAIHZvaWQgbGlieGxfX3NwYXduX2xvY2FsX2RtKGxpYnhsX19l Z2MgKmVnYywgbGlieGxfX2RtX3NwYXduX3N0YXRlICpkbXNzKQogICAgICAgICByYyA9IEVSUk9S X0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KKyAgICBpZiAoYl9pbmZvLT5kZXZpY2Vf bW9kZWxfdmVyc2lvbgorICAgICAgICAgICAgPT0gTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05f UUVNVV9YRU4gJiYKKyAgICAgICAgbGlieGxfZGVmYm9vbF92YWwoYl9pbmZvLT5kbV9yZXN0cmlj dCkpIHsKKyAgICAgICAgLyogSWYgd2UgaGF2ZSB0byB1c2UgZG1fcmVzdHJpY3QsIFFFTVUgbmVl ZHMgdG8gYmUgbmV3IGVub3VnaAorICAgICAgICAgKiBhbmQgd2lsbCBoYXZlIHRoZSBuZXcgaW50 ZXJmYWNlIHdoZXJlIHdlIGNhbiBwcmUtb3BlbiB0aGUKKyAgICAgICAgICogUU1QIHNvY2tldC4g Ki8KKyAgICAgICAgcmMgPSBsaWJ4bF9fcHJlX29wZW5fcW1wX3NvY2tldChnYywgZG9taWQsICZz dGF0ZS0+ZG1fbW9uaXRvcl9mZCk7CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAgfQog ICAgIHJjID0gbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzKGdjLCBkbSwgZG9taWQsIGd1 ZXN0X2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZh cmdzLCAmZW52cywgc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZG1fc3RhdGVfZmQpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggNzczNDA2NzdiOC4uMDg0 NDI4NzJmZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0xMjM0LDYgKzEyMzQsNyBAQCB0eXBlZGVm IHN0cnVjdCB7CiAgICAgY2hhciAqY29uc29sZV90dHk7CiAKICAgICBjaGFyICpzYXZlZF9zdGF0 ZTsKKyAgICBpbnQgZG1fbW9uaXRvcl9mZDsKIAogICAgIGxpYnhsX19maWxlX3JlZmVyZW5jZSBw dl9rZXJuZWw7CiAgICAgbGlieGxfX2ZpbGVfcmVmZXJlbmNlIHB2X3JhbWRpc2s7Ci0tIApBbnRo b255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=