From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH RFC v2 2/8] Modified xl stack to receieve mirror QEMU disk option Date: Wed, 18 Oct 2017 10:26:29 -0700 Message-ID: <1508347595-11657-3-git-send-email-bruno.alvisio@gmail.com> References: <1508347595-11657-1-git-send-email-bruno.alvisio@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1508347595-11657-1-git-send-email-bruno.alvisio@gmail.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: wei.liu2@citrix.com, ian.jackson@eu.citrix.com, bruno.alvisio@gmail.com, dave@recoil.org List-Id: xen-devel@lists.xenproject.org LS0tCiB0b29scy9vY2FtbC9saWJzL3hsL3hlbmxpZ2h0X3N0dWJzLmMgfCAgNCArLS0KIHRvb2xz L3hsL3hsLmggICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIHRvb2xzL3hsL3hsX21pZ3Jh dGUuYyAgICAgICAgICAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLQogdG9vbHMveGwveGxfc2F2ZXJlc3RvcmUuYyAgICAgICAgICAgIHwgIDIgKy0KIHRvb2xz L3hsL3hsX3ZtY29udHJvbC5jICAgICAgICAgICAgICB8ICA1ICsrLS0KIDUgZmlsZXMgY2hhbmdl ZCwgNDUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMv b2NhbWwvbGlicy94bC94ZW5saWdodF9zdHVicy5jIGIvdG9vbHMvb2NhbWwvbGlicy94bC94ZW5s aWdodF9zdHVicy5jCmluZGV4IDk4YjUyYjkuLjllMTkwMDkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL29j YW1sL2xpYnMveGwveGVubGlnaHRfc3R1YnMuYworKysgYi90b29scy9vY2FtbC9saWJzL3hsL3hl bmxpZ2h0X3N0dWJzLmMKQEAgLTUzOCw3ICs1MzgsNyBAQCB2YWx1ZSBzdHViX2xpYnhsX2RvbWFp bl9jcmVhdGVfcmVzdG9yZSh2YWx1ZSBjdHgsIHZhbHVlIGRvbWFpbl9jb25maWcsIHZhbHVlIHBh cgogCiAJY2FtbF9lbnRlcl9ibG9ja2luZ19zZWN0aW9uKCk7CiAJcmV0ID0gbGlieGxfZG9tYWlu X2NyZWF0ZV9yZXN0b3JlKENUWCwgJmNfZGNvbmZpZywgJmNfZG9taWQsIHJlc3RvcmVfZmQsCi0J CS0xLCAmY19wYXJhbXMsIGFvX2hvdywgTlVMTCk7CisJCS0xLCAwLCAmY19wYXJhbXMsIGFvX2hv dywgTlVMTCk7CiAJY2FtbF9sZWF2ZV9ibG9ja2luZ19zZWN0aW9uKCk7CiAKIAlmcmVlKGFvX2hv dyk7CkBAIC02MTEsNyArNjExLDcgQEAgdmFsdWUgc3R1Yl9saWJ4bF9kb21haW5fc3VzcGVuZCh2 YWx1ZSBjdHgsIHZhbHVlIGRvbWlkLCB2YWx1ZSBmZCwgdmFsdWUgYXN5bmMsIHYKIAlsaWJ4bF9h c3luY29wX2hvdyAqYW9faG93ID0gYW9ob3dfdmFsKGFzeW5jKTsKIAogCWNhbWxfZW50ZXJfYmxv Y2tpbmdfc2VjdGlvbigpOwotCXJldCA9IGxpYnhsX2RvbWFpbl9zdXNwZW5kKENUWCwgY19kb21p ZCwgY19mZCwgMCwgYW9faG93KTsKKwlyZXQgPSBsaWJ4bF9kb21haW5fc3VzcGVuZChDVFgsIGNf ZG9taWQsIGNfZmQsIDAsIE5VTEwsIGFvX2hvdyk7CiAJY2FtbF9sZWF2ZV9ibG9ja2luZ19zZWN0 aW9uKCk7CiAKIAlmcmVlKGFvX2hvdyk7CmRpZmYgLS1naXQgYS90b29scy94bC94bC5oIGIvdG9v bHMveGwveGwuaAppbmRleCAwMWMyYWY2Li4wNzBiYWMxIDEwMDY0NAotLS0gYS90b29scy94bC94 bC5oCisrKyBiL3Rvb2xzL3hsL3hsLmgKQEAgLTM1LDYgKzM1LDcgQEAgc3RydWN0IGRvbWFpbl9j cmVhdGUgewogICAgIGludCBkYWVtb25pemU7CiAgICAgaW50IG1vbml0b3I7IC8qIGhhbmRsZSBn dWVzdCByZWJvb3RzIGV0YyAqLwogICAgIGludCBwYXVzZWQ7CisgICAgaW50IG1pcnJvcl9xZW11 X2Rpc2s7CiAgICAgaW50IGRyeXJ1bjsKICAgICBpbnQgcXVpZXQ7CiAgICAgaW50IHZuYzsKZGlm ZiAtLWdpdCBhL3Rvb2xzL3hsL3hsX21pZ3JhdGUuYyBiL3Rvb2xzL3hsL3hsX21pZ3JhdGUuYwpp bmRleCAxZjBlODdkLi5mZWU3MjZmIDEwMDY0NAotLS0gYS90b29scy94bC94bF9taWdyYXRlLmMK KysrIGIvdG9vbHMveGwveGxfbWlncmF0ZS5jCkBAIC0xNzcsNyArMTc3LDggQEAgc3RhdGljIHZv aWQgbWlncmF0ZV9kb19wcmVhbWJsZShpbnQgc2VuZF9mZCwgaW50IHJlY3ZfZmQsIHBpZF90IGNo aWxkLAogfQogCiBzdGF0aWMgdm9pZCBtaWdyYXRlX2RvbWFpbih1aW50MzJfdCBkb21pZCwgY29u c3QgY2hhciAqcnVuZSwgaW50IGRlYnVnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqb3ZlcnJpZGVfY29uZmlnX2ZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICpvdmVycmlkZV9jb25maWdfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBtaXJyb3JfcWVtdV9kaXNrcywgY29uc3QgY2hhciogaG9zdG5hbWUpCiB7CiAg ICAgcGlkX3QgY2hpbGQgPSAtMTsKICAgICBpbnQgcmM7CkBAIC0yMDUsNyArMjA2LDkgQEAgc3Rh dGljIHZvaWQgbWlncmF0ZV9kb21haW4odWludDMyX3QgZG9taWQsIGNvbnN0IGNoYXIgKnJ1bmUs IGludCBkZWJ1ZywKIAogICAgIGlmIChkZWJ1ZykKICAgICAgICAgZmxhZ3MgfD0gTElCWExfU1VT UEVORF9ERUJVRzsKLSAgICByYyA9IGxpYnhsX2RvbWFpbl9zdXNwZW5kKGN0eCwgZG9taWQsIHNl bmRfZmQsIGZsYWdzLCBOVUxMKTsKKyAgICBpZihtaXJyb3JfcWVtdV9kaXNrcykKKyAgICAgICAg ZmxhZ3MgfD0gTElCWExfU1VTUEVORF9NSVJST1JfUUVNVV9ESVNLUzsKKyAgICByYyA9IGxpYnhs X2RvbWFpbl9zdXNwZW5kKGN0eCwgZG9taWQsIHNlbmRfZmQsIGZsYWdzLCBob3N0bmFtZSwgTlVM TCk7CiAgICAgaWYgKHJjKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAibWlncmF0aW9uIHNl bmRlcjogbGlieGxfZG9tYWluX3N1c3BlbmQgZmFpbGVkIgogICAgICAgICAgICAgICAgICIgKHJj PSVkKVxuIiwgcmMpOwpAQCAtMzE2LDcgKzMxOSw3IEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVfZG9t YWluKHVpbnQzMl90IGRvbWlkLCBjb25zdCBjaGFyICpydW5lLCBpbnQgZGVidWcsCiB9CiAKIHN0 YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUsIGludCBt b25pdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYXVzZV9hZnRlcl9taWdy YXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBhdXNlX2FmdGVyX21pZ3Jh dGlvbiwgaW50IG1pcnJvcl9xZW11X2Rpc2tzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBzZW5kX2ZkLCBpbnQgcmVjdl9mZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtIGNoZWNrcG9pbnRlZCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjaGFyICpjb2xvX3Byb3h5X3NjcmlwdCwKQEAgLTM0Myw2ICszNDYsNyBAQCBz dGF0aWMgdm9pZCBtaWdyYXRlX3JlY2VpdmUoaW50IGRlYnVnLCBpbnQgZGFlbW9uaXplLCBpbnQg bW9uaXRvciwKICAgICBkb21faW5mby5kYWVtb25pemUgPSBkYWVtb25pemU7CiAgICAgZG9tX2lu Zm8ubW9uaXRvciA9IG1vbml0b3I7CiAgICAgZG9tX2luZm8ucGF1c2VkID0gMTsKKyAgICBkb21f aW5mby5taXJyb3JfcWVtdV9kaXNrcyA9IG1pcnJvcl9xZW11X2Rpc2tzOwogICAgIGRvbV9pbmZv Lm1pZ3JhdGVfZmQgPSByZWN2X2ZkOwogICAgIGRvbV9pbmZvLnNlbmRfYmFja19mZCA9IHNlbmRf ZmQ7CiAgICAgZG9tX2luZm8ubWlncmF0aW9uX2RvbW5hbWVfciA9ICZtaWdyYXRpb25fZG9tbmFt ZTsKQEAgLTQyMyw2ICs0MjcsMTcgQEAgc3RhdGljIHZvaWQgbWlncmF0ZV9yZWNlaXZlKGludCBk ZWJ1ZywgaW50IGRhZW1vbml6ZSwgaW50IG1vbml0b3IsCiAKICAgICBmcHJpbnRmKHN0ZGVyciwg Im1pZ3JhdGlvbiB0YXJnZXQ6IEdvdCBwZXJtaXNzaW9uLCBzdGFydGluZyBkb21haW4uXG4iKTsK IAorICAgIGlmKG1pcnJvcl9xZW11X2Rpc2tzKXsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJt aWdyYXRpb24gdGFyZ2V0OiBTdG9wcGluZyBOQkQgc2VydmVyXG4iKTsKKyAgICAgICAgcmMgPSBs aWJ4bF9fbmJkX3NlcnZlcl9zdG9wKGN0eCwgZG9taWQpOworICAgICAgICBpZiAocmMpeworICAg ICAgICAgICAgcmMgPSAwOyAvL0ZvciBub3csIG1hc2sgdGhlIGVycm9yIGlmIE5CRCBzZXJ2ZXIg ZmFpbHMgdG8gc3RvcAorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc3Rv cCBOQkQgc2VydmVyXG4iKTsKKyAgICAgICAgfWVsc2V7CisgICAgICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgIlN0b3BwZWQgTkJEIHNlcnZlciBzdWNjZXNzZnVsbHlcbiIpOworICAgICAgICB9Cisg ICAgfQorCiAgICAgaWYgKG1pZ3JhdGlvbl9kb21uYW1lKSB7CiAgICAgICAgIHJjID0gbGlieGxf ZG9tYWluX3JlbmFtZShjdHgsIGRvbWlkLCBtaWdyYXRpb25fZG9tbmFtZSwgY29tbW9uX2RvbW5h bWUpOwogICAgICAgICBpZiAocmMpIGdvdG8gcGVyaGFwc19kZXN0cm95X25vdGlmeV9yYzsKQEAg LTQ3OCw2ICs0OTMsNyBAQCBzdGF0aWMgdm9pZCBtaWdyYXRlX3JlY2VpdmUoaW50IGRlYnVnLCBp bnQgZGFlbW9uaXplLCBpbnQgbW9uaXRvciwKIGludCBtYWluX21pZ3JhdGVfcmVjZWl2ZShpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiB7CiAgICAgaW50IGRlYnVnID0gMCwgZGFlbW9uaXplID0gMSwg bW9uaXRvciA9IDEsIHBhdXNlX2FmdGVyX21pZ3JhdGlvbiA9IDA7CisgICAgaW50IG1pcnJvcl9x ZW11X2Rpc2tzID0gMDsKICAgICBsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtIGNoZWNrcG9pbnRl ZCA9IExJQlhMX0NIRUNLUE9JTlRFRF9TVFJFQU1fTk9ORTsKICAgICBpbnQgb3B0OwogICAgIGJv b2wgdXNlcnNwYWNlX2NvbG9fcHJveHkgPSBmYWxzZTsKQEAgLTQ5MCw3ICs1MDYsNyBAQCBpbnQg bWFpbl9taWdyYXRlX3JlY2VpdmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBDT01N T05fTE9OR19PUFRTCiAgICAgfTsKIAotICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJGZWRy cCIsIG9wdHMsICJtaWdyYXRlLXJlY2VpdmUiLCAwKSB7CisgICAgU1dJVENIX0ZPUkVBQ0hfT1BU KG9wdCwgIkZlZHJwcSIsIG9wdHMsICJtaWdyYXRlLXJlY2VpdmUiLCAwKSB7CiAgICAgY2FzZSAn Ric6CiAgICAgICAgIGRhZW1vbml6ZSA9IDA7CiAgICAgICAgIGJyZWFrOwpAQCAtNTE2LDYgKzUz Miw5IEBAIGludCBtYWluX21pZ3JhdGVfcmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAg ICAgY2FzZSAncCc6CiAgICAgICAgIHBhdXNlX2FmdGVyX21pZ3JhdGlvbiA9IDE7CiAgICAgICAg IGJyZWFrOworICAgIGNhc2UgJ3EnOgorICAgICAgICBtaXJyb3JfcWVtdV9kaXNrcyA9IDE7Cisg ICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGlmIChhcmdjLW9wdGluZCAhPSAwKSB7CkBAIC01 MjMsNyArNTQyLDcgQEAgaW50IG1haW5fbWlncmF0ZV9yZWNlaXZlKGludCBhcmdjLCBjaGFyICoq YXJndikKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgICB9CiAgICAgbWlncmF0ZV9y ZWNlaXZlKGRlYnVnLCBkYWVtb25pemUsIG1vbml0b3IsIHBhdXNlX2FmdGVyX21pZ3JhdGlvbiwK LSAgICAgICAgICAgICAgICAgICAgU1RET1VUX0ZJTEVOTywgU1RESU5fRklMRU5PLAorICAgICAg ICAgICAgICAgICAgICBtaXJyb3JfcWVtdV9kaXNrcywgU1RET1VUX0ZJTEVOTywgU1RESU5fRklM RU5PLAogICAgICAgICAgICAgICAgICAgICBjaGVja3BvaW50ZWQsIHNjcmlwdCwgdXNlcnNwYWNl X2NvbG9fcHJveHkpOwogCiAgICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKQEAgLTUzNiwxNCArNTU1 LDE2IEBAIGludCBtYWluX21pZ3JhdGUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGNvbnN0 IGNoYXIgKnNzaF9jb21tYW5kID0gInNzaCI7CiAgICAgY2hhciAqcnVuZSA9IE5VTEw7CiAgICAg Y2hhciAqaG9zdDsKKyAgICBjaGFyICpob3N0bmFtZTsKICAgICBpbnQgb3B0LCBkYWVtb25pemUg PSAxLCBtb25pdG9yID0gMSwgZGVidWcgPSAwLCBwYXVzZV9hZnRlcl9taWdyYXRpb24gPSAwOwor ICAgIGludCBtaXJyb3JfcWVtdV9kaXNrcyA9IDA7CiAgICAgc3RhdGljIHN0cnVjdCBvcHRpb24g b3B0c1tdID0gewogICAgICAgICB7ImRlYnVnIiwgMCwgMCwgMHgxMDB9LAogICAgICAgICB7Imxp dmUiLCAwLCAwLCAweDIwMH0sCiAgICAgICAgIENPTU1PTl9MT05HX09QVFMKICAgICB9OwogCi0g ICAgU1dJVENIX0ZPUkVBQ0hfT1BUKG9wdCwgIkZDOnM6ZXAiLCBvcHRzLCAibWlncmF0ZSIsIDIp IHsKKyAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAiRkM6czplcHEiLCBvcHRzLCAibWlncmF0 ZSIsIDIpIHsKICAgICBjYXNlICdDJzoKICAgICAgICAgY29uZmlnX2ZpbGVuYW1lID0gb3B0YXJn OwogICAgICAgICBicmVhazsKQEAgLTU2MCw2ICs1ODEsOSBAQCBpbnQgbWFpbl9taWdyYXRlKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICAgICBjYXNlICdwJzoKICAgICAgICAgcGF1c2VfYWZ0ZXJf bWlncmF0aW9uID0gMTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSAncSc6CisgICAgICAgIG1p cnJvcl9xZW11X2Rpc2tzID0gMTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSAweDEwMDogLyog LS1kZWJ1ZyAqLwogICAgICAgICBkZWJ1ZyA9IDE7CiAgICAgICAgIGJyZWFrOwpAQCAtNTcxLDYg KzU5NSw5IEBAIGludCBtYWluX21pZ3JhdGUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGRv bWlkID0gZmluZF9kb21haW4oYXJndltvcHRpbmRdKTsKICAgICBob3N0ID0gYXJndltvcHRpbmQg KyAxXTsKIAorICAgIGhvc3RuYW1lID0gc3RyY2hyKGhvc3QsICdAJyk7CisgICAgaG9zdG5hbWUr KzsKKwogICAgIGJvb2wgcGFzc190dHlfYXJnID0gcHJvZ3Jlc3NfdXNlX2NyIHx8IChpc2F0dHko MikgPiAwKTsKIAogICAgIGlmICghc3NoX2NvbW1hbmRbMF0pIHsKQEAgLTU4NywxNiArNjE0LDE4 IEBAIGludCBtYWluX21pZ3JhdGUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICB9IGVs c2UgewogICAgICAgICAgICAgdmVyYm9zZV9sZW4gPSAobWlubXNnbGV2ZWxfZGVmYXVsdCAtIG1p bm1zZ2xldmVsKSArIDI7CiAgICAgICAgIH0KLSAgICAgICAgeGFzcHJpbnRmKCZydW5lLCAiZXhl YyAlcyAlcyB4bCVzJS4qcyBtaWdyYXRlLXJlY2VpdmUlcyVzJXMiLAorICAgICAgICB4YXNwcmlu dGYoJnJ1bmUsICJleGVjICVzICVzIHhsJXMlLipzIG1pZ3JhdGUtcmVjZWl2ZSVzJXMlcyVzIiwK ICAgICAgICAgICAgICAgICAgIHNzaF9jb21tYW5kLCBob3N0LAogICAgICAgICAgICAgICAgICAg cGFzc190dHlfYXJnID8gIiAtdCIgOiAiIiwKICAgICAgICAgICAgICAgICAgIHZlcmJvc2VfbGVu LCB2ZXJib3NlX2J1ZiwKICAgICAgICAgICAgICAgICAgIGRhZW1vbml6ZSA/ICIiIDogIiAtZSIs CiAgICAgICAgICAgICAgICAgICBkZWJ1ZyA/ICIgLWQiIDogIiIsCi0gICAgICAgICAgICAgICAg ICBwYXVzZV9hZnRlcl9taWdyYXRpb24gPyAiIC1wIiA6ICIiKTsKKyAgICAgICAgICAgICAgICAg IHBhdXNlX2FmdGVyX21pZ3JhdGlvbiA/ICIgLXAiIDogIiIsCisgICAgICAgICAgICAgICAgICBt aXJyb3JfcWVtdV9kaXNrcyA/ICItcSIgOiIiKTsKICAgICB9CiAKLSAgICBtaWdyYXRlX2RvbWFp bihkb21pZCwgcnVuZSwgZGVidWcsIGNvbmZpZ19maWxlbmFtZSk7CisgICAgbWlncmF0ZV9kb21h aW4oZG9taWQsIHJ1bmUsIGRlYnVnLCBjb25maWdfZmlsZW5hbWUsIG1pcnJvcl9xZW11X2Rpc2tz LAorICAgICAgICAgICAgICAgICAgIGhvc3RuYW1lKTsKICAgICByZXR1cm4gRVhJVF9TVUNDRVNT OwogfQogCmRpZmYgLS1naXQgYS90b29scy94bC94bF9zYXZlcmVzdG9yZS5jIGIvdG9vbHMveGwv eGxfc2F2ZXJlc3RvcmUuYwppbmRleCA5YWZlYWRlLi5iMTY3OWJhIDEwMDY0NAotLS0gYS90b29s cy94bC94bF9zYXZlcmVzdG9yZS5jCisrKyBiL3Rvb2xzL3hsL3hsX3NhdmVyZXN0b3JlLmMKQEAg LTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMgaW50IHNhdmVfZG9tYWluKHVpbnQzMl90IGRvbWlkLCBj b25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGNoZWNrcG9pbnQsCiAKICAgICBzYXZlX2RvbWFpbl9j b3JlX3dyaXRlY29uZmlnKGZkLCBmaWxlbmFtZSwgY29uZmlnX2RhdGEsIGNvbmZpZ19sZW4pOwog Ci0gICAgaW50IHJjID0gbGlieGxfZG9tYWluX3N1c3BlbmQoY3R4LCBkb21pZCwgZmQsIDAsIE5V TEwpOworICAgIGludCByYyA9IGxpYnhsX2RvbWFpbl9zdXNwZW5kKGN0eCwgZG9taWQsIGZkLCAw LCBOVUxMLCBOVUxMKTsKICAgICBjbG9zZShmZCk7CiAKICAgICBpZiAocmMgPCAwKSB7CmRpZmYg LS1naXQgYS90b29scy94bC94bF92bWNvbnRyb2wuYyBiL3Rvb2xzL3hsL3hsX3ZtY29udHJvbC5j CmluZGV4IDg5YzJiMjUuLjQ3ZWM1NDYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX3ZtY29udHJv bC5jCisrKyBiL3Rvb2xzL3hsL3hsX3ZtY29udHJvbC5jCkBAIC04ODIsOCArODgyLDkgQEAgc3Rh cnQ6CiAKICAgICAgICAgcmV0ID0gbGlieGxfZG9tYWluX2NyZWF0ZV9yZXN0b3JlKGN0eCwgJmRf Y29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWlk LCByZXN0b3JlX2ZkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VuZF9iYWNrX2ZkLCAmcGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMCwgYXV0b2Nvbm5lY3RfY29uc29sZV9ob3cpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VuZF9iYWNrX2ZkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZG9tX2luZm8tPm1pcnJvcl9xZW11X2Rpc2tzLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBhcmFtcywgMCwgYXV0b2Nv bm5lY3RfY29uc29sZV9ob3cpOwogCiAgICAgICAgIGxpYnhsX2RvbWFpbl9yZXN0b3JlX3BhcmFt c19kaXNwb3NlKCZwYXJhbXMpOwogCi0tIAoyLjMuMiAoQXBwbGUgR2l0LTU1KQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=