From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v11 18/27] implement the cmdline for COLO Date: Fri, 4 Mar 2016 16:41:22 +0800 Message-ID: <1457080891-26054-19-git-send-email-xiecl.fnst@cn.fujitsu.com> References: <1457080891-26054-1-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457080891-26054-1-git-send-email-xiecl.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen devel , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Changlong Xie , Wen Congyang , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org RnJvbTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KCkFkZCBhIG5ldyBvcHRp b24gLWMgdG8gdGhlIGNvbW1hbmQgJ3hsIHJlbXVzJy4gSWYgeW91IHdhbnQKdG8gdXNlIENPTE8g SEEgaW5zdGVhZCBvZiBSZW11cyBIQSwgcGxlYXNlIHVzZSAtYyBvcHRpb24uCgpVcGRhdGUgbWFu IHBhZ2VzIHRvIHJlZmxlY3QgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IG9wdGlvbiB0bwoneGwgcmVt dXMnIGNvbW1hbmQuCgpBbHNvIGFkZCBhIG5ldyBvcHRpb24gLWMgdG8gdGhlIGludGVybmFsIGNv bW1hbmQgJ3hsIG1pZ3JhdGUtcmVjZWl2ZScuCgpTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcg PHdlbmN5QGNuLmZ1aml0c3UuY29tPgpTaWduZWQtb2ZmLWJ5OiBZYW5nIEhvbmd5YW5nIDxob25n eWFuZy55YW5nQGVhc3lzdGFjay5jbj4KU2lnbmVkLW9mZi1ieTogQ2hhbmdsb25nIFhpZSA8eGll Y2wuZm5zdEBjbi5mdWppdHN1LmNvbT4KLS0tCiBkb2NzL21hbi94bC5wb2QuMSAgICAgICAgIHwg MTIgKysrKysrKystLQogdG9vbHMvbGlieGwvbGlieGwuYyAgICAgICB8IDIyICsrKysrKysrKysr KysrKystLQogdG9vbHMvbGlieGwveGxfY21kaW1wbC5jICB8IDU5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC94bF9jbWR0YWJsZS5j IHwgIDQgKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5wb2QuMSBiL2RvY3MvbWFuL3hsLnBvZC4x CmluZGV4IDQyNzljN2MuLjFjNmRkODcgMTAwNjQ0Ci0tLSBhL2RvY3MvbWFuL3hsLnBvZC4xCisr KyBiL2RvY3MvbWFuL3hsLnBvZC4xCkBAIC00NDcsMTIgKzQ0NywxNSBAQCBQcmludCBodWdlICgh KSBhbW91bnQgb2YgZGVidWcgZHVyaW5nIHRoZSBtaWdyYXRpb24gcHJvY2Vzcy4KIAogPWl0ZW0g QjxyZW11cz4gW0k8T1BUSU9OUz5dIEk8ZG9tYWluLWlkPiBJPGhvc3Q+CiAKLUVuYWJsZSBSZW11 cyBIQSBmb3IgZG9tYWluLiBCeSBkZWZhdWx0IEI8eGw+IHJlbGllcyBvbiBzc2ggYXMgYSB0cmFu c3BvcnQKLW1lY2hhbmlzbSBiZXR3ZWVuIHRoZSB0d28gaG9zdHMuCitFbmFibGUgUmVtdXMgSEEg b3IgQ09MTyBIQSBmb3IgZG9tYWluLiBCeSBkZWZhdWx0IEI8eGw+IHJlbGllcyBvbiBzc2ggYXMg YQordHJhbnNwb3J0IG1lY2hhbmlzbSBiZXR3ZWVuIHRoZSB0d28gaG9zdHMuCiAKIE4uQjogUmVt dXMgc3VwcG9ydCBpbiB4bCBpcyBzdGlsbCBpbiBleHBlcmltZW50YWwgKHByb29mLW9mLWNvbmNl cHQpIHBoYXNlLgogICAgICBEaXNrIHJlcGxpY2F0aW9uIHN1cHBvcnQgaXMgbGltaXRlZCB0byBE UkJEIGRpc2tzLgogCisgICAgIENPTE8gc3VwcG9ydCBpbiB4bCBpcyBzdGlsbCBpbiBleHBlcmlt ZW50YWwgKHByb29mLW9mLWNvbmNlcHQpIHBoYXNlLgorICAgICBUaGVyZSBpcyBubyBzdXBwb3J0 IGZvciBuZXR3b3JrIG9yIGRpc2sgYXQgdGhlIG1vbWVudC4KKwogQjxPUFRJT05TPgogCiA9b3Zl ciA0CkBAIC00OTgsNiArNTAxLDExIEBAIERpc2FibGUgbmV0d29yayBvdXRwdXQgYnVmZmVyaW5n LiBSZXF1aXJlcyBlbmFibGluZyB1bnNhZmUgbW9kZS4KIAogRGlzYWJsZSBkaXNrIHJlcGxpY2F0 aW9uLiBSZXF1aXJlcyBlbmFibGluZyB1bnNhZmUgbW9kZS4KIAorPWl0ZW0gQjwtYz4KKworRW5h YmxlIENPTE8gSEEuIFRoaXMgY29uZmxpY3RzIHdpdGggQjwtaT4gYW5kIEI8LWI+LCBhbmQgbWVt b3J5CitjaGVja3BvaW50IGNvbXByZXNzaW9uIG11c3QgYmUgZGlzYWJsZWQuCisKID1iYWNrCiAK ID1pdGVtIEI8cGF1c2U+IEk8ZG9tYWluLWlkPgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggMzA1MjMxYi4uMzY4OWRmYyAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC04 NDgsMTIgKzg0OCwyNyBAQCBpbnQgbGlieGxfZG9tYWluX3JlbXVzX3N0YXJ0KGxpYnhsX2N0eCAq Y3R4LCBsaWJ4bF9kb21haW5fcmVtdXNfaW5mbyAqaW5mbywKICAgICAgICAgZ290byBvdXQ7CiAg ICAgfQogCisgICAgLyogVGhlIGNhbGxlciBtdXN0IHNldCB0aGlzIGRlZmJvb2wgKi8KKyAgICBp ZiAobGlieGxfZGVmYm9vbF9pc19kZWZhdWx0KGluZm8tPmNvbG8pKSB7CisgICAgICAgIExPRyhF UlJPUiwgImNvbG8gbW9kZSBtdXN0IGJlIGVuYWJsZWQvZGlzYWJsZWQiKTsKKyAgICAgICAgcmMg PSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKICAgICBsaWJ4bF9kZWZi b29sX3NldGRlZmF1bHQoJmluZm8tPmFsbG93X3Vuc2FmZSwgZmFsc2UpOwogICAgIGxpYnhsX2Rl ZmJvb2xfc2V0ZGVmYXVsdCgmaW5mby0+YmxhY2tob2xlLCBmYWxzZSk7Ci0gICAgbGlieGxfZGVm Ym9vbF9zZXRkZWZhdWx0KCZpbmZvLT5jb21wcmVzc2lvbiwgdHJ1ZSk7CisgICAgbGlieGxfZGVm Ym9vbF9zZXRkZWZhdWx0KCZpbmZvLT5jb21wcmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIWxpYnhsX2RlZmJvb2xfdmFsKGluZm8tPmNvbG8pKTsKICAgICBsaWJ4bF9kZWZi b29sX3NldGRlZmF1bHQoJmluZm8tPm5ldGJ1ZiwgdHJ1ZSk7CiAgICAgbGlieGxfZGVmYm9vbF9z ZXRkZWZhdWx0KCZpbmZvLT5kaXNrYnVmLCB0cnVlKTsKIAorICAgIGlmIChsaWJ4bF9kZWZib29s X3ZhbChpbmZvLT5jb2xvKSAmJgorICAgICAgICBsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT5jb21w cmVzc2lvbikpIHsKKyAgICAgICAgICAgIExPRyhFUlJPUiwgImNhbm5vdCB1c2UgbWVtb3J5IGNo ZWNrcG9pbnQgY29tcHJlc3Npb24gaW4gQ09MTyBtb2RlIik7CisgICAgICAgICAgICByYyA9IEVS Uk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKICAgICBpZiAoIWxpYnhs X2RlZmJvb2xfdmFsKGluZm8tPmFsbG93X3Vuc2FmZSkgJiYKICAgICAgICAgKGxpYnhsX2RlZmJv b2xfdmFsKGluZm8tPmJsYWNraG9sZSkgfHwKICAgICAgICAgICFsaWJ4bF9kZWZib29sX3ZhbChp bmZvLT5uZXRidWYpIHx8CkBAIC04NzUsNyArODkwLDEwIEBAIGludCBsaWJ4bF9kb21haW5fcmVt dXNfc3RhcnQobGlieGxfY3R4ICpjdHgsIGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZvLAog ICAgIGRzcy0+bGl2ZSA9IDE7CiAgICAgZHNzLT5kZWJ1ZyA9IDA7CiAgICAgZHNzLT5yZW11cyA9 IGluZm87Ci0gICAgZHNzLT5jaGVja3BvaW50ZWRfc3RyZWFtID0gTElCWExfQ0hFQ0tQT0lOVEVE X1NUUkVBTV9SRU1VUzsKKyAgICBpZiAobGlieGxfZGVmYm9vbF92YWwoaW5mby0+Y29sbykpCisg ICAgICAgIGRzcy0+Y2hlY2twb2ludGVkX3N0cmVhbSA9IExJQlhMX0NIRUNLUE9JTlRFRF9TVFJF QU1fQ09MTzsKKyAgICBlbHNlCisgICAgICAgIGRzcy0+Y2hlY2twb2ludGVkX3N0cmVhbSA9IExJ QlhMX0NIRUNLUE9JTlRFRF9TVFJFQU1fUkVNVVM7CiAKICAgICBhc3NlcnQoaW5mbyk7CiAKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGlt cGwuYwppbmRleCA1MjNlMGU5Li4zMGQyNmJjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC94bF9j bWRpbXBsLmMKKysrIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCkBAIC00NDQ1LDYgKzQ0NDUs OCBAQCBzdGF0aWMgdm9pZCBtaWdyYXRlX3JlY2VpdmUoaW50IGRlYnVnLCBpbnQgZGFlbW9uaXpl LCBpbnQgbW9uaXRvciwKICAgICBjaGFyIHJjX2J1ZjsKICAgICBjaGFyICptaWdyYXRpb25fZG9t bmFtZTsKICAgICBzdHJ1Y3QgZG9tYWluX2NyZWF0ZSBkb21faW5mbzsKKyAgICBjb25zdCBjaGFy ICpoYSA9IGNoZWNrcG9pbnRlZCA9PSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX0NPTE8gPwor ICAgICAgICAgICAgICAgICAgICAgIkNPTE8iIDogIlJlbXVzIjsKIAogICAgIHNpZ25hbChTSUdQ SVBFLCBTSUdfSUdOKTsKICAgICAvKiBpZiB3ZSBnZXQgU0lHUElQRSB3ZSdkIHJhdGhlciBqdXN0 IGhhdmUgaXQgYXMgYW4gZXJyb3IgKi8KQEAgLTQ0NzcsMTEgKzQ0NzksMTIgQEAgc3RhdGljIHZv aWQgbWlncmF0ZV9yZWNlaXZlKGludCBkZWJ1ZywgaW50IGRhZW1vbml6ZSwgaW50IG1vbml0b3Is CiAKICAgICBzd2l0Y2ggKGNoZWNrcG9pbnRlZCkgewogICAgIGNhc2UgTElCWExfQ0hFQ0tQT0lO VEVEX1NUUkVBTV9SRU1VUzoKKyAgICBjYXNlIExJQlhMX0NIRUNLUE9JTlRFRF9TVFJFQU1fQ09M TzoKICAgICAgICAgLyogSWYgd2UgYXJlIGhlcmUsIGl0IG1lYW5zIHRoYXQgdGhlIHNlbmRlciAo cHJpbWFyeSkgaGFzIGNyYXNoZWQuCiAgICAgICAgICAqIFRPRE86IFNwbGl0LUJyYWluIENoZWNr LgogICAgICAgICAgKi8KLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJtaWdyYXRpb24gdGFyZ2V0 OiBSZW11cyBGYWlsb3ZlciBmb3IgZG9tYWluICV1XG4iLAotICAgICAgICAgICAgICAgIGRvbWlk KTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJtaWdyYXRpb24gdGFyZ2V0OiAlcyBGYWlsb3Zl ciBmb3IgZG9tYWluICV1XG4iLAorICAgICAgICAgICAgICAgIGhhLCBkb21pZCk7CiAKICAgICAg ICAgLyoKICAgICAgICAgICogSWYgZG9tYWluIHJlbmFtaW5nIGZhaWxzLCBsZXRzIGp1c3QgY29u dGludWUgKGFzIHdlIG5lZWQgdGhlIGRvbWFpbgpAQCAtNDQ5NywxNiArNDUwMCwyMCBAQCBzdGF0 aWMgdm9pZCBtaWdyYXRlX3JlY2VpdmUoaW50IGRlYnVnLCBpbnQgZGFlbW9uaXplLCBpbnQgbW9u aXRvciwKICAgICAgICAgICAgIHJjID0gbGlieGxfZG9tYWluX3JlbmFtZShjdHgsIGRvbWlkLCBt aWdyYXRpb25fZG9tbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b21tb25fZG9tbmFtZSk7CiAgICAgICAgICAgICBpZiAocmMpCi0gICAgICAgICAgICAgICAgZnBy aW50ZihzdGRlcnIsICJtaWdyYXRpb24gdGFyZ2V0IChSZW11cyk6ICIKKyAgICAgICAgICAgICAg ICBmcHJpbnRmKHN0ZGVyciwgIm1pZ3JhdGlvbiB0YXJnZXQgKCVzKTogIgogICAgICAgICAgICAg ICAgICAgICAgICAgIkZhaWxlZCB0byByZW5hbWUgZG9tYWluIGZyb20gJXMgdG8gJXM6JWRcbiIs Ci0gICAgICAgICAgICAgICAgICAgICAgICBtaWdyYXRpb25fZG9tbmFtZSwgY29tbW9uX2RvbW5h bWUsIHJjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhhLCBtaWdyYXRpb25fZG9tbmFtZSwg Y29tbW9uX2RvbW5hbWUsIHJjKTsKICAgICAgICAgfQogCisgICAgICAgIGlmIChjaGVja3BvaW50 ZWQgPT0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9DT0xPKQorICAgICAgICAgICAgLyogVGhl IGd1ZXN0IGlzIHJ1bm5pbmcgYWZ0ZXIgZmFpbG92ZXIgaW4gQ09MTyBtb2RlICovCisgICAgICAg ICAgICBleGl0KHJjID8gLUVSUk9SX0ZBSUw6IDApOworCiAgICAgICAgIHJjID0gbGlieGxfZG9t YWluX3VucGF1c2UoY3R4LCBkb21pZCk7CiAgICAgICAgIGlmIChyYykKLSAgICAgICAgICAgIGZw cmludGYoc3RkZXJyLCAibWlncmF0aW9uIHRhcmdldCAoUmVtdXMpOiAiCisgICAgICAgICAgICBm cHJpbnRmKHN0ZGVyciwgIm1pZ3JhdGlvbiB0YXJnZXQgKCVzKTogIgogICAgICAgICAgICAgICAg ICAgICAiRmFpbGVkIHRvIHVucGF1c2UgZG9tYWluICVzIChpZDogJXUpOiVkXG4iLAotICAgICAg ICAgICAgICAgICAgICBjb21tb25fZG9tbmFtZSwgZG9taWQsIHJjKTsKKyAgICAgICAgICAgICAg ICAgICAgaGEsIGNvbW1vbl9kb21uYW1lLCBkb21pZCwgcmMpOwogCiAgICAgICAgIGV4aXQocmMg PyAtRVJST1JfRkFJTDogMCk7CiAgICAgZGVmYXVsdDoKQEAgLTQ2NTQsNyArNDY2MSw3IEBAIGlu dCBtYWluX21pZ3JhdGVfcmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgbGlieGxf Y2hlY2twb2ludGVkX3N0cmVhbSBjaGVja3BvaW50ZWQgPSBMSUJYTF9DSEVDS1BPSU5URURfU1RS RUFNX05PTkU7CiAgICAgaW50IG9wdDsKIAotICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJG ZWRyIiwgTlVMTCwgIm1pZ3JhdGUtcmVjZWl2ZSIsIDApIHsKKyAgICBTV0lUQ0hfRk9SRUFDSF9P UFQob3B0LCAiRmVkcmMiLCBOVUxMLCAibWlncmF0ZS1yZWNlaXZlIiwgMCkgewogICAgIGNhc2Ug J0YnOgogICAgICAgICBkYWVtb25pemUgPSAwOwogICAgICAgICBicmVhazsKQEAgLTQ2NjgsNiAr NDY3NSw5IEBAIGludCBtYWluX21pZ3JhdGVfcmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAgICAgY2FzZSAncic6CiAgICAgICAgIGNoZWNrcG9pbnRlZCA9IExJQlhMX0NIRUNLUE9JTlRF RF9TVFJFQU1fUkVNVVM7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgJ2MnOgorICAgICAgICBj aGVja3BvaW50ZWQgPSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX0NPTE87CisgICAgICAgIGJy ZWFrOwogICAgIH0KIAogICAgIGlmIChhcmdjLW9wdGluZCAhPSAwKSB7CkBAIC04MDQzLDExICs4 MDUzLDggQEAgaW50IG1haW5fcmVtdXMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGludCBj b25maWdfbGVuOwogCiAgICAgbWVtc2V0KCZyX2luZm8sIDAsIHNpemVvZihsaWJ4bF9kb21haW5f cmVtdXNfaW5mbykpOwotICAgIC8qIERlZmF1bHRzICovCi0gICAgcl9pbmZvLmludGVydmFsID0g MjAwOwotICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmcl9pbmZvLmJsYWNraG9sZSwgZmFs c2UpOwogCi0gICAgU1dJVENIX0ZPUkVBQ0hfT1BUKG9wdCwgIkZidW5kaTpzOk46ZSIsIE5VTEws ICJyZW11cyIsIDIpIHsKKyAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAiRmJ1bmRpOnM6Tjpl YyIsIE5VTEwsICJyZW11cyIsIDIpIHsKICAgICBjYXNlICdpJzoKICAgICAgICAgcl9pbmZvLmlu dGVydmFsID0gYXRvaShvcHRhcmcpOwogICAgICAgICBicmVhazsKQEAgLTgwNzUsMTEgKzgwODIs MzIgQEAgaW50IG1haW5fcmVtdXMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGNhc2UgJ2Un OgogICAgICAgICBkYWVtb25pemUgPSAwOwogICAgICAgICBicmVhazsKKyAgICBjYXNlICdjJzoK KyAgICAgICAgbGlieGxfZGVmYm9vbF9zZXQoJnJfaW5mby5jb2xvLCB0cnVlKTsKICAgICB9CiAK ICAgICBkb21pZCA9IGZpbmRfZG9tYWluKGFyZ3Zbb3B0aW5kXSk7CiAgICAgaG9zdCA9IGFyZ3Zb b3B0aW5kICsgMV07CiAKKyAgICAvKiBEZWZhdWx0cyAqLworICAgIGxpYnhsX2RlZmJvb2xfc2V0 ZGVmYXVsdCgmcl9pbmZvLmJsYWNraG9sZSwgZmFsc2UpOworICAgIGxpYnhsX2RlZmJvb2xfc2V0 ZGVmYXVsdCgmcl9pbmZvLmNvbG8sIGZhbHNlKTsKKyAgICBpZiAoIWxpYnhsX2RlZmJvb2xfdmFs KHJfaW5mby5jb2xvKSAmJiAhcl9pbmZvLmludGVydmFsKQorICAgICAgICByX2luZm8uaW50ZXJ2 YWwgPSAyMDA7CisKKyAgICBpZiAobGlieGxfZGVmYm9vbF92YWwocl9pbmZvLmNvbG8pKSB7Cisg ICAgICAgIGlmIChyX2luZm8uaW50ZXJ2YWwgfHwgbGlieGxfZGVmYm9vbF92YWwocl9pbmZvLmJs YWNraG9sZSkpIHsKKyAgICAgICAgICAgIHBlcnJvcigiT3B0aW9uIC1jIGNvbmZsaWN0cyB3aXRo IC1pIG9yIC1iIik7CisgICAgICAgICAgICBleGl0KC0xKTsKKyAgICAgICAgfQorCisgICAgICAg IGlmIChsaWJ4bF9kZWZib29sX2lzX2RlZmF1bHQocl9pbmZvLmNvbXByZXNzaW9uKSkgeworICAg ICAgICAgICAgcGVycm9yKCJDT0xPIGNhbid0IGJlIHVzZWQgd2l0aCBtZW1vcnkgY29tcHJlc3Np b24uICIKKyAgICAgICAgICAgICAgICAgICAiRGlzYWJsZSBtZW1vcnkgY2hlY2twb2ludCBjb21w cmVzc2lvbiBub3cuLi4iKTsKKyAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0KCZyX2luZm8u Y29tcHJlc3Npb24sIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmICghcl9pbmZv Lm5ldGJ1ZnNjcmlwdCkKICAgICAgICAgcl9pbmZvLm5ldGJ1ZnNjcmlwdCA9IGRlZmF1bHRfcmVt dXNfbmV0YnVmc2NyaXB0OwogCkBAIC04MDk0LDggKzgxMjIsOSBAQCBpbnQgbWFpbl9yZW11cyhp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIGlmICghc3NoX2NvbW1hbmRbMF0pIHsKICAg ICAgICAgICAgIHJ1bmUgPSBob3N0OwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgeGFz cHJpbnRmKCZydW5lLCAiZXhlYyAlcyAlcyB4bCBtaWdyYXRlLXJlY2VpdmUgLXIgJXMiLAorICAg ICAgICAgICAgeGFzcHJpbnRmKCZydW5lLCAiZXhlYyAlcyAlcyB4bCBtaWdyYXRlLXJlY2VpdmUg JXMgJXMiLAogICAgICAgICAgICAgICAgICAgICAgIHNzaF9jb21tYW5kLCBob3N0LAorICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2RlZmJvb2xfdmFsKHJfaW5mby5jb2xvKSA/ICItYyIgOiAi LXIiLAogICAgICAgICAgICAgICAgICAgICAgIGRhZW1vbml6ZSA/ICIiIDogIiAtZSIpOwogICAg ICAgICB9CiAKQEAgLTgxMjMsNyArODE1Miw4IEBAIGludCBtYWluX3JlbXVzKGludCBhcmdjLCBj aGFyICoqYXJndikKICAgICAgKiBkb21haW4gdG8gZm9yY2UgZmFpbG92ZXIKICAgICAgKi8KICAg ICBpZiAobGlieGxfZG9tYWluX2luZm8oY3R4LCAwLCBkb21pZCkpIHsKLSAgICAgICAgZnByaW50 ZihzdGRlcnIsICJSZW11czogUHJpbWFyeSBkb21haW4gaGFzIGJlZW4gZGVzdHJveWVkLlxuIik7 CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IFByaW1hcnkgZG9tYWluIGhhcyBiZWVuIGRl c3Ryb3llZC5cbiIsCisgICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF92YWwocl9pbmZvLmNv bG8pID8gIkNPTE8iIDogIlJlbXVzIik7CiAgICAgICAgIGNsb3NlKHNlbmRfZmQpOwogICAgICAg ICByZXR1cm4gMDsKICAgICB9CkBAIC04MTM1LDcgKzgxNjUsOCBAQCBpbnQgbWFpbl9yZW11cyhp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgaWYgKHJjID09IEVSUk9SX0dVRVNUX1RJTUVET1VU KQogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBzdXNwZW5kIGRvbWFpbiBhdCBw cmltYXJ5LlxuIik7CiAgICAgZWxzZSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiUmVtdXM6 IEJhY2t1cCBmYWlsZWQ/IHJlc3VtaW5nIGRvbWFpbiBhdCBwcmltYXJ5LlxuIik7CisgICAgICAg IGZwcmludGYoc3RkZXJyLCAiJXM6IEJhY2t1cCBmYWlsZWQ/IHJlc3VtaW5nIGRvbWFpbiBhdCBw cmltYXJ5LlxuIiwKKyAgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3ZhbChyX2luZm8uY29s bykgPyAiQ09MTyIgOiAiUmVtdXMiKTsKICAgICAgICAgbGlieGxfZG9tYWluX3Jlc3VtZShjdHgs IGRvbWlkLCAxLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZHRh YmxlLmMgYi90b29scy9saWJ4bC94bF9jbWR0YWJsZS5jCmluZGV4IGZkYzFhYzYuLmI2YjYzMGMg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZHRhYmxlLmMKKysrIGIvdG9vbHMvbGlieGwv eGxfY21kdGFibGUuYwpAQCAtNDk5LDcgKzQ5OSw5IEBAIHN0cnVjdCBjbWRfc3BlYyBjbWRfdGFi bGVbXSA9IHsKICAgICAgICItYiAgICAgICAgICAgICAgICAgICAgICBSZXBsaWNhdGUgbWVtb3J5 IGNoZWNrcG9pbnRzIHRvIC9kZXYvbnVsbCAoYmxhY2tob2xlKS5cbiIKICAgICAgICIgICAgICAg ICAgICAgICAgICAgICAgICBXb3JrcyBvbmx5IGluIHVuc2FmZSBtb2RlLlxuIgogICAgICAgIi1u ICAgICAgICAgICAgICAgICAgICAgIERpc2FibGUgbmV0d29yayBvdXRwdXQgYnVmZmVyaW5nLiBX b3JrcyBvbmx5IGluIHVuc2FmZSBtb2RlLlxuIgotICAgICAgIi1kICAgICAgICAgICAgICAgICAg ICAgIERpc2FibGUgZGlzayByZXBsaWNhdGlvbi4gV29ya3Mgb25seSBpbiB1bnNhZmUgbW9kZS4i CisgICAgICAiLWQgICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZSBkaXNrIHJlcGxpY2F0aW9u LiBXb3JrcyBvbmx5IGluIHVuc2FmZSBtb2RlLlxuIgorICAgICAgIi1jICAgICAgICAgICAgICAg ICAgICAgIEVuYWJsZSBDT0xPIEhBLiBJdCBpcyBjb25mbGljdCB3aXRoIC1pIGFuZCAtYiwgYW5k IG1lbW9yeVxuIgorICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrcG9pbnQgbXVz dCBiZSBkaXNhYmxlZCIKICAgICB9LAogI2VuZGlmCiAgICAgeyAiZGV2ZCIsCi0tIAoxLjkuMwoK CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK