From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 26/32] libxl_dm: Pre-open QMP socket for QEMU Date: Fri, 27 Jul 2018 15:06:08 +0100 Message-ID: <20180727140614.13256-27-anthony.perard@citrix.com> References: <20180727140614.13256-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 1fj3jY-0008K1-Bh for xen-devel@lists.xenproject.org; Fri, 27 Jul 2018 14:28:44 +0000 In-Reply-To: <20180727140614.13256-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 V2hlbiBzdGFydGluZyBRRU1VIHdpdGggZG1fcmVzdHJpY3Q9MSwgcHJlLW9wZW4gdGhlIFFNUCBz b2NrZXQgYmVmb3JlCmV4ZWMgUUVNVS4gVGhhdCBzb2NrZXQgd2lsbCBiZSB1c2VmdWxsIHRvIGZp bmRvdXQgaWYgUUVNVSBpcyByZWFkeSwgYW5kCnByZS1vcGVuaW5nIGl0IG1lYW5zIHRoYXQgbGli eGwgY2FuIGNvbm5lY3QgdG8gaXQgd2l0aG91dCB3YWl0aW5nIGZvcgpRRU1VIHRvIGNyZWF0ZSBp dC4KClRoZSBwcmUtb3Blbm5pbmcgaXMgY29uZGl0aW9ubmFsLCBiYXNlZCBvbiB0aGUgdXNlIG9m IGRtX3Jlc3RyaWN0CmJlY2F1c2UgaXQgaXMgdXNpbmcgYSBuZXcgY29tbWFuZCBsaW5lIG9wdGlv biBvZiBRRU1VLCBhbmQgZG1fcmVzdHJpY3QKc3VwcG9ydCBpbiBRRU1VIGlzIG5ld2VyLgoKLWNo YXJkZXYgc29ja2V0LGZkPVggaXMgYXZhaWxhYmxlIHdpdGggUUVNVSAyLjEyLCBzaW5jZSBjb21t aXQ6Cj4gY2hhcjogYWxsb3cgcGFzc2luZyBwcmUtb3BlbmVkIHNvY2tldCBmaWxlIGRlc2NyaXB0 b3IgYXQgc3RhcnR1cAo+IDA5MzU3MDBmODU0NDAzM2ViYmQ0MWUxZjEzY2Q1MjhmOGE1OGQyNGQK CmRtX3Jlc3RyaWN0IHdpbGwgYmUgYXZhaWxhYmxlIGluIFFFTVUgMy4wLgoKU2lnbmVkLW9mZi1i eTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Ci0tLQoKTm90ZXM6 CiAgICB2NDoKICAgICAgICBzZXBhcmF0ZSB0aGUgbG9naWMgdG8gb3BlbiBhIHNvY2tldCBpbnRv IGEgZnVuY3Rpb24uCiAgICAgICAgVXNlIGxpYnhsX19wcmVwYXJlX3NvY2thZGRyX3VuKCkgdG8g Y2hlY2sgcGF0aCBzaXplCgogdG9vbHMvbGlieGwvbGlieGxfZG0uYyB8IDg2ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDc3IGluc2Vy dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf ZG0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKaW5kZXggNWMyOGEwY2VkNC4uOWUzZTUwMTQ1 NyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4bC9s aWJ4bF9kbS5jCkBAIC0yNCw2ICsyNCw4IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5j bHVkZSA8cHdkLmg+CiAjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgor I2luY2x1ZGUgPHN5cy91bi5oPgogCiBzdGF0aWMgY29uc3QgY2hhciAqbGlieGxfdGFwaWZfc2Ny aXB0KGxpYnhsX19nYyAqZ2MpCiB7CkBAIC05MTUsMTIgKzkxNyw1OCBAQCBjb25zdCBjaGFyICps aWJ4bF9fcWVtdV9xbXBfcGF0aChsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQpCiAgICAgcmV0dXJu IEdDU1BSSU5URigiJXMvcW1wLWxpYnhsLSVkIiwgbGlieGxfX3J1bl9kaXJfcGF0aCgpLCBkb21p ZCk7CiB9CiAKK3N0YXRpYyBpbnQgbGlieGxfX3ByZV9vcGVuX3FtcF9zb2NrZXQobGlieGxfX2dj ICpnYywgaW50IGRvbWlkLCBpbnQgKmZkX3IpCit7CisgICAgaW50IHJjOworICAgIGludCBmZCA9 IC0xOworICAgIHN0cnVjdCBzb2NrYWRkcl91biB1bjsKKyAgICBjb25zdCBjaGFyICpwYXRoOwor CisgICAgcGF0aCA9IGxpYnhsX19xZW11X3FtcF9wYXRoKGdjLCBkb21pZCk7CisKKyAgICBmZCA9 IHNvY2tldChBRl9VTklYLCBTT0NLX1NUUkVBTSwgMCk7CisgICAgaWYgKGZkIDwgMCkgeworICAg ICAgICBMT0dFRChFUlJPUiwgZG9taWQsICJzb2NrZXQoKSBmYWlsZWQiKTsKKyAgICAgICAgcmV0 dXJuIEVSUk9SX0ZBSUw7CisgICAgfQorCisgICAgcmMgPSBsaWJ4bF9fcHJlcGFyZV9zb2NrYWRk cl91bihnYywgJnVuLCBwYXRoLCAiUUVNVSdzIFFNUCBzb2NrZXQiKTsKKyAgICBpZiAocmMpCisg ICAgICAgIGdvdG8gb3V0OworCisgICAgaWYgKHVubGluayhwYXRoKSA8IDAgJiYgZXJybm8gIT0g RU5PRU5UKSB7CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwgInVubGluaygnJXMnKSBmYWls ZWQiLCBwYXRoKTsKKyAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsK KyAgICB9CisKKyAgICBpZiAoYmluZChmZCwgKHN0cnVjdCBzb2NrYWRkciopICZ1biwgc2l6ZW9m KHVuKSkgPCAwKSB7CisgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwgImJpbmQoJyVzJykgZmFp bGVkIiwgcGF0aCk7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7 CisgICAgfQorCisgICAgaWYgKGxpc3RlbihmZCwgMSkgPCAwKSB7CisgICAgICAgIExPR0VEKEVS Uk9SLCBkb21pZCwgImxpc3RlbigpIGZhaWxlZCIpOworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7 CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgICpmZF9yID0gZmQ7CisgICAgcmMgPSAw OworCitvdXQ6CisgICAgaWYgKHJjICYmIGZkID49IDApCisgICAgICAgIGNsb3NlKGZkKTsKKyAg ICByZXR1cm4gcmM7Cit9CisKIHN0YXRpYyBpbnQgbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9h cmdzX25ldyhsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKmRtLCBpbnQgZ3Vlc3RfZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqZ3Vlc3Rf Y29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKioq YXJncywgY2hhciAqKiplbnZzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqZG1fc3RhdGVfZmQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpkbV9zdGF0ZV9mZCwgaW50ICpkbV9t b25pdG9yX2ZkKQogewogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9jcmVhdGVfaW5mbyAqY19pbmZv ID0gJmd1ZXN0X2NvbmZpZy0+Y19pbmZvOwogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9idWlsZF9p bmZvICpiX2luZm8gPSAmZ3Vlc3RfY29uZmlnLT5iX2luZm87CkBAIC05NDksMTAgKzk5NywyNSBA QCBzdGF0aWMgaW50IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2dj ICpnYywKICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVkIiwgZ3Vlc3RfZG9taWQp LCBOVUxMKTsKIAogICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1jaGFyZGV2Iik7Ci0g ICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLAotICAgICAgICAgICAgICAgICAgICAgR0NTUFJJ TlRGKCJzb2NrZXQsaWQ9bGlieGwtY21kLCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAicGF0aD0lcyxzZXJ2ZXIsbm93YWl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZ3Vlc3RfZG9taWQpKSk7CisgICAgLyogSWYgd2Ug aGF2ZSB0byB1c2UgZG1fcmVzdHJpY3QsIFFFTVUgbmVlZCB0byBiZSBuZXcgZW5vdWdoIGFuZCB3 aWxsIGhhdmUKKyAgICAgKiB0aGUgbmV3IGludGVyZmFjZSB3aGVyZSB3ZSBjYW4gcHJlLW9wZW4g dGhlIFFNUCBzb2NrZXQuICovCisgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKGJfaW5mby0+ZG1f cmVzdHJpY3QpKQorICAgIHsKKyAgICAgICAgaW50IHJjOworCisgICAgICAgIHJjID0gbGlieGxf X3ByZV9vcGVuX3FtcF9zb2NrZXQoZ2MsIGd1ZXN0X2RvbWlkLCBkbV9tb25pdG9yX2ZkKTsKKyAg ICAgICAgaWYgKHJjKQorICAgICAgICAgICAgcmV0dXJuIHJjOworCisgICAgICAgIGZsZXhhcnJh eV9hcHBlbmQoZG1fYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoInNv Y2tldCxpZD1saWJ4bC1jbWQsZmQ9JWQsc2VydmVyLG5vd2FpdCIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICpkbV9tb25pdG9yX2ZkKSk7CisgICAgfSBlbHNlIHsKKyAgICAg ICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgIEdD U1BSSU5URigic29ja2V0LGlkPWxpYnhsLWNtZCwiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJwYXRoPSVzLHNlcnZlcixub3dhaXQiLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZ3Vlc3RfZG9taWQpKSk7Cisg ICAgfQogCiAgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLW5vLXNodXRkb3duIik7CiAg ICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLW1vbiIpOwpAQCAtMTczMSw3ICsxNzk0LDgg QEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3MobGlieGxfX2djICpn YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9k b21haW5fY29uZmlnICpndWVzdF9jb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2hhciAqKiphcmdzLCBjaGFyICoqKmVudnMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAq c3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpkbV9z dGF0ZV9mZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmRt X3N0YXRlX2ZkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAq ZG1fbW9uaXRvcl9mZCkKIC8qIGRtX3N0YXRlX2ZkIG1heSBiZSBOVUxMIGlmZiBjYWxsZXIga25v d3Mgd2UgYXJlIHVzaW5nIG9sZCBzdHViZG9tCiAgKiBhbmQgdGhlcmVmb3JlIHdpbGwgYmUgcGFz c2luZyBhIGZpbGVuYW1lIHJhdGhlciB0aGFuIGEgZmQuICovCiB7CkBAIC0xNzQ0LDEwICsxODA4 LDExIEBAIHN0YXRpYyBpbnQgbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzKGxpYnhsX19n YyAqZ2MsCiAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hFTjoKICAg ICAgICAgYXNzZXJ0KGRtX3N0YXRlX2ZkICE9IE5VTEwpOwogICAgICAgICBhc3NlcnQoKmRtX3N0 YXRlX2ZkIDwgMCk7CisgICAgICAgIGFzc2VydChkbV9tb25pdG9yX2ZkICE9IE5VTEwpOwogICAg ICAgICByZXR1cm4gbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX25ldyhnYywgZG0sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2Rv bWlkLCBndWVzdF9jb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFyZ3MsIGVudnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0YXRlLCBkbV9zdGF0ZV9mZCk7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLCBkbV9zdGF0ZV9mZCwgZG1f bW9uaXRvcl9mZCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgTE9HRUQoRVJST1IsIGd1ZXN0X2Rv bWlkLCAidW5rbm93biBkZXZpY2UgbW9kZWwgdmVyc2lvbiAlZCIsCiAgICAgICAgICAgICAgIGd1 ZXN0X2NvbmZpZy0+Yl9pbmZvLmRldmljZV9tb2RlbF92ZXJzaW9uKTsKQEAgLTE5NjgsNyArMjAz Myw3IEBAIHZvaWQgbGlieGxfX3NwYXduX3N0dWJfZG0obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f c3R1Yl9kbV9zcGF3bl9zdGF0ZSAqc2RzcykKIAogICAgIHJldCA9IGxpYnhsX19idWlsZF9kZXZp Y2VfbW9kZWxfYXJncyhnYywgInN0dWJkb20tZG0iLCBndWVzdF9kb21pZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RfY29uZmlnLCAmYXJncywgTlVMTCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZF9zdGF0ZSwgTlVMTCk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRfc3RhdGUsIE5VTEws IE5VTEwpOwogICAgIGlmIChyZXQpIHsKICAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKICAgICAg ICAgZ290byBvdXQ7CkBAIC0yMjU0LDYgKzIzMTksNyBAQCB2b2lkIGxpYnhsX19zcGF3bl9sb2Nh bF9kbShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kbV9zcGF3bl9zdGF0ZSAqZG1zcykKICAgICBj aGFyICoqcGFzc19zdHVmZjsKICAgICBjb25zdCBjaGFyICpkbTsKICAgICBpbnQgZG1fc3RhdGVf ZmQgPSAtMTsKKyAgICBpbnQgZG1fbW9uaXRvcl9mZCA9IC0xOwogCiAgICAgaWYgKGxpYnhsX2Rl ZmJvb2xfdmFsKGJfaW5mby0+ZGV2aWNlX21vZGVsX3N0dWJkb21haW4pKSB7CiAgICAgICAgIGFi b3J0KCk7CkBAIC0yMjcxLDcgKzIzMzcsOCBAQCB2b2lkIGxpYnhsX19zcGF3bl9sb2NhbF9kbShs aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kbV9zcGF3bl9zdGF0ZSAqZG1zcykKICAgICB9CiAgICAg cmMgPSBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3MoZ2MsIGRtLCBkb21pZCwgZ3Vlc3Rf Y29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyZ3Ms ICZlbnZzLCBzdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZkbV9zdGF0ZV9mZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZG1fc3RhdGVfZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZG1fbW9uaXRvcl9mZCk7CiAgICAgaWYgKHJjKQogICAgICAgICBnb3RvIG91dDsKIApAQCAt MjM2OSw2ICsyNDM2LDcgQEAgb3V0X2Nsb3NlOgogICAgIGlmIChsb2dmaWxlX3cgPj0gMCkgY2xv c2UobG9nZmlsZV93KTsKIG91dDoKICAgICBpZiAoZG1fc3RhdGVfZmQgPj0gMCkgY2xvc2UoZG1f c3RhdGVfZmQpOworICAgIGlmIChkbV9tb25pdG9yX2ZkID49IDApIGNsb3NlKGRtX21vbml0b3Jf ZmQpOwogICAgIGlmIChyYykKICAgICAgICAgZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUoZWdj LCBkbXNzLCByYyk7CiB9Ci0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=