From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH] RFC: libxl: Change hotplug script interface to use physical-device-path Date: Thu, 3 Mar 2016 18:12:50 +0000 Message-ID: <1457028770-31925-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xensource.com Cc: Wei Liu , Ian Jackson , George Dunlap , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org KiBDaGFuZ2UgYmxvY2stY29tbW9uLnNoIG9uIExpbnV4IHRvIHdyaXRlIHBoeXNpY2FsLWRldmlj ZS1wYXRoIHdpdGgKICB0aGUgcGF0aCBvZiB0aGUgZGV2aWNlIG5vZGUsIHJhdGhlciB0aGFuIHBo eXNpY2FsLWRldmljZSB3aXRoIGl0cwogIG1ham9yOm1pbm9yIG51bWJlcnMuCgoqIEhhdmUgdGhl IGxpYnhsIExpbnV4IGhvdHBsdWcgc2NyaXB0IHNjaGVkdWxlciBjb252ZXJ0IHRoaXMsIGJ5CiAg cmVhZGluZyBwaHlzaWNhbC1kZXZpY2UtcGF0aCBhbmQgd3JpdGluZyBwaHlzaWNhbC1kZXZpY2Uu ICBUaGlzCiAgaGFwcGVucyBqdXN0IHdoZW4gd2UgaGF2ZSBkZWNpZGVkIHRoYXQgdGhlcmUgaXMg bm8gbW9yZSBzY3JpcHQgdG8KICBydW4uCgoqIFdoZW4gbGlieGwgaXRzZWxmIHdyaXRlcyB0aGUg ZGV2aWNlIHRvIHhlbnN0b3JlLCBoYXZlIGl0IHdyaXRlCiAgcGh5c2ljYWwtZGV2aWNlLXBhdGgu ICBPbiBMaW51eCB0aGlzIHdpbGwgYmUgY29udmVydGVkIHRvCiAgcGh5c2ljYWwtZGV2aWNlIGJ5 IHRoZSBuZXcgY29kZSBkaXNjdXNzZWQgYWJvdmUuCgoqIEFkZCBhIG5vdGUgYWJvdXQgbGlieGxf X2RldmljZV9waHlzZGlza19tYWpvcl9taW5vcidzIHBvb3IgZXJyb3IKICBoYW5kbGluZy4KCiog QWRkIGFuIHh4eCBhYm91dCB0aGUgZmFjdCB0aGF0IHRoZSBzaGFyaW5nIGNoZWNrIGluCiAgdG9v bHMvaG90cGx1Zy9MaW51eC9ibG9jayBuZWVkcyBhZGp1c3RpbmcuICBOb3RlIHRoYXQgV0lUSE9V VCBUSElTCiAgT1RIRVIgRklYIFRIRSBDSEFOR0UgVE8gQkxPQ0stQ09NTU9OLlNIIElTIEJST0tF Ti4gIFRoaXMgaXMgb25lCiAgcmVhc29uIHRoaXMgcGF0Y2ggaXMgUkZDLgoKKiBVbnRlc3RlZC4g IFRoYXQgaXMgdGhlIG90aGVyIHJlYXNvbiB0aGlzIHBhdGNoIGlzIFJGQy4KICAoSSBoYXZlIGNo ZWNrZWQgdGhhdCBpdCBkb2VzIGNvbXBpbGUuKQoKSSB3YXNuJ3QgYWJsZSB0byBmaW5kIGEgZG9j dW1lbnQgZGVzY3JpYmluZyB0aGUgaG90cGx1ZyBzY3JpcHQKaW50ZXJmYWNlICghKSBzbyB0aGlz IHBhdGNoIGRvZXMgbm90IGNvbnRhaW4gZG9jcyBodW5rcy4KCkNDOiBHZW9yZ2UgRHVubGFwIDxn ZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubmUgPHJvZ2VyLnBhdUBj aXRyaXguY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1i eTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQogdG9vbHMvaG90 cGx1Zy9MaW51eC9ibG9jay1jb21tb24uc2ggfCAgIDE5ICsrKy0tLS0tLS0KIHRvb2xzL2xpYnhs L2xpYnhsLmMgICAgICAgICAgICAgICAgIHwgICAgNSArLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2lu dGVybmFsLmggICAgICAgIHwgICAgMSArCiB0b29scy9saWJ4bC9saWJ4bF9saW51eC5jICAgICAg ICAgICB8ICAgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDQgZmlsZXMg Y2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv dG9vbHMvaG90cGx1Zy9MaW51eC9ibG9jay1jb21tb24uc2ggYi90b29scy9ob3RwbHVnL0xpbnV4 L2Jsb2NrLWNvbW1vbi5zaAppbmRleCBlZTk1MDA5Li41NjBmMTg5IDEwMDY0NAotLS0gYS90b29s cy9ob3RwbHVnL0xpbnV4L2Jsb2NrLWNvbW1vbi5zaAorKysgYi90b29scy9ob3RwbHVnL0xpbnV4 L2Jsb2NrLWNvbW1vbi5zaApAQCAtNTAsMjMgKzUwLDE0IEBAIGRldmljZV9tYWpvcl9taW5vcigp CiAKIAogIyMKLSMgV3JpdGUgcGh5c2ljYWwtZGV2aWNlID0gTU0sbW0gdG8gdGhlIHN0b3JlLCB3 aGVyZSBNTSBhbmQgbW0gYXJlIHRoZSBtYWpvciAKLSMgYW5kIG1pbm9yIG51bWJlcnMgb2YgZGV2 aWNlIHJlc3BlY3RpdmVseS4KKyMgV3JpdGUgcGh5c2ljYWwtZGV2aWNlLXBhdGggPSAiJDEiCiAj Ci0jIEBwYXJhbSBkZXZpY2UgVGhlIGRldmljZSBmcm9tIHdoaWNoIG1ham9yIGFuZCBtaW5vciBu dW1iZXJzIGFyZSByZWFkLCB3aGljaAotIyAgICAgICAgICAgICAgIHdpbGwgYmUgd3JpdHRlbiBp bnRvIHRoZSBzdG9yZS4KKyMgQHBhcmFtIGRldmljZSBUaGUgZGV2aWNlIHdoaWNoIHdpbGwgYmUg d3JpdHRlbiBpbnRvIHRoZSBzdG9yZS4KICMKIHdyaXRlX2RldigpIHsKLSAgbG9jYWwgbW0KLSAg Ci0gIG1tPSQoZGV2aWNlX21ham9yX21pbm9yICIkMSIpCi0gCi0gIGlmIFsgLXogJG1tIF0KLSAg dGhlbgotICAgIGZhdGFsICJCYWNrZW5kIGRldmljZSBkb2VzIG5vdCBleGlzdCIKLSAgZmkKLSAK LSAgeGVuc3RvcmVfd3JpdGUgIiRYRU5CVVNfUEFUSC9waHlzaWNhbC1kZXZpY2UiICIkbW0iCisg IHh4eCBjaGVja19zaGFyaW5nIGluIGJsb2NrIG5lZWRzIGZpeGluZyB0b28KKworICB4ZW5zdG9y ZV93cml0ZSAiJFhFTkJVU19QQVRIL3BoeXNpY2FsLWRldmljZS1wYXRoIiAiJDEiCiAKICAgc3Vj Y2VzcwogfQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsLmMKaW5kZXggNGNkYzE2OS4uMGJjZmFkYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC0yNDUwLDEwICsyNDUwLDcgQEAgc3Rh dGljIHZvaWQgZGV2aWNlX2Rpc2tfYWRkKGxpYnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQs CiAgICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICAgaWYgKCFkaXNrLT5zY3JpcHQg JiYKICAgICAgICAgICAgICAgICAgICAgZGlzay0+YmFja2VuZF9kb21pZCA9PSBMSUJYTF9UT09M U1RBQ0tfRE9NSUQpIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IG1ham9yLCBtaW5vcjsKLSAg ICAgICAgICAgICAgICAgICAgaWYgKCFsaWJ4bF9fZGV2aWNlX3BoeXNkaXNrX21ham9yX21pbm9y KGRldiwgJm1ham9yLCAmbWlub3IpKQotICAgICAgICAgICAgICAgICAgICAgICAgZmxleGFycmF5 X2FwcGVuZF9wYWlyKGJhY2ssICJwaHlzaWNhbC1kZXZpY2UiLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXg6JXgiLCBtYWpvciwgbWlu b3IpKTsKKyAgICAgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ssICJw aHlzaWNhbC1kZXZpY2UtcGF0aCIsIGRldik7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAg ICAgICAgICAgYXNzZXJ0KGRldmljZS0+YmFja2VuZF9raW5kID09IExJQlhMX19ERVZJQ0VfS0lO RF9WQkQpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xz L2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggMDA1ZmU1My4uYWRhNWY0MCAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9p bnRlcm5hbC5oCkBAIC0xMTU0LDYgKzExNTQsNyBAQCBfaGlkZGVuIGNoYXIgKmxpYnhsX19kZXZp Y2VfZGlza19zdHJpbmdfb2ZfZm9ybWF0KGxpYnhsX2Rpc2tfZm9ybWF0IGZvcm1hdCk7CiBfaGlk ZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2JhY2tlbmQobGlieGxfX2djKiwgbGlieGxf ZGV2aWNlX2Rpc2sqKTsKIAogX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV9waHlzZGlza19tYWpv cl9taW5vcihjb25zdCBjaGFyICpwaHlzcGF0aCwgaW50ICptYWpvciwgaW50ICptaW5vcik7Cisg ICAgLyogeHh4IGxpYnhsX19kZXZpY2VfcGh5c2Rpc2tfbWFqb3JfbWlub3IgaGFzIGlycmVndWxh ciBlcnJvciBoYW5kbGluZyAqLwogX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV9kaXNrX2Rldl9u dW1iZXIoY29uc3QgY2hhciAqdmlydHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgKnBkaXNrLCBpbnQgKnBwYXJ0aXRpb24pOwogCmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF9saW51eC5jIGIvdG9vbHMvbGlieGwvbGlieGxfbGludXguYwpp bmRleCBiZTRhZmM2Li5hYTdiNDJkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9saW51 eC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2xpbnV4LmMKQEAgLTIzMyw2ICsyMzMsNjUgQEAg ZXJyb3I6CiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMgaW50IGRpc2tfY29weV9ibG9ja19k ZXZpY2UobGlieGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2VfYWN0aW9uIGFjdGlvbikKK3sKKyAgICBp bnQgcmM7CisgICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gMDsKKyAgICBjb25zdCBjaGFyICpiZV9w YXRoID0gbGlieGxfX2RldmljZV9mcm9udGVuZF9wYXRoKGdjLCBkZXYpOworICAgIGNvbnN0IGNo YXIgKm1ham1pbl9wYXRoID0gR0NTUFJJTlRGKCIlcy9waHlzaWNhbC1kZXZpY2UiLCBiZV9wYXRo KTsKKyAgICBjb25zdCBjaGFyICpwYXRoX3BhdGggPSBHQ1NQUklOVEYoIiVzL3BoeXNpY2FsLWRl dmljZS1wYXRoIiwgYmVfcGF0aCk7CisgICAgaW50IG1ham9yLCBtaW5vcjsKKworICAgIGlmIChh Y3Rpb24gIT0gTElCWExfX0RFVklDRV9BQ1RJT05fQUREKQorICAgICAgICByZXR1cm4gMDsKKwor ICAgIGZvciAoOzspIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fc3RhcnQo Z2MsICZ0KTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgICAgICBjb25zdCBjaGFy ICptYWptaW47CisgICAgICAgIHJjID0gbGlieGxfX3hzX3JlYWRfY2hlY2tlZChnYyx0LCBtYWpt aW5fcGF0aCwgJm1ham1pbik7CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAgICAgIGlm IChtYWptaW4pIHsKKyAgICAgICAgICAgIC8qIE9sZC1zdHlsZSBMaW51eC1vbmx5IGhvdHBsdWcg c2NyaXB0IHdyb3RlIHBoeXNpY2FsLWRldmljZSAqLworICAgICAgICAgICAgcmMgPSAwOworICAg ICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0KKworICAgICAgICBjb25zdCBjaGFyICpiZGV2 OworICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsdCwgcGF0aF9wYXRoLCAm YmRldik7CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAgICAgIGlmICghYmRldikgewor ICAgICAgICAgICAgTE9HRShFUlJPUiwgIm5vdGhpbmcgd3JvdGUgcGh5c2ljYWwgZGV2aWNlIHRv ICVzIiwgcGF0aF9wYXRoKTsKKyAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAg ICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFsaWJ4bF9fZGV2aWNlX3Bo eXNkaXNrX21ham9yX21pbm9yKGJkZXYsICZtYWpvciwgJm1pbm9yKSkgeworICAgICAgICAgICAg TE9HKEVSUk9SLCAibGlieGxfX2RldmljZV9waHlzZGlza19tYWpvcl9taW5vciBmYWlsZWQgKG9u ICVzKSIsCisgICAgICAgICAgICAgICAgYmRldik7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZB SUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorCisgICAgICAgIG1ham1pbiA9 IEdDU1BSSU5URigiJXg6JXgiLCBtYWpvciwgbWlub3IpOworICAgICAgICByYyA9IGxpYnhsX194 c193cml0ZV9jaGVja2VkKGdjLHQsIG1ham1pbl9wYXRoLCBtYWptaW4pOworICAgICAgICBpZiAo cmMpIGdvdG8gb3V0OworCisgICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX2NvbW1p dChnYywgJnQpOworICAgICAgICBpZiAoIXJjKSBicmVhazsKKyAgICAgICAgaWYgKHJjPDApIGdv dG8gb3V0OworICAgIH0KKworICAgIHJldHVybiByYzsKKworIG91dDoKKyAgICBsaWJ4bF9feHNf dHJhbnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKKyAgICByZXR1cm4gcmM7Cit9CisKKwogaW50IGxp YnhsX19nZXRfaG90cGx1Z19zY3JpcHRfaW5mbyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZGV2aWNl ICpkZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKioqYXJncywg Y2hhciAqKiplbnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k ZXZpY2VfYWN0aW9uIGFjdGlvbiwKQEAgLTI0NSw5ICszMDQsMTYgQEAgaW50IGxpYnhsX19nZXRf aG90cGx1Z19zY3JpcHRfaW5mbyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZGV2aWNlICpkZXYsCiAg ICAgICAgIGlmIChudW1fZXhlYyAhPSAwKSB7CiAgICAgICAgICAgICBMT0coREVCVUcsICJudW1f ZXhlYyAlZCwgbm90IHJ1bm5pbmcgaG90cGx1ZyBzY3JpcHRzIiwgbnVtX2V4ZWMpOwogICAgICAg ICAgICAgcmMgPSAwOwotICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICByYyA9IGxpYnhsX19ob3RwbHVnX2Rpc2soZ2MsIGRldiwgYXJncywgZW52LCBh Y3Rpb24pOworICAgICAgICB9CisgICAgICAgIGlmICghcmMpIHsKKyAgICAgICAgICAgIC8qIE5v IG1vcmUgaG90cGx1ZyBzY3JpcHRzIHRvIHJ1bi4gIEJ1dCwgdGhlIGhvdHBsdWcKKyAgICAgICAg ICAgICAqIHNjcmlwdHMgd3JpdGUgcGh5c2ljYWwtZGV2aWNlLXBhdGggYnV0IHdlIGJsa2JhY2sg d2FudHMKKyAgICAgICAgICAgICAqIHBoeXNpY2FsLWRldmljZSAobWFqb3I6bWlub3IpLiAgU28g bm93IHdlIGFkanVzdAorICAgICAgICAgICAgICogdGhhdC4gKi8KKyAgICAgICAgICAgIHJjID0g ZGlza19jb3B5X2Jsb2NrX2RldmljZShnYywgZGV2LCBhY3Rpb24pOwogICAgICAgICB9Ci0gICAg ICAgIHJjID0gbGlieGxfX2hvdHBsdWdfZGlzayhnYywgZGV2LCBhcmdzLCBlbnYsIGFjdGlvbik7 CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTElCWExfX0RFVklDRV9LSU5EX1ZJRjoKICAgICAg ICAgLyoKLS0gCjEuNy4xMC40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK