From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v8 13/17] libxl: Change libxl__domain_suspend_device_model() to be async Date: Fri, 4 Jan 2019 15:30:52 +0000 Message-ID: <20190104153056.19138-14-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 1gfRsN-0003zC-9v for xen-devel@lists.xenproject.org; Fri, 04 Jan 2019 15:59:11 +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 VGhpcyBjcmVhdGUgYW4gZXh0cmEgc3RlcCBmb3IgdGhlIHR3byBjYWxsIHNpdGVzIG9mIHRoZSBm dW5jdGlvbi4KCmxpYnhsX19kb21haW5fc3VzcGVuZF9kZXZpY2VfbW9kZWwoKSBpbiB0aGlzIHBh dGNoIGdldHMgYW4gZXh0cmEgZXJyb3IKdmFyaWFibGUgKHRoZXJlIGlzIHJldCBhbmQgcmMpLCBi dXQgcmV0IGdvZXMgYXdheSBpbiB0aGUgbmV4dCBwYXRjaC4KClNpZ25lZC1vZmYtYnk6IEFudGhv bnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgpBY2tlZC1ieTogSWFuIEphY2tz b24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CgotLS0KbGlieGxfZG9tYWluX3NvZnRfcmVz ZXQoKSBoYXZlbid0IGJlZW4gdGVzdGVkLCBhcyBpdCBkb2Vzbid0IGFwcGVhciB0bwpwb3NzaWJs ZSB0byBjYWxsIHRoZSBmdW5jdGlvbiBmcm9tIHhsLgotLS0KCk5vdGVzOgogICAgdjg6CiAgICAg ICAgQWNrZWQKICAgIAogICAgdjY6CiAgICAgICAgZml4IG11bHRpcGxlIHdheSB0byByZXBvcnQg ZXJyb3JzLAogICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9kZXZpY2VfbW9kZWwgd2lsbCBu b3cgb25seSByZXBvcnQgdmlhCiAgICAgICAgY2FsbGJhY2tzLCBhbmQgcmV0dXJuIHZvaWQKICAg ICAgICBhZGQgcmMgaW4gbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbCAocmV0IGlz bid0IGEgcHJvcGVyIHJjCiAgICAgICAgYXMgbGlieGxfX3FtcF9zYXZlIGRvbid0IHJldHVybiBv bmUpCgogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgICAgICB8IDM1ICsrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb21fc3VzcGVuZC5jIHwgMzYg KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oICAgIHwgIDcgKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCsp LCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUu YyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4IDg5ZjQ3NjZhMjcuLmE0ZTc0YTVj ZDIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC0xNzc0LDYgKzE3NzQsOSBAQCBzdGF0aWMgdm9pZCBkb21h aW5fc29mdF9yZXNldF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgZG9tY3JlYXRlX2NvbXBsZXRl KGVnYywgJmNkY3MtPmRjcywgcmMpOwogfQogCitzdGF0aWMgdm9pZCBzb2Z0X3Jlc2V0X2RtX3N1 c3BlbmRlZChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwogc3RhdGljIGludCBkb19kb21haW5fc29mdF9y ZXNldChsaWJ4bF9jdHggKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGRvbWlkX3NvZnRfcmVzZXQsCkBAIC0xODU2LDExICsxODU5LDI0IEBAIHN0 YXRpYyBpbnQgZG9fZG9tYWluX3NvZnRfcmVzZXQobGlieGxfY3R4ICpjdHgsCiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KIAotICAgIHJjID0gbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9t b2RlbChnYywgJmRzcy0+ZHNwcyk7Ci0gICAgaWYgKHJjKSB7Ci0gICAgICAgIExPR0QoRVJST1Is IGRvbWlkX3NvZnRfcmVzZXQsICJmYWlsZWQgdG8gc3VzcGVuZCBkZXZpY2UgbW9kZWwuIik7Ci0g ICAgICAgIGdvdG8gb3V0OwotICAgIH0KKyAgICBkc3MtPmRzcHMuYW8gPSBhbzsKKyAgICBkc3Mt PmRzcHMuY2FsbGJhY2tfZGV2aWNlX21vZGVsX2RvbmUgPSBzb2Z0X3Jlc2V0X2RtX3N1c3BlbmRl ZDsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVsKGVnYywgJmRzcy0+ZHNw cyk7IC8qIG11c3QgYmUgbGFzdCAqLworCisgICAgcmV0dXJuIEFPX0lOUFJPR1JFU1M7CisKKyBv dXQ6CisgICAgcmV0dXJuIEFPX0NSRUFURV9GQUlMKHJjKTsKK30KKworc3RhdGljIHZvaWQgc29m dF9yZXNldF9kbV9zdXNwZW5kZWQobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQoreworICAgIFNUQVRFX0FP X0dDKGRzcHMtPmFvKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NvZnRfcmVzZXRfc3RhdGUgKnNycyA9 CisgICAgICAgIENPTlRBSU5FUl9PRihkc3BzLCAqc3JzLCBkc3MuZHNwcyk7CisgICAgbGlieGxf X2FwcF9kb21haW5fY3JlYXRlX3N0YXRlICpjZGNzID0gJnNycy0+Y2RjczsKIAogICAgIC8qCiAg ICAgICogQXNrIGFsbCBiYWNrZW5kcyB0byBkaXNjb25uZWN0IGJ5IHJlbW92aW5nIHRoZSBkb21h aW4gZnJvbQpAQCAtMTg2OCwxOCArMTg4NCwxMyBAQCBzdGF0aWMgaW50IGRvX2RvbWFpbl9zb2Z0 X3Jlc2V0KGxpYnhsX2N0eCAqY3R4LAogICAgICAqIHhlbnN0b3JlIGFnYWluIHdpdGggcHJvYmFi bHkgZGlmZmVyZW50IHN0b3JlL2NvbnNvbGUvLi4uCiAgICAgICogY2hhbm5lbHMuCiAgICAgICov Ci0gICAgeHNfcmVsZWFzZV9kb21haW4oY3R4LT54c2gsIGNkY3MtPmRjcy5kb21pZF9zb2Z0X3Jl c2V0KTsKKyAgICB4c19yZWxlYXNlX2RvbWFpbihDVFgtPnhzaCwgY2Rjcy0+ZGNzLmRvbWlkX3Nv ZnRfcmVzZXQpOwogCiAgICAgc3JzLT5kZHMuYW8gPSBhbzsKLSAgICBzcnMtPmRkcy5kb21pZCA9 IGRvbWlkX3NvZnRfcmVzZXQ7CisgICAgc3JzLT5kZHMuZG9taWQgPSBjZGNzLT5kY3MuZG9taWRf c29mdF9yZXNldDsKICAgICBzcnMtPmRkcy5jYWxsYmFjayA9IGRvbWFpbl9zb2Z0X3Jlc2V0X2Ni OwogICAgIHNycy0+ZGRzLnNvZnRfcmVzZXQgPSB0cnVlOwogICAgIGxpYnhsX19kb21haW5fZGVz dHJveShlZ2MsICZzcnMtPmRkcyk7Ci0KLSAgICByZXR1cm4gQU9fSU5QUk9HUkVTUzsKLQotIG91 dDoKLSAgICByZXR1cm4gQU9fQ1JFQVRFX0ZBSUwocmMpOwogfQogCiBzdGF0aWMgdm9pZCBkb21h aW5fY3JlYXRlX2NiKGxpYnhsX19lZ2MgKmVnYywKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2RvbV9zdXNwZW5kLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc3VzcGVuZC5jCmluZGV4 IDFlOTA0YmFlOGEuLmY4ZmY1Y2YwYzUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Rv bV9zdXNwZW5kLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tX3N1c3BlbmQuYwpAQCAtNjgs MTAgKzY4LDEyIEBAIGludCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfaW5pdChsaWJ4bF9fZWdjICpl Z2MsCiAKIC8qLS0tLS0gY2FsbGJhY2tzLCBjYWxsZWQgYnkgeGNfZG9tYWluX3NhdmUgLS0tLS0q LwogCi1pbnQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChsaWJ4bF9fZ2MgKmdj LAordm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVsKGxpYnhsX19lZ2MgKmVn YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5f c3VzcGVuZF9zdGF0ZSAqZHNwcykKIHsKKyAgICBTVEFURV9BT19HQyhkc3BzLT5hbyk7CiAgICAg aW50IHJldCA9IDA7CisgICAgaW50IHJjID0gMDsKICAgICB1aW50MzJfdCBjb25zdCBkb21pZCA9 IGRzcHMtPmRvbWlkOwogICAgIGNvbnN0IGNoYXIgKmNvbnN0IGZpbGVuYW1lID0gZHNwcy0+ZG1f c2F2ZWZpbGU7CiAKQEAgLTgzLDE4ICs4NSwyOSBAQCBpbnQgbGlieGxfX2RvbWFpbl9zdXNwZW5k X2RldmljZV9tb2RlbChsaWJ4bF9fZ2MgKmdjLAogICAgICAgICBicmVhazsKICAgICB9CiAgICAg Y2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hFTjoKLSAgICAgICAgaWYgKGxp YnhsX19xbXBfc3RvcChnYywgZG9taWQpKQotICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7 CisgICAgICAgIHJldCA9IGxpYnhsX19xbXBfc3RvcChnYywgZG9taWQpOworICAgICAgICBpZiAo cmV0KSB7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91 dDsKKyAgICAgICAgfQogICAgICAgICAvKiBTYXZlIERNIHN0YXRlIGludG8gZmlsZW5hbWUgKi8K ICAgICAgICAgcmV0ID0gbGlieGxfX3FtcF9zYXZlKGdjLCBkb21pZCwgZmlsZW5hbWUsIGRzcHMt PmxpdmUpOwotICAgICAgICBpZiAocmV0KQorICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAg ICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgICAgICB1bmxpbmsoZmlsZW5hbWUpOworICAgICAg ICAgICAgZ290byBvdXQ7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoK LSAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOworICAgICAgICByYyA9IEVSUk9SX0lOVkFMOwor ICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICByZXR1cm4gcmV0Oworb3V0OgorICAgIGlm IChyYykKKyAgICAgICAgTE9HRChFUlJPUiwgZHNwcy0+ZG9taWQsCisgICAgICAgICAgICAgImZh aWxlZCB0byBzdXNwZW5kIGRldmljZSBtb2RlbCwgcmM9JWQiLCByYyk7CisgICAgZHNwcy0+Y2Fs bGJhY2tfZGV2aWNlX21vZGVsX2RvbmUoZWdjLCBkc3BzLCByYyk7IC8qIG11c3QgYmUgbGFzdCAq LwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fd2FpdF9ndWVzdChsaWJ4 bF9fZWdjICplZ2MsCkBAIC0zNzEsMjAgKzM4NCwxNSBAQCBzdGF0aWMgdm9pZCBkb21haW5fc3Vz cGVuZF9jb21tb25fZ3Vlc3Rfc3VzcGVuZGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl ICpkc3BzKQogewogICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsKLSAgICBpbnQgcmM7CiAKICAg ICBsaWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcHMtPmd1ZXN0X2V2dGNobik7CiAgICAg bGlieGxfX2V2X3hzd2F0Y2hfZGVyZWdpc3RlcihnYywgJmRzcHMtPmd1ZXN0X3dhdGNoKTsKICAg ICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVyKGdjLCAmZHNwcy0+Z3Vlc3RfdGltZW91dCk7CiAK ICAgICBpZiAoZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0pIHsKLSAgICAgICAg cmMgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVsKGdjLCBkc3BzKTsKLSAgICAg ICAgaWYgKHJjKSB7Ci0gICAgICAgICAgICBMT0dEKEVSUk9SLCBkc3BzLT5kb21pZCwKLSAgICAg ICAgICAgICAgICAgImxpYnhsX19kb21haW5fc3VzcGVuZF9kZXZpY2VfbW9kZWwgZmFpbGVkIHJl dD0lZCIsIHJjKTsKLSAgICAgICAgICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywg ZHNwcywgcmMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CisgICAgICAgIGRzcHMt PmNhbGxiYWNrX2RldmljZV9tb2RlbF9kb25lID0gZG9tYWluX3N1c3BlbmRfY29tbW9uX2RvbmU7 CisgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9kZXZpY2VfbW9kZWwoZWdjLCBkc3BzKTsg LyogbXVzdCBiZSBsYXN0ICovCisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgZG9tYWluX3N1 c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3BzLCAwKTsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4 IDYyNDkyZTEzZDcuLjVhMTg5Mzc1NjIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2lu dGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzQzNSw2ICsz NDM1LDggQEAgc3RydWN0IGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSB7CiAgICAgbGlieGxf X2V2X3RpbWUgZ3Vlc3RfdGltZW91dDsKIAogICAgIGNvbnN0IGNoYXIgKmRtX3NhdmVmaWxlOwor ICAgIHZvaWQgKCpjYWxsYmFja19kZXZpY2VfbW9kZWxfZG9uZSkobGlieGxfX2VnYyosCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0 YXRlKiwgaW50IHJjKTsKICAgICB2b2lkICgqY2FsbGJhY2tfY29tbW9uX2RvbmUpKGxpYnhsX19l Z2MqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpYnhsX19kb21h aW5fc3VzcGVuZF9zdGF0ZSosIGludCBvayk7CiB9OwpAQCAtNDA3Niw4ICs0MDc4LDkgQEAgc3Rh dGljIGlubGluZSBib29sIGxpYnhsX19zYXZlX2hlbHBlcl9pbnVzZShjb25zdCBsaWJ4bF9fc2F2 ZV9oZWxwZXJfc3RhdGUgKnNocykKICAgICByZXR1cm4gbGlieGxfX2V2X2NoaWxkX2ludXNlKCZz aHMtPmNoaWxkKTsKIH0KIAotLyogRWFjaCB0aW1lIHRoZSBkbSBuZWVkcyB0byBiZSBzYXZlZCwg d2UgbXVzdCBjYWxsIHN1c3BlbmQgYW5kIHRoZW4gc2F2ZSAqLwotX2hpZGRlbiBpbnQgbGlieGxf X2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChsaWJ4bF9fZ2MgKmdjLAorLyogRWFjaCB0aW1l IHRoZSBkbSBuZWVkcyB0byBiZSBzYXZlZCwgd2UgbXVzdCBjYWxsIHN1c3BlbmQgYW5kIHRoZW4g c2F2ZQorICogY2FsbHMgZHNwcy0+Y2FsbGJhY2tfZGV2aWNlX21vZGVsX2RvbmUgd2hlbiBkb25l ICovCitfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChsaWJ4 bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKTsKIAogX2hpZGRlbiBjb25zdCBjaGFy ICpsaWJ4bF9fZGV2aWNlX21vZGVsX3NhdmVmaWxlKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRv bWlkKTsKLS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==