From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v8 09/17] libxl_dm: Pre-open QMP socket for QEMU Date: Fri, 4 Jan 2019 15:30:48 +0000 Message-ID: <20190104153056.19138-10-anthony.perard@citrix.com> References: <20190104153056.19138-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gfRR9-0008Js-3J for xen-devel@lists.xenproject.org; Fri, 04 Jan 2019 15:31:03 +0000 In-Reply-To: <20190104153056.19138-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 UEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgpBY2tlZC1ieTogSWFuIEphY2tzb24g PGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQoKTm90ZXM6CiAgICB2ODoKICAgICAgICBh Y2tlZAogICAgCiAgICB2NzoKICAgICAgICBtb3ZlIGRvbWFpbl9idWlsZF9zdGF0ZSBpbml0L2Rp c3Bvc2UgdG8gYSBkaWZmZXJlbnQgcGF0Y2gKICAgICAgICAgICAgYW5kIGNsb3NlIGRtX21vbml0 b3JfZmQgaW4gdGhhdCBuZXcgZGlzcG9zZSBmdW5jdGlvbgogICAgICAgIGFzc2VydCB0aGF0IGRt X21vbml0b3JfZmQgc2hvdWxkIGJlIC0xIHdoZW4gdXNpbmcgb2xkIHFlbXUKICAgIAogICAgdjY6 CiAgICAgICAgbW92ZSBkbV9tb25pdG9yX2ZkIGludG8gbGlieGxfZG9tYWluX2J1aWxkX2luZm8g KG9yIGRfc3RhdGUpCiAgICAgICAgLT4gbW92ZSB0aGUgY3JlYXRpb24gb2YgdGhlIHNvY2tldCBp bnRvIGxpYnhsX19zcGF3bl9sb2NhbF9kbQogICAgICAgICAgIGluc3RlYWQgb2YgbGlieGxfX2J1 aWxkX2RldmljZV9tb2RlbF9hcmdzCiAgICAgICAgVXNlIGxpYnhsX2RvbWlkIHR5cGUgaW5zdGVh ZCBvZiBpbnQgZm9yIGxpYnhsX19wcmVfb3Blbl9xbXBfc29ja2V0KCkKICAgICAgICBDaGVjayBm dW5jdGlvbiBjYWxscyAoYmluZCBhbmQgbGlzdGVuKSByZXR1cm4gdmFsdWUgaW4gYSBzZXBhcmF0 ZSBzdGF0ZW1lbnQuCiAgICAgICAgdHlwbyBhbmQgb3RoZXIgY29kaW5nIHN0eWxlIGlzc3VlIGZp eGVzCiAgICAKICAgIHY1OgogICAgICAgIHVzZSBsaWJ4bF9fcmVtb3ZlX2ZpbGUKICAgICAgICBm ZXcgY2hhbmdlcyBpbiBjb2Rpbmcgc3R5bGUKICAgICAgICByZW1vdmUgc3RhbGUgaW5jbHVkZXMg KHN5cy9zb2NrZXQsIHN5cy91bikgd2hpY2ggYXJlIG5vdyBpbiBsaWJ4bF9pbnRlcm5hbC5oCiAg ICAKICAgIHY0OgogICAgICAgIHNlcGFyYXRlIHRoZSBsb2dpYyB0byBvcGVuIGEgc29ja2V0IGlu dG8gYSBmdW5jdGlvbi4KICAgICAgICBVc2UgbGlieGxfX3ByZXBhcmVfc29ja2FkZHJfdW4oKSB0 byBjaGVjayBwYXRoIHNpemUKCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgIHwgIDUgKysr CiB0b29scy9saWJ4bC9saWJ4bF9kbS5jICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDEgKwogMyBm aWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRl LmMKaW5kZXggNGNhMjVmNTZhNi4uODlmNDc2NmEyNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv bGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTc2Mywx MiArNzYzLDE3IEBAIHN0YXRpYyBpbnQgc3RvcmVfbGlieGxfZW50cnkobGlieGxfX2djICpnYywg dWludDMyX3QgZG9taWQsCiAKIHZvaWQgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZV9pbml0KGxp YnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlKQogeworICAgIHN0YXRlLT5kbV9tb25pdG9y X2ZkID0gLTE7CiB9CiAKIHZvaWQgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZV9kaXNwb3NlKGxp YnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlKQogewogICAgIGxpYnhsX19maWxlX3JlZmVy ZW5jZV91bm1hcCgmc3RhdGUtPnB2X2tlcm5lbCk7CiAgICAgbGlieGxfX2ZpbGVfcmVmZXJlbmNl X3VubWFwKCZzdGF0ZS0+cHZfcmFtZGlzayk7CisgICAgaWYgKHN0YXRlLT5kbV9tb25pdG9yX2Zk ID49IDApIHsKKyAgICAgICAgY2xvc2Uoc3RhdGUtPmRtX21vbml0b3JfZmQpOworICAgICAgICBz dGF0ZS0+ZG1fbW9uaXRvcl9mZCA9IC0xOworICAgIH0KIH0KIAogLyotLS0tLSBtYWluIGRvbWFp biBjcmVhdGlvbiAtLS0tLSovCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kbS5jIGIv dG9vbHMvbGlieGwvbGlieGxfZG0uYwppbmRleCAyMDAzMTAwODNmLi5iOTkyMWViODg1IDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rt LmMKQEAgLTY3MCw2ICs2NzAsOCBAQCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kZXZpY2VfbW9k ZWxfYXJnc19vbGQobGlieGxfX2djICpnYywKICAgICBkbV9hcmdzID0gZmxleGFycmF5X21ha2Uo Z2MsIDE2LCAxKTsKICAgICBkbV9lbnZzID0gZmxleGFycmF5X21ha2UoZ2MsIDE2LCAxKTsKIAor ICAgIGFzc2VydChzdGF0ZS0+ZG1fbW9uaXRvcl9mZCA9PSAtMSk7CisKICAgICBsaWJ4bF9fc2V0 X3FlbXVfZW52X2Zvcl94c2FfMTgwKGdjLCBkbV9lbnZzKTsKIAogICAgIGZsZXhhcnJheV92YXBw ZW5kKGRtX2FyZ3MsIGRtLApAQCAtMTEwMCw2ICsxMTAyLDUxIEBAIHN0YXRpYyBjaGFyICpxZW11 X2Rpc2tfaWRlX2RyaXZlX3N0cmluZyhsaWJ4bF9fZ2MgKmdjLCBjb25zdCBjaGFyICp0YXJnZXRf cGF0aCwKICAgICByZXR1cm4gZHJpdmU7CiB9CiAKK3N0YXRpYyBpbnQgbGlieGxfX3ByZV9vcGVu X3FtcF9zb2NrZXQobGlieGxfX2djICpnYywgbGlieGxfZG9taWQgZG9taWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqZmRfcikKK3sKKyAgICBpbnQgcmMsIHI7 CisgICAgaW50IGZkOworICAgIHN0cnVjdCBzb2NrYWRkcl91biB1bjsKKyAgICBjb25zdCBjaGFy ICpwYXRoID0gbGlieGxfX3FlbXVfcW1wX3BhdGgoZ2MsIGRvbWlkKTsKKworICAgIGZkID0gc29j a2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICBpZiAoZmQgPCAwKSB7CisgICAgICAg IExPR0VEKEVSUk9SLCBkb21pZCwgInNvY2tldCgpIGZhaWxlZCIpOworICAgICAgICByZXR1cm4g RVJST1JfRkFJTDsKKyAgICB9CisKKyAgICByYyA9IGxpYnhsX19wcmVwYXJlX3NvY2thZGRyX3Vu KGdjLCAmdW4sIHBhdGgsICJRRU1VJ3MgUU1QIHNvY2tldCIpOworICAgIGlmIChyYykKKyAgICAg ICAgZ290byBvdXQ7CisKKyAgICByYyA9IGxpYnhsX19yZW1vdmVfZmlsZShnYywgcGF0aCk7Cisg ICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHIgPSBiaW5kKGZkLCAoc3RydWN0 IHNvY2thZGRyICopICZ1biwgc2l6ZW9mKHVuKSk7CisgICAgaWYgKHIgPCAwKSB7CisgICAgICAg IExPR0VEKEVSUk9SLCBkb21pZCwgImJpbmQoJyVzJykgZmFpbGVkIiwgcGF0aCk7CisgICAgICAg IHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgciA9IGxp c3RlbihmZCwgMSk7CisgICAgaWYgKHIgPCAwKSB7CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21p ZCwgImxpc3RlbigpIGZhaWxlZCIpOworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAg IGdvdG8gb3V0OworICAgIH0KKworICAgICpmZF9yID0gZmQ7CisgICAgcmMgPSAwOworCitvdXQ6 CisgICAgaWYgKHJjICYmIGZkID49IDApCisgICAgICAgIGNsb3NlKGZkKTsKKyAgICByZXR1cm4g cmM7Cit9CisKIHN0YXRpYyBpbnQgbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX25ldyhs aWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGNoYXIgKmRtLCBpbnQgZ3Vlc3RfZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqZ3Vlc3RfY29uZmlnLApA QCAtMTEzMiwxMCArMTE3OSwxNiBAQCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kZXZpY2VfbW9k ZWxfYXJnc19uZXcobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklO VEYoIiVkIiwgZ3Vlc3RfZG9taWQpLCBOVUxMKTsKIAogICAgIGZsZXhhcnJheV9hcHBlbmQoZG1f YXJncywgIi1jaGFyZGV2Iik7Ci0gICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLAotICAgICAg ICAgICAgICAgICAgICAgR0NTUFJJTlRGKCJzb2NrZXQsaWQ9bGlieGwtY21kLCIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAicGF0aD0lcyxzZXJ2ZXIsbm93YWl0IiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZ3Vlc3RfZG9t aWQpKSk7CisgICAgaWYgKHN0YXRlLT5kbV9tb25pdG9yX2ZkID49IDApIHsKKyAgICAgICAgZmxl eGFycmF5X2FwcGVuZChkbV9hcmdzLAorICAgICAgICAgICAgR0NTUFJJTlRGKCJzb2NrZXQsaWQ9 bGlieGwtY21kLGZkPSVkLHNlcnZlcixub3dhaXQiLAorICAgICAgICAgICAgICAgICAgICAgIHN0 YXRlLT5kbV9tb25pdG9yX2ZkKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZmxleGFycmF5X2Fw cGVuZChkbV9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigic29ja2V0 LGlkPWxpYnhsLWNtZCwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRo PSVzLHNlcnZlcixub3dhaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZ3Vlc3RfZG9taWQpKSk7CisgICAgfQogCiAgICAgZmxl eGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLW5vLXNodXRkb3duIik7CiAgICAgZmxleGFycmF5X2Fw cGVuZChkbV9hcmdzLCAiLW1vbiIpOwpAQCAtMjQzNyw2ICsyNDkwLDE2IEBAIHZvaWQgbGlieGxf X3NwYXduX2xvY2FsX2RtKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RtX3NwYXduX3N0YXRlICpk bXNzKQogICAgIGlmIChyYykKICAgICAgICAgZ290byBvdXQ7CiAKKyAgICBpZiAoYl9pbmZvLT5k ZXZpY2VfbW9kZWxfdmVyc2lvbgorICAgICAgICAgICAgPT0gTElCWExfREVWSUNFX01PREVMX1ZF UlNJT05fUUVNVV9YRU4gJiYKKyAgICAgICAgbGlieGxfZGVmYm9vbF92YWwoYl9pbmZvLT5kbV9y ZXN0cmljdCkpIHsKKyAgICAgICAgLyogSWYgd2UgaGF2ZSB0byB1c2UgZG1fcmVzdHJpY3QsIFFF TVUgbmVlZHMgdG8gYmUgbmV3IGVub3VnaAorICAgICAgICAgKiBhbmQgd2lsbCBoYXZlIHRoZSBu ZXcgaW50ZXJmYWNlIHdoZXJlIHdlIGNhbiBwcmUtb3BlbiB0aGUKKyAgICAgICAgICogUU1QIHNv Y2tldC4gKi8KKyAgICAgICAgcmMgPSBsaWJ4bF9fcHJlX29wZW5fcW1wX3NvY2tldChnYywgZG9t aWQsICZzdGF0ZS0+ZG1fbW9uaXRvcl9mZCk7CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7Cisg ICAgfQorCiAgICAgcmMgPSBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3MoZ2MsIGRtLCBk b21pZCwgZ3Vlc3RfY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmFyZ3MsICZlbnZzLCBzdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZkbV9zdGF0ZV9mZCk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCA4OGMwMWZm MTE4Li44M2JjMzg0ZDNlIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTEyNDAsNiArMTI0MCw3IEBA IHR5cGVkZWYgc3RydWN0IHsKICAgICBjaGFyICpjb25zb2xlX3R0eTsKIAogICAgIGNoYXIgKnNh dmVkX3N0YXRlOworICAgIGludCBkbV9tb25pdG9yX2ZkOwogCiAgICAgbGlieGxfX2ZpbGVfcmVm ZXJlbmNlIHB2X2tlcm5lbDsKICAgICBsaWJ4bF9fZmlsZV9yZWZlcmVuY2UgcHZfcmFtZGlzazsK LS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJv amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hl bi1kZXZlbA==