From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH RFC v3 RESEND 11/12] Migration with Local Disks Mirroring: libxl write stream support for stream phase type Date: Sat, 23 Dec 2017 14:03:35 +0000 Message-ID: <1514037816-40864-12-git-send-email-bruno.alvisio@gmail.com> References: <1514037816-40864-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: <1514037816-40864-1-git-send-email-bruno.alvisio@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org, wei.liu2@citrix.com, dave@recoil.org, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org VGhlIGxpYnhsIHN0cmVhbSB3cml0ZSByZWNlaXZlcyBzdHJlYW0gcGhhc2UgdHlwZSAoREVGQVVM VCwgUFJFX01JUlJPUl9ESVNLUyBvcgpQT1NUX01JUlJPUl9ESVNLUykgYW5kIHJlZ2lzdGVycyB0 aGUgYXBwcm9waWF0ZSBjYWxsYmFjayB0byB0aGUKbGlieGxfc2F2ZV9oZWxwZXIuIElmIHRoZSBz dHJlYW0gcGhhc2UgPT0gUFJFX01JUlJPUl9ESVNLUyB0aGUgc3RyZWFtIHNraXBzCndyaXRpbmcg dGhlIGNvbnRleHQgcmVjb3JkIHNpbmNlIGl0IGlzIHdyaXR0ZW4gYXQgYSBsYXRlciB0aW1lIGJ5 IHRoZQpQT1NUX01JUlJPUl9ESVNLUyBsaWJ4bCBzdHJlYW0uCgpTaWduZWQtb2ZmLWJ5OiBCcnVu byBBbHZpc2lvIDxicnVuby5hbHZpc2lvQGdtYWlsLmNvbT4KLS0tCiB0b29scy9saWJ4Yy9pbmNs dWRlL3hlbmd1ZXN0LmggICB8ICAzICstCiB0b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYyAgICAg ICB8ICAzICstCiB0b29scy9saWJ4Yy94Y19zcl9zYXZlLmMgICAgICAgICB8ICAzICstCiB0b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICB8IDEyICsrKysrLS0KIHRvb2xzL2xpYnhsL2xp YnhsX3NhdmVfY2FsbG91dC5jIHwgMTAgKysrKy0tCiB0b29scy9saWJ4bC9saWJ4bF9zYXZlX2hl bHBlci5jICB8ICAzICstCiB0b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyB8IDY3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwg NzMgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGMvaW5jbHVkZS94ZW5ndWVzdC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5ndWVzdC5oCmlu ZGV4IDAxNGRlZTAuLjc0MzI5NGIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVu Z3Vlc3QuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmd1ZXN0LmgKQEAgLTEzNCw3ICsx MzQsOCBAQCB0eXBlZGVmIGVudW0gewogaW50IHhjX2RvbWFpbl9zYXZlKHhjX2ludGVyZmFjZSAq eGNoLCBpbnQgaW9fZmQsIHVpbnQzMl90IGRvbSwKICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBmbGFncyAvKiBYQ0ZMQUdTX3h4eCAqLywKICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2F2 ZV9jYWxsYmFja3MqIGNhbGxiYWNrcywgaW50IGh2bSwKLSAgICAgICAgICAgICAgICAgICB4Y19t aWdyYXRpb25fc3RyZWFtX3Qgc3RyZWFtX3R5cGUsIGludCByZWN2X2ZkKTsKKyAgICAgICAgICAg ICAgICAgICB4Y19taWdyYXRpb25fc3RyZWFtX3Qgc3RyZWFtX3R5cGUsIGludCByZWN2X2ZkLAor ICAgICAgICAgICAgICAgICAgIGludCBzdHJlYW1fcGhhc2UpOwogCiAvKiBjYWxsYmFja3MgcHJv dmlkZWQgYnkgeGNfZG9tYWluX3Jlc3RvcmUgKi8KIHN0cnVjdCByZXN0b3JlX2NhbGxiYWNrcyB7 CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYyBiL3Rvb2xzL2xpYnhjL3hj X25vbWlncmF0ZS5jCmluZGV4IDc1ZmU1NjAuLmFiMmQ3NDQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhjL3hjX25vbWlncmF0ZS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX25vbWlncmF0ZS5jCkBAIC0y Miw3ICsyMiw4IEBACiAKIGludCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50 IGlvX2ZkLCB1aW50MzJfdCBkb20sIHVpbnQzMl90IGZsYWdzLAogICAgICAgICAgICAgICAgICAg IHN0cnVjdCBzYXZlX2NhbGxiYWNrcyogY2FsbGJhY2tzLCBpbnQgaHZtLAotICAgICAgICAgICAg ICAgICAgIHhjX21pZ3JhdGlvbl9zdHJlYW1fdCBzdHJlYW1fdHlwZSwgaW50IHJlY3ZfZmQpCisg ICAgICAgICAgICAgICAgICAgeGNfbWlncmF0aW9uX3N0cmVhbV90IHN0cmVhbV90eXBlLCBpbnQg cmVjdl9mZCwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3RyZWFtX3BoYXNlKQogewogICAgIGVy cm5vID0gRU5PU1lTOwogICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hj X3NyX3NhdmUuYyBiL3Rvb2xzL2xpYnhjL3hjX3NyX3NhdmUuYwppbmRleCA1YTQwZTU4Li5iNzQ5 OGUzIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9zYXZlLmMKKysrIGIvdG9vbHMvbGli eGMveGNfc3Jfc2F2ZS5jCkBAIC05NjcsNyArOTY3LDggQEAgc3RhdGljIGludCBzYXZlKHN0cnVj dCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0X3R5cGUpCiAKIGludCB4Y19kb21h aW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGlvX2ZkLCB1aW50MzJfdCBkb20sCiAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZmxhZ3MsIHN0cnVjdCBzYXZlX2NhbGxiYWNrcyogY2Fs bGJhY2tzLAotICAgICAgICAgICAgICAgICAgIGludCBodm0sIHhjX21pZ3JhdGlvbl9zdHJlYW1f dCBzdHJlYW1fdHlwZSwgaW50IHJlY3ZfZmQpCisgICAgICAgICAgICAgICAgICAgaW50IGh2bSwg eGNfbWlncmF0aW9uX3N0cmVhbV90IHN0cmVhbV90eXBlLCBpbnQgcmVjdl9mZCwKKyAgICAgICAg ICAgICAgICAgICBpbnQgc3RyZWFtX3BoYXNlKQogewogICAgIHN0cnVjdCB4Y19zcl9jb250ZXh0 IGN0eCA9CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFs LmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDBhMzIxNWYuLjMyMGM5N2Qg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzc5OSwxMiArMzc5OSwxOCBAQCBfaGlkZGVuIHZvaWQg bGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywKIC8qIGNhbGxzIGxpYnhsX194Y19k b21haW5fc3VzcGVuZF9kb25lIHdoZW4gZG9uZSAqLwogX2hpZGRlbiB2b2lkIGxpYnhsX194Y19k b21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hz LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyZWFtX3BoYXNlKTsK IC8qIElmIHJjPT0wIHRoZW4gcmV0dmFsIGlzIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB4Y19kb21h aW5fc2F2ZQogICogYW5kIGVycm5vdmFsIGlzIHRoZSBlcnJubyB2YWx1ZSBpdCBwcm92aWRlZC4K ICAqIElmIHJjIT0wLCByZXR2YWwgYW5kIGVycm5vdmFsIGFyZSB1bmRlZmluZWQuICovCi1faGlk ZGVuIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUobGlieGxfX2VnYyosIHZvaWQgKmRz c192b2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYywg aW50IHJldHZhbCwgaW50IGVycm5vdmFsKTsKK19oaWRkZW4gdm9pZCBsaWJ4bF9feGNfZG9tYWlu X3NhdmVfcmV0dXJuZWQobGlieGxfX2VnYyosIHZvaWQgKmRzc192b2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMsIGludCByZXR2YWwsIGludCBl cnJub3ZhbCk7CisKK19oaWRkZW4gdm9pZCBsaWJ4bF9feGNfbWlycm9yX2Rpc2tzX3NhdmVfcmV0 dXJuZWQobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2b2lkICpkc3Nfdm9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjLCBpbnQgcmV0dmFsLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXJybm92YWwpOwog CiAvKiBVc2VkIGJ5IGFzeW5jaHJvbm91cyBjYWxsYmFja3M6IGllIG9uZXMgd2hpY2ggeGMgcmVn YXJkcyBhcwogICogcmV0dXJuaW5nIGEgdmFsdWUsIGJ1dCB3aGljaCB3ZSB3YW50IHRvIGhhbmRs ZSBhc3luY2hyb25vdXNseS4KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2Fs bG91dC5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKaW5kZXggMGZmOWEwMS4u MDkwZDUwYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKQEAgLTg2LDcgKzg2LDcgQEAgdm9p ZCBsaWJ4bF9feGNfZG9tYWluX3Jlc3RvcmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWlu X2NyZWF0ZV9zdGF0ZSAqZGNzLAogfQogCiB2b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZShsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocywgaW50IHN0cmVh bV9waGFzZSkKIHsKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApAQCAtOTUsMTMgKzk1LDE3 IEBAIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Rv bWFpbl9zYXZlX3N0YXRlICpkc3MsCiAKICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGFyZ251bXNb XSA9IHsKICAgICAgICAgZHNzLT5kb21pZCwgZHNzLT54Y2ZsYWdzLCBkc3MtPmh2bSwgY2JmbGFn cywKLSAgICAgICAgZHNzLT5jaGVja3BvaW50ZWRfc3RyZWFtLAorICAgICAgICBkc3MtPmNoZWNr cG9pbnRlZF9zdHJlYW0sIHN0cmVhbV9waGFzZSwKICAgICB9OwogCiAgICAgc2hzLT5hbyA9IGFv OwogICAgIHNocy0+ZG9taWQgPSBkc3MtPmRvbWlkOwogICAgIHNocy0+cmVjdl9jYWxsYmFjayA9 IGxpYnhsX19zcm1fY2FsbG91dF9yZWNlaXZlZF9zYXZlOwotICAgIHNocy0+Y29tcGxldGlvbl9j YWxsYmFjayA9IGxpYnhsX194Y19kb21haW5fc2F2ZV9kb25lOworICAgIGlmICggc3RyZWFtX3Bo YXNlICE9IExJQlhMX1NUUkVBTV9QSEFTRV9QUkVfTUlSUk9SX0RJU0tTICkKKyAgICAgICAgc2hz LT5jb21wbGV0aW9uX2NhbGxiYWNrID0gbGlieGxfX3hjX2RvbWFpbl9zYXZlX3JldHVybmVkOwor ICAgIGVsc2UKKyAgICAgICAgc2hzLT5jb21wbGV0aW9uX2NhbGxiYWNrID0gbGlieGxfX3hjX21p cnJvcl9kaXNrc19zYXZlX3JldHVybmVkOworCiAgICAgc2hzLT5jYWxsZXJfc3RhdGUgPSBkc3M7 CiAgICAgc2hzLT5uZWVkX3Jlc3VsdHMgPSAwOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF9zYXZlX2hlbHBlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9oZWxwZXIuYwppbmRl eCBmMWU4ZGNhLi41M2I0ZDc4IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zYXZlX2hl bHBlci5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfaGVscGVyLmMKQEAgLTI1NSw2ICsy NTUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIGludCBodm0g PSAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0b2koTkVYVEFSRyk7CiAgICAgICAgIHVuc2ln bmVkIGNiZmxhZ3MgPSAgICAgICAgICAgICAgICAgIHN0cnRvdWwoTkVYVEFSRywwLDEwKTsKICAg ICAgICAgeGNfbWlncmF0aW9uX3N0cmVhbV90IHN0cmVhbV90eXBlID0gc3RydG91bChORVhUQVJH LDAsMTApOworICAgICAgICBpbnQgc3RyZWFtX3BoYXNlID0gICAgICAgICAgICAgICAgICBhdG9p KE5FWFRBUkcpOwogICAgICAgICBhc3NlcnQoISorK2FyZ3YpOwogCiAgICAgICAgIGhlbHBlcl9z ZXRjYWxsYmFja3Nfc2F2ZSgmaGVscGVyX3NhdmVfY2FsbGJhY2tzLCBjYmZsYWdzKTsKQEAgLTI2 Myw3ICsyNjQsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIHNl dHVwX3NpZ25hbHMoc2F2ZV9zaWduYWxfaGFuZGxlcik7CiAKICAgICAgICAgciA9IHhjX2RvbWFp bl9zYXZlKHhjaCwgaW9fZmQsIGRvbSwgZmxhZ3MsICZoZWxwZXJfc2F2ZV9jYWxsYmFja3MsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICBodm0sIHN0cmVhbV90eXBlLCByZWN2X2ZkKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIGh2bSwgc3RyZWFtX3R5cGUsIHJlY3ZfZmQsIHN0cmVh bV9waGFzZSk7CiAgICAgICAgIGNvbXBsZXRlKHIpOwogCiAgICAgfSBlbHNlIGlmICghc3RyY21w KG1vZGUsIi0tcmVzdG9yZS1kb21haW4iKSkgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfc3RyZWFtX3dyaXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYwppbmRl eCA2MzRmMzI0Li4wZmYwOTZhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1f d3JpdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYwpAQCAtMzMwLDMx ICszMzAsNDMgQEAgc3RhdGljIHZvaWQgc3RyZWFtX2hlYWRlcl9kb25lKGxpYnhsX19lZ2MgKmVn YywKIHN0YXRpYyB2b2lkIGxpYnhjX2hlYWRlcl9kb25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVh bSkKIHsKLSAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmUoZWdjLCBzdHJlYW0tPmRzcywgJnN0cmVh bS0+c2hzKTsKKyAgICBpbnQgc2F2ZV9taXJyb3JfZGlza3MgPSBzdHJlYW0tPmRzcy0+bWlycm9y X2Rpc2tzOworICAgIGxpYnhsX194Y19kb21haW5fc2F2ZShlZ2MsIHN0cmVhbS0+ZHNzLCAmc3Ry ZWFtLT5zaHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVfbWlycm9yX2Rpc2tzICsg c3RyZWFtLT5taXJyb3JfZGlza3MpOwogfQogCi12b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZV9k b25lKGxpYnhsX19lZ2MgKmVnYywgdm9pZCAqZHNzX3ZvaWQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCByYywgaW50IHJldHZhbCwgaW50IGVycm5vdmFsKQorc3RhdGljIHZv aWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkc3Nf dm9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJl YW1fd3JpdGVfc3RhdGUgKnN0cmVhbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCByYywgaW50IHJldHZhbCwgaW50IGVycm5vdmFsKQogewogICAgIGxpYnhsX19k b21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gZHNzX3ZvaWQ7Ci0gICAgbGlieGxfX3N0cmVhbV93cml0 ZV9zdGF0ZSAqc3RyZWFtID0gJmRzcy0+c3dzOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwog CiAgICAgaWYgKHJjKQogICAgICAgICBnb3RvIGVycjsKIAogICAgIGlmIChyZXR2YWwpIHsKLSAg ICAgICAgTE9HRVZEKEVSUk9SLCBlcnJub3ZhbCwgZHNzLT5kb21pZCwgInNhdmluZyBkb21haW46 ICVzIiwKLSAgICAgICAgICAgICAgZHNzLT5kc3BzLmd1ZXN0X3Jlc3BvbmRlZCA/Ci0gICAgICAg ICAgICAgICJkb21haW4gcmVzcG9uZGVkIHRvIHN1c3BlbmQgcmVxdWVzdCIgOgotICAgICAgICAg ICAgICAiZG9tYWluIGRpZCBub3QgcmVzcG9uZCB0byBzdXNwZW5kIHJlcXVlc3QiKTsKLSAgICAg ICAgaWYgKCFkc3MtPmRzcHMuZ3Vlc3RfcmVzcG9uZGVkKQotICAgICAgICAgICAgcmMgPSBFUlJP Ul9HVUVTVF9USU1FRE9VVDsKLSAgICAgICAgZWxzZSBpZiAoZHNzLT5yYykKLSAgICAgICAgICAg IHJjID0gZHNzLT5yYzsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmMgPSBFUlJPUl9GQUlM OwotICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgaWYgKCFzdHJlYW0tPm1pcnJvcl9kaXNrcykg eworICAgICAgICAgICAgTE9HRVZEKEVSUk9SLCBlcnJub3ZhbCwgZHNzLT5kb21pZCwgInNhdmlu ZyBkb21haW46ICVzIiwKKyAgICAgICAgICAgICAgICAgICBkc3MtPmRzcHMuZ3Vlc3RfcmVzcG9u ZGVkID8KKyAgICAgICAgICAgICAgICAgICAiZG9tYWluIHJlc3BvbmRlZCB0byBzdXNwZW5kIHJl cXVlc3QiIDoKKyAgICAgICAgICAgICAgICAgICAiZG9tYWluIGRpZCBub3QgcmVzcG9uZCB0byBz dXNwZW5kIHJlcXVlc3QiKTsKKyAgICAgICAgICAgIGlmICghZHNzLT5kc3BzLmd1ZXN0X3Jlc3Bv bmRlZCkKKyAgICAgICAgICAgICAgICByYyA9IEVSUk9SX0dVRVNUX1RJTUVET1VUOworICAgICAg ICAgICAgZWxzZSBpZiAoZHNzLT5yYykKKyAgICAgICAgICAgICAgICByYyA9IGRzcy0+cmM7Cisg ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAg ICAgICAgZ290byBlcnI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBMT0dFVkQoRVJS T1IsIGVycm5vdmFsLCBkc3MtPmRvbWlkLCAic2F2aW5nIGRvbWFpbjogRXJyb3Igb2NjdXJyZWQg IgorICAgICAgICAgICAgICAgICAgICJpbiBsaWJ4YyBwcmUgbWlycm9yIHBoYXNlIHN0cmVhbSIp OworICAgICAgICAgICAgaWYgKGRzcy0+cmMpCisgICAgICAgICAgICAgICAgcmMgPSBkc3MtPnJj OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAg ICAgICAgICAgIGdvdG8gZXJyOworICAgICAgICB9CiAgICAgfQogCiAgZXJyOgpAQCAtMzgwLDYg KzM5MiwyMiBAQCB2b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVn Yywgdm9pZCAqZHNzX3ZvaWQsCiAgICAgfQogfQogCit2b2lkIGxpYnhsX194Y19taXJyb3JfZGlz a3Nfc2F2ZV9yZXR1cm5lZChsaWJ4bF9fZWdjICplZ2MsIHZvaWQgKmRzc192b2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjLCBpbnQgcmV0dmFsLCBp bnQgZXJybm92YWwpCit7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBkc3Nf dm9pZDsKKyAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzdHJlYW0gPSAmZHNzLT5zd3Nf bWlycm9yX2Rpc2tzOworICAgIGxpYnhsX194Y19kb21haW5fc2F2ZV9kb25lKGVnYywgZHNzX3Zv aWQsIHN0cmVhbSwgcmMsIHJldHZhbCwgZXJybm92YWwpOworfQorCit2b2lkIGxpYnhsX194Y19k b21haW5fc2F2ZV9yZXR1cm5lZChsaWJ4bF9fZWdjICplZ2MsIHZvaWQgKmRzc192b2lkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjLCBpbnQgcmV0dmFsLCBpbnQg ZXJybm92YWwpCit7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBkc3Nfdm9p ZDsKKyAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzdHJlYW0gPSAmZHNzLT5zd3M7Cisg ICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUoZWdjLCBkc3Nfdm9pZCwgc3RyZWFtLCByYywg cmV0dmFsLCBlcnJub3ZhbCk7Cit9CisKIHN0YXRpYyB2b2lkIHdyaXRlX2VtdWxhdG9yX3hlbnN0 b3JlX3JlY29yZChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3RyZWFtKQogewpAQCAt NDI0LDkgKzQ1MiwxMiBAQCBzdGF0aWMgdm9pZCBlbXVsYXRvcl94ZW5zdG9yZV9yZWNvcmRfZG9u ZShsaWJ4bF9fZWdjICplZ2MsCiB7CiAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3Mg PSBzdHJlYW0tPmRzczsKIAotICAgIGlmIChkc3MtPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVf SFZNKQotICAgICAgICB3cml0ZV9lbXVsYXRvcl9jb250ZXh0X3JlY29yZChlZ2MsIHN0cmVhbSk7 Ci0gICAgZWxzZSB7CisgICAgaWYgKGRzcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0p IHsKKyAgICAgICAgaWYgKCFzdHJlYW0tPm1pcnJvcl9kaXNrcykKKyAgICAgICAgICAgIHdyaXRl X2VtdWxhdG9yX2NvbnRleHRfcmVjb3JkKGVnYywgc3RyZWFtKTsKKyAgICAgICAgZWxzZQorICAg ICAgICAgICAgd3JpdGVfZW5kX3JlY29yZChlZ2MsIHN0cmVhbSk7CisgICAgfSBlbHNlIHsKICAg ICAgICAgaWYgKHN0cmVhbS0+aW5fY2hlY2twb2ludCkKICAgICAgICAgICAgIHdyaXRlX2NoZWNr cG9pbnRfZW5kX3JlY29yZChlZ2MsIHN0cmVhbSk7CiAgICAgICAgIGVsc2UKLS0gCjIuMy4yIChB cHBsZSBHaXQtNTUpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZl bA==