From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH 6/8] libxl: Allow local access for block devices with hotplug scripts Date: Wed, 16 Mar 2016 16:09:15 +0000 Message-ID: <1458144557-29070-7-git-send-email-george.dunlap@citrix.com> References: <1458144557-29070-1-git-send-email-george.dunlap@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458144557-29070-1-git-send-email-george.dunlap@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: George Dunlap , Ian Jackson , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgoKcHlncnVi IGFuZCBxZW11dSBuZWVkIHRvIGJlIGFibGUgdG8gYWNjZXNzIGEgVk0ncyBkaXNrcyBsb2NhbGx5 IGluCm9yZGVyIHRvIGJlIGFibGUgdG8gcHVsbCBvdXQgdGhlIGtlcm5lbCBhbmQgcHJvdmlkZSBl bXVsYXRlZCBkaXNrCmFjY2VzcywgcmVzcGVjdGl2ZWx5LiAgVGhpcyBjYW4gYmUgZG9uZSBlaXRo ZXIgYnkgYWNjZXNzaW5nIHRoZSBsb2NhbApkaXNrIGRpcmVjdGx5LCBvciBieSBwbHVnZ2luZyB0 aGUgdGFyZ2V0IGRpc2sgaW50byBkb20wIHRvIGFsbG93CmFjY2Vzcy4KClVuZm9ydHVuYXRlbHks IHdoaWxlIHRoZSBwbHVnZ2luZyBtYWNoaW5lcnkgd29ya3MgZm9yIHB5Z3J1YiwgaXQgZG9lcwpu b3QgeWV0IHdvcmsgZm9yIHFlbXV1OyBtZWFuaW5nIHRoYXQgZGlzayBob3RwbHVnIHNjcmlwdHMg Y2Fubm90IGJlCnVzZWQgd2l0aCBIVk0gZG9tYWlucy4KCkZvcnR1bmF0ZWx5LCBkaXNrcyB1c2lu ZyBob3RwbHVnIHNjcmlwdHMgY3JlYXRlZCBpbiBkb20wIGRvIGNyZWF0ZSBhCmJsb2NrIGRldmlj ZSBhcyBwYXJ0IG9mIHNldC11cCwgd2hpY2ggY2FuIGJlIGFjY2Vzc2VkIGxvY2FsbHk7IGFuZCBp Zgp0aGV5IHVzZSBibG9jay1jb21tb24uc2g6d3JpdGVfZGV2LCB0aGlzIHBhdGggd2lsbCBicmUg d3JpdHRlbiB0bwpwaHlzaWNhbC1kZXZpY2UtcGF0aC4KCk1vZGlmeSBsaWJ4bF9fZGV2aWNlX2Rp c2tfc2V0ZGVmYXVsdCgpIHRvIGJlIGFibGUgdG8gZmlzaCB0aGlzIHBhdGgKb3V0IG9mIHhlbnN0 b3JlIGFuZCBwYXNzIGl0IGJhY2suCgpXZSBuZWVkIHRoZSB0YXJnZXQgZG9taWQgdG8gZmluZCB0 aGUgYXBwcm9wcmlhdGUgeGVuc3RvcmUgbm9kZSwgc28gYWRkCnRoYXQgdG8gbGlieGxfX2Rpc2tf bG9jYWxfc3RhdGUuCgpVbmZvcnR1bmF0ZWx5LCBhdCB0aGUgdGltZSBweWdydWIgcnVucywgdGhl IGRldmljZXMgaGF2ZSBub3QgeWV0IGJlZW4Kc2V0IHVwLiAgUmF0aGVyIHRoYW4gdHJ5IHRvIHN0 YXNoIHRoZSBkb21pZCBzb21ld2hlcmUgdG8gcGFzcywgd2UganVzdApwYXNzIC0xLgoKVGhpcyBh bGxvd3MgcWVtdXUgdG8gYm9vdCB3aXRoIGJsb2NrIGRldmljZXMgY3JlYXRlZCB3aXRoIGhvdHBs dWcKc2NyaXB0cy4KClNpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBA ZXUuY2l0cml4LmNvbT4KLS0tCkNDOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AY2l0cml4LmNv bT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubmUg PHJvZ2VyLnBhdUBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAg fCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogdG9vbHMvbGlieGwv bGlieGxfZG0uYyAgICAgICB8ICAzICstLQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8 ICAzICsrLQogMyBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5j CmluZGV4IGQ2MzAyYTkuLjQ5MGE3ZDIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMK KysrIGIvdG9vbHMvbGlieGwvbGlieGwuYwpAQCAtMjI5Niw3ICsyMjk2LDcgQEAgaW50IGxpYnhs X19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RldmljZV9kaXNr ICpkaXNrKQogfQogCiBpbnQgbGlieGxfX2RldmljZV9mcm9tX2Rpc2sobGlieGxfX2djICpnYywg dWludDMyX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X2RldmljZV9kaXNrICpkaXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2RldmljZSAqZGV2aWNlKQogewogICAgIGludCBkZXZpZDsKQEAgLTMw MDIsNiArMzAwMiw3IEBAIHN0YXRpYyBjaGFyICogbGlieGxfX2FsbG9jX3ZkZXYobGlieGxfX2dj ICpnYywgdm9pZCAqZ2V0X3ZkZXZfdXNlciwKIC8qIENhbGxiYWNrcyAqLwogCiBjaGFyICogbGli eGxfX2RldmljZV9kaXNrX2ZpbmRfbG9jYWxfcGF0aChsaWJ4bF9fZ2MgKmdjLCAKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWlkIGRvbWlkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZGV2aWNl X2Rpc2sgKmRpc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi b29sIHFkaXNrX2RpcmVjdCkgewogICAgIGNoYXIgKnBhdGggPSBOVUxMOwpAQCAtMzAzMiw2ICsz MDMzLDM3IEBAIGNoYXIgKiBsaWJ4bF9fZGV2aWNlX2Rpc2tfZmluZF9sb2NhbF9wYXRoKGxpYnhs X19nYyAqZ2MsCiAgICAgICAgIHBhdGggPSBsaWJ4bF9fc3RyZHVwKGdjLCBkaXNrLT5wZGV2X3Bh dGgpOwogICAgICAgICBMT0coREVCVUcsICJEaXJlY3RseSBhY2Nlc3NpbmcgbG9jYWwgUURJU0sg dGFyZ2V0ICVzIiwgcGF0aCk7CiAgICAgICAgIGdvdG8gb3V0OworICAgIH0gCisKKyAgICAvKiAK KyAgICAgKiBJZiB0aGUgZm9ybWF0IGlzbid0IHJhdyBhbmQgLyBvciB3ZSdyZSB1c2luZyBhIHNj cmlwdCwgdGhlbiBzZWUKKyAgICAgKiBpZiB0aGUgc2NyaXB0IGhhcyB3cml0dGVuIGEgcGF0aCB0 byB0aGUgImNvb2tlZCIgbm9kZQorICAgICAqLworICAgIGlmKGRpc2stPnNjcmlwdCAmJiBkb21p ZCAhPSBJTlZBTElEX0RPTUlEKSB7CisgICAgICAgIGxpYnhsX19kZXZpY2UgZGV2aWNlOworICAg ICAgICBjaGFyICpiZV9wYXRoLCAqcGRwYXRoOworICAgICAgICBpbnQgcmM7CisKKyAgICAgICAg TE9HKERFQlVHLCAiUnVuIGZyb20gYSBzY3JpcHQ7IGNoZWNraW5nIGZvciBwaHlzaWNhbC1kZXZp Y2UtcGF0aCAodmRldiAlcykiLAorICAgICAgICAgICAgZGlzay0+dmRldik7CisKKyAgICAgICAg cmMgPSBsaWJ4bF9fZGV2aWNlX2Zyb21fZGlzayhnYywgZG9taWQsIGRpc2ssICZkZXZpY2UpOwor ICAgICAgICBpZiAocmMgPCAwKQorICAgICAgICAgICAgZ290byBvdXQ7CisKKyAgICAgICAgYmVf cGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCAmZGV2aWNlKTsKKworICAgICAg ICBwZHBhdGggPSBsaWJ4bF9fc3ByaW50ZihnYywgIiVzL3BoeXNpY2FsLWRldmljZS1wYXRoIiwg YmVfcGF0aCk7CisKKyAgICAgICAgTE9HKERFQlVHLCAiQXR0ZW1wdGluZyB0byByZWFkIG5vZGUg JXMiLCBwZHBhdGgpOworICAgICAgICBwYXRoID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxM LCBwZHBhdGgpOworCisgICAgICAgIGlmIChwYXRoKQorICAgICAgICAgICAgTE9HKERFQlVHLCAi QWNjZXNzaW5nIGNvb2tlZCBibG9jayBkZXZpY2UgJXMiLCBwYXRoKTsKKyAgICAgICAgZWxzZQor ICAgICAgICAgICAgTE9HKERFQlVHLCAiTm8gcGh5c2ljYWwtZGV2aWNlLXBhdGgsIGNhbid0IGFj Y2VzcyBsb2NhbGx5LiIpOworCisgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAogIG91dDoKQEAg LTMwNTgsNyArMzA5MCw4IEBAIHZvaWQgbGlieGxfX2RldmljZV9kaXNrX2xvY2FsX2luaXRpYXRl X2F0dGFjaChsaWJ4bF9fZWdjICplZ2MsCiAKICAgICBMT0coREVCVUcsICJUcnlpbmcgdG8gZmlu ZCBsb2NhbCBwYXRoIik7CiAKLSAgICBpZiAoKGRscy0+ZGlza3BhdGggPSBsaWJ4bF9fZGV2aWNl X2Rpc2tfZmluZF9sb2NhbF9wYXRoKGdjLCBpbl9kaXNrLCBmYWxzZSkpKSB7CisgICAgaWYgKChk bHMtPmRpc2twYXRoID0gbGlieGxfX2RldmljZV9kaXNrX2ZpbmRfbG9jYWxfcGF0aChnYywgSU5W QUxJRF9ET01JRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGluX2Rpc2ssIGZhbHNlKSkpIHsKICAgICAgICAgTE9HKERFQlVHLCAi TG9jYWwgcGF0aCBmb3VuZCwgZXhlY3V0aW5nIGNhbGxiYWNrLiIpOwogICAgICAgICBkbHMtPmNh bGxiYWNrKGVnYywgZGxzLCAwKTsKICAgICB9IGVsc2UgewpAQCAtMzA3Myw3ICszMTA2LDYgQEAg dm9pZCBsaWJ4bF9fZGV2aWNlX2Rpc2tfbG9jYWxfaW5pdGlhdGVfYXR0YWNoKGxpYnhsX19lZ2Mg KmVnYywKICAgICAgICAgcmMgPSBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0ZGVmYXVsdChnYywgZGlz ayk7CiAgICAgICAgIGlmIChyYykgZ290byBvdXQ7CiAKLSAgICAgICAgLyogSWYgd2UgY2FuJ3Qg ZmluZCBhIGxvY2FsIHBhdGgsIGF0dGFjaCBpdCAqLwogICAgICAgICBsaWJ4bF9fcHJlcGFyZV9h b19kZXZpY2UoYW8sICZkbHMtPmFvZGV2KTsKICAgICAgICAgZGxzLT5hb2Rldi5jYWxsYmFjayA9 IGxvY2FsX2RldmljZV9hdHRhY2hfY2I7CiAgICAgICAgIGRldmljZV9kaXNrX2FkZChlZ2MsIExJ QlhMX1RPT0xTVEFDS19ET01JRCwgZGlzaywgJmRscy0+YW9kZXYsCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9kbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwppbmRleCA5MTdlYmJm Li42NDZhNDljIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2RtLmMKQEAgLTEyMDYsOCArMTIwNiw3IEBAIHN0YXRpYyBpbnQgbGlieGxf X2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX25ldyhsaWJ4bF9fZ2MgKmdjLAogICAgICAgICAgICAg ICAgICAgICB0YXJnZXRfcGF0aCA9IGxpYnhsX19ibGt0YXBfZGV2cGF0aChnYywgZGlza3NbaV0u cGRldl9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGlza3NbaV0uZm9ybWF0KTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg ICAgICAgICAgICAgIHRhcmdldF9wYXRoID0gbGlieGxfX2RldmljZV9kaXNrX2ZpbmRfbG9jYWxf cGF0aChnYywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZGlza3NbaV0sIHRydWUpOworICAgICAgICAgICAgICAgICAgICB0 YXJnZXRfcGF0aCA9IGxpYnhsX19kZXZpY2VfZGlza19maW5kX2xvY2FsX3BhdGgoZ2MsIGd1ZXN0 X2RvbWlkLCAmZGlza3NbaV0sIHRydWUpOwogCiAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRf cGF0aCkgewogICAgICAgICAgICAgICAgICAgICBMT0coV0FSTiwgIk5vIHdheSB0byBnZXQgbG9j YWwgYWNjZXNzIGRpc2sgdG8gaW1hZ2U6ICVzIiwgZGlza3NbaV0udmRldik7CmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaAppbmRleCBhNTExYzZkLi42MjkxYjljIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTE3MDks NyArMTcwOSw3IEBAIF9oaWRkZW4gY2hhciAqbGlieGxfX2Jsa3RhcF9kZXZwYXRoKGxpYnhsX19n YyAqZ2MsCiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rlc3Ryb3lfdGFwZGlzayhsaWJ4bF9f Z2MgKmdjLCBjb25zdCBjaGFyICpwYXJhbXMpOwogCiBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNl X2Zyb21fZGlzayhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2ssCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RldmljZV9kaXNrICpkaXNrLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlICpkZXZpY2Up OwogCiAvKiBDYWxscyBwb2xsKCkgYWdhaW4gLSB1c2VmdWwgdG8gY2hlY2sgd2hldGhlciBhIHNp Z25hbGVkIGNvbmRpdGlvbgpAQCAtMjY3NCw2ICsyNjc0LDcgQEAgc3RhdGljIGlubGluZSB2b2lk IGxpYnhsX19kZXZpY2VfZGlza19sb2NhbF9pbml0KGxpYnhsX19kaXNrX2xvY2FsX3N0YXRlICpk bHMpCiAgKiBTZWUgaWYgd2UgY2FuIGZpbmQgYSB3YXkgdG8gYWNjZXNzIGEgZGlzayBsb2NhbGx5 CiAgKi8KIF9oaWRkZW4gY2hhciAqIGxpYnhsX19kZXZpY2VfZGlza19maW5kX2xvY2FsX3BhdGgo bGlieGxfX2djICpnYywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX2RvbWlkIGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBxZGlz a19kaXJlY3QpOwogCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==