From: marko.makela Date: August 10 2010 10:23am Subject: bzr push into mysql-trunk-innodb branch (marko.makela:3150 to 3151) Bug#54914 List-Archive: http://lists.mysql.com/commits/115436 X-Bug: 54914 Message-Id: <201008101023.o7A9ogje021655@rcsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0696282076==" --===============0696282076== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline IDMxNTEgTWFya28gTcOka2Vsw6QJMjAxMC0wOC0xMAogICAgICBCdWcjNTQ5MTQ6IElubm9EQjog cGVyZm9ybWFuY2UgZHJvcCB3aXRoIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nPWFsbAogICAgICAK ICAgICAgUmVkdWNlIGlidWZfbXV0ZXggYW5kIGlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0X211dGV4 IGNvbnRlbnRpb24gZnVydGhlci4KICAgICAgCiAgICAgIFByb3RlY3QgaWJ1Zi0+ZW1wdHkgYnkg dGhlIGluc2VydCBidWZmZXIgcm9vdCBwYWdlIGxhdGNoLCBub3QgaWJ1Zl9tdXRleC4KICAgICAg CiAgICAgIGlidWZfdHJlZV9yb290X2dldCgpOiBBc3NlcnQgdGhhdCBpYnVmX211dGV4IGlzIG93 bmVkIGJ5IHRoZQogICAgICBjYWxsZXIuIEFzc2VydCB0aGF0IHRoZSBzdGFtcGVkIHBhZ2UgbnVt YmVyIGlzIGNvcnJlY3QuIEFzc2VydCB0aGF0CiAgICAgIGlidWYtPmVtcHR5IGFncmVlcyB3aXRo IHRoZSByb290IHBhZ2UuCiAgICAgIAogICAgICBpYnVmX3NpemVfdXBkYXRlKCk6IERvIG5vdCB1 cGRhdGUgaWJ1Zi0+ZW1wdHkuCiAgICAgIAogICAgICBpYnVmX2luaXRfYXRfZGJfc3RhcnQoKTog VXBkYXRlIGlidWYtPmVtcHR5IHdoaWxlIGhvbGRpbmcgdGhlIHJvb3QgcGFnZSBsYXRjaC4KICAg ICAgCiAgICAgIGlidWZfYWRkX2ZyZWVfcGFnZSgpOiBSZXR1cm4gVFJVRS9GQUxTRSBpbnN0ZWFk IG9mIERCX1NVQ0NFU1MvREJfU1RST05HX0ZBSUwuCiAgICAgIAogICAgICBpYnVmX3JlbW92ZV9m cmVlX3BhZ2UoKTogUmVsZWFzZSBpYnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCBhcwogICAg ICBlYXJseSBhcyBwb3NzaWJsZS4KICAgICAgCiAgICAgIGlidWZfY29udHJhY3RfZXh0KCk6IFJl bHkgb24gYSBkaXJ0eSByZWFkIG9mIGlidWYtPmVtcHR5LCB1bmxlc3MgdGhlCiAgICAgIHNlcnZl ciBpcyBiZWluZyBzaHV0IGRvd24uIE5ldmVyIGFjcXVpcmUgaWJ1Zl9tdXRleC4gRWxpbWluYXRl IG5fc3RvcmVkLgogICAgICAKICAgICAgaWJ1Zl9jb250cmFjdF9hZnRlcl9pbnNlcnQoKTogTmV2 ZXIgYWNxdWlyZSBpYnVmX211dGV4LiBQZXJmb3JtIGRpcnR5CiAgICAgIHJlYWRzIG9mIGlidWYt PnNpemUgYW5kIGlidWYtPm1heF9zaXplLgogICAgICAKICAgICAgaWJ1Zl9pbnNlcnRfbG93KCk6 IE9ubHkgYWNxdWlyZSBpYnVmX211dGV4IGZvciBtb2RlPT1CVFJfTU9ESUZZX1RSRUUuCiAgICAg IFBlcmZvcm0gZGlydHkgcmVhZHMgb2YgaWJ1Zi0+c2l6ZSBhbmQgaWJ1Zi0+bWF4X3NpemUuIFVw ZGF0ZQogICAgICBpYnVmLT5lbXB0eSB3aGlsZSBob2xkaW5nIHRoZSByb290IHBhZ2UgbGF0Y2gu CiAgICAgIAogICAgICBpYnVmX2RlbGV0ZV9yZWMoKTogVXBkYXRlIGlidWYtPmVtcHR5IHdoaWxl IGhvbGRpbmcgdGhlIHJvb3QgcGFnZSBsYXRjaC4KICAgICAgCiAgICAgIGlidWZfaXNfZW1wdHko KTogUmVsZWFzZSBpYnVmX211dGV4IGVhcmxpZXIuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3Jh Z2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvaWJ1ZjBpYnVmLmljCiAzMTUwIE1hcmtvIE3DpGtlbMOkCTIwMTAtMDgtMDkKICAgICAgUmVk dWNlIHRoZSBpYnVmX211dGV4IGhvbGQgdGltZS4gVGhpcyBkb2VzIG5vdCBmaXggdGhlIHVwZGF0 ZQogICAgICByZWdyZXNzaW9uIGluIEJ1ZyAjNTQ5MTQsIGJ1dCBpdCBkb2VzIHNwZWVkIHVwIHRo ZSBleGVjdXRpb24gZm9yCiAgICAgIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nPWluc2VydHMuCiAg ICAgIAogICAgICBpYnVmX2FkZF9vcHMoKSwgaWJ1Zl9tZXJnZV9vcl9kZWxldGVfZm9yX3BhZ2Uo KSwKICAgICAgaWJ1Zl9kZWxldGVfZm9yX2Rpc2NhcmRlZF9zcGFjZSgpOiBVc2UgYXRvbWljIGJ1 aWx0LWlucyBpbnN0ZWFkIG9mCiAgICAgIGlidWZfbXV0ZXgsIHdoZW4gYXZhaWxhYmxlLgogICAg ICAKICAgICAgaWJ1Zl9hZGRfZnJlZV9wYWdlKCksIGlidWZfcmVtb3ZlX2ZyZWVfcGFnZSgpLCBp YnVmX2NvbnRyYWN0X2V4dCgpOgogICAgICBSZWxlYXNlIGlidWZfbXV0ZXggZWFybGllci4KICAg ICAgCiAgICAgIGlidWZfZnJlZV9leGNlc3NfcGFnZXMoKTogUmVsZWFzZSBpYnVmX211dGV4IGJl Zm9yZSBhIGNvbmRpdGlvbmFsIGJyYW5jaC4KICAgICAgCiAgICAgIGlidWZfaW5zZXJ0X2xvdygp OiBSZWxlYXNlIGlidWZfbXV0ZXggYmVmb3JlIGEgY29uZGl0aW9uYWwKICAgICAgYnJhbmNoLiBD cmVhdGUgaWJ1Zl9lbnRyeSBiZWZvcmUgcmUtYWNxdWlyaW5nIGlidWZfbXV0ZXguIFNpbXBsaWZ5 IGEKICAgICAgbG9vcCB0byByZWR1Y2UgY29kZSBmb290cHJpbnQuIFJlbGVhc2UgaWJ1Zl9tdXRl eCBiZWZvcmUgbXRyX2NvbW1pdCgpCiAgICAgIFtidHJfcGN1cl9jbG9zZSgpXS4KICAgICAgCiAg ICAgIGlidWZfaXNfZW1wdHkoKTogUmVsZWFzZSBpYnVmX211dGV4IGJlZm9yZSBtdHJfY29tbWl0 KCkuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYu Ywo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jJwot LS0gYS9zdG9yYWdlL2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmMJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMDA4MDkwODU4MzctczFuZng2Z2pmN2w2dHRhYgorKysgYi9zdG9yYWdl L2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20t MjAxMDA4MTAxMDIyNDgteHJkamllMmRlNHI5aDNlZApAQCAtNTUsNiArNTUsNyBAQCBDcmVhdGVk IDcvMTkvMTk5NyBIZWlra2kgVHV1cmkKICNpbmNsdWRlICJsb2NrMGxvY2suaCIKICNpbmNsdWRl ICJsb2cwcmVjdi5oIgogI2luY2x1ZGUgInF1ZTBxdWUuaCIKKyNpbmNsdWRlICJzcnYwc3RhcnQu aCIgLyogc3J2X3NodXRkb3duX3N0YXRlICovCiAKIC8qCVNUUlVDVFVSRSBPRiBBTiBJTlNFUlQg QlVGRkVSIFJFQ09SRAogCkBAIC0zOTUsOCArMzk2LDEwIEBAIGlidWZfdHJlZV9yb290X2dldCgK IAltdHJfdCoJCW10cikJLyohPCBpbjogbXRyICovCiB7CiAJYnVmX2Jsb2NrX3QqCWJsb2NrOwor CXBhZ2VfdCoJCXJvb3Q7CiAKIAl1dF9hZChpYnVmX2luc2lkZSgpKTsKKwl1dF9hZChtdXRleF9v d24oJmlidWZfbXV0ZXgpKTsKIAogCW10cl94X2xvY2soZGljdF9pbmRleF9nZXRfbG9jayhpYnVm LT5pbmRleCksIG10cik7CiAKQEAgLTQwNSw3ICs0MDgsMTMgQEAgaWJ1Zl90cmVlX3Jvb3RfZ2V0 KAogCiAJYnVmX2Jsb2NrX2RiZ19hZGRfbGV2ZWwoYmxvY2ssIFNZTkNfVFJFRV9OT0RFKTsKIAot CXJldHVybihidWZfYmxvY2tfZ2V0X2ZyYW1lKGJsb2NrKSk7CisJcm9vdCA9IGJ1Zl9ibG9ja19n ZXRfZnJhbWUoYmxvY2spOworCisJdXRfYWQocGFnZV9nZXRfc3BhY2VfaWQocm9vdCkgPT0gSUJV Rl9TUEFDRV9JRCk7CisJdXRfYWQocGFnZV9nZXRfcGFnZV9ubyhyb290KSA9PSBGU1BfSUJVRl9U UkVFX1JPT1RfUEFHRV9OTyk7CisJdXRfYWQoaWJ1Zi0+ZW1wdHkgPT0gKHBhZ2VfZ2V0X25fcmVj cyhyb290KSA9PSAwKSk7CisKKwlyZXR1cm4ocm9vdCk7CiB9CiAKICNpZmRlZiBVTklWX0lCVUZf Q09VTlRfREVCVUcKQEAgLTQ4Miw4ICs0OTEsNiBAQCBpYnVmX3NpemVfdXBkYXRlKAogCiAJLyog dGhlICcxICsnIGlzIHRoZSBpYnVmIGhlYWRlciBwYWdlICovCiAJaWJ1Zi0+c2l6ZSA9IGlidWYt PnNlZ19zaXplIC0gKDEgKyBpYnVmLT5mcmVlX2xpc3RfbGVuKTsKLQotCWlidWYtPmVtcHR5ID0g cGFnZV9nZXRfbl9yZWNzKHJvb3QpID09IDA7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCkBAIC01NTQs NiArNTYxLDcgQEAgaWJ1Zl9pbml0X2F0X2RiX3N0YXJ0KHZvaWQpCiAJaWJ1Zl9zaXplX3VwZGF0 ZShyb290LCAmbXRyKTsKIAltdXRleF9leGl0KCZpYnVmX211dGV4KTsKIAorCWlidWYtPmVtcHR5 ID0gKHBhZ2VfZ2V0X25fcmVjcyhyb290KSA9PSAwKTsKIAltdHJfY29tbWl0KCZtdHIpOwogCiAJ aWJ1Zl9leGl0KCk7CkBAIC0yMDI1LDkgKzIwMzMsOSBAQCBpYnVmX2RhdGFfdG9vX211Y2hfZnJl ZSh2b2lkKQogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8vKioKIEFsbG9jYXRlcyBhIG5ldyBwYWdlIGZyb20gdGhl IGlidWYgZmlsZSBzZWdtZW50IGFuZCBhZGRzIGl0IHRvIHRoZSBmcmVlCiBsaXN0LgotQHJldHVy bglEQl9TVUNDRVNTLCBvciBEQl9TVFJPTkdfRkFJTCBpZiBubyBzcGFjZSBsZWZ0ICovCitAcmV0 dXJuCVRSVUUgb24gc3VjY2VzcywgRkFMU0UgaWYgbm8gc3BhY2UgbGVmdCAqLwogc3RhdGljCi11 bGludAoraWJvb2wKIGlidWZfYWRkX2ZyZWVfcGFnZSh2b2lkKQogLyo9PT09PT09PT09PT09PT09 PT09PSovCiB7CkBAIC0yMDYzLDEwICsyMDcxLDEwIEBAIGlidWZfYWRkX2ZyZWVfcGFnZSh2b2lk KQogCQloZWFkZXJfcGFnZSArIElCVUZfSEVBREVSICsgSUJVRl9UUkVFX1NFR19IRUFERVIsIDAs IEZTUF9VUCwKIAkJJm10cik7CiAKLQlpZiAocGFnZV9ubyA9PSBGSUxfTlVMTCkgeworCWlmIChV TklWX1VOTElLRUxZKHBhZ2Vfbm8gPT0gRklMX05VTEwpKSB7CiAJCW10cl9jb21taXQoJm10cik7 CiAKLQkJcmV0dXJuKERCX1NUUk9OR19GQUlMKTsKKwkJcmV0dXJuKEZBTFNFKTsKIAl9CiAKIAl7 CkBAIC0yMTEzLDcgKzIxMjEsNyBAQCBpYnVmX2FkZF9mcmVlX3BhZ2Uodm9pZCkKIAogCWlidWZf ZXhpdCgpOwogCi0JcmV0dXJuKERCX1NVQ0NFU1MpOworCXJldHVybihUUlVFKTsKIH0KIAogLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8vKioKQEAgLTIxNDMsMjAgKzIxNTEsMTcgQEAgaWJ1Zl9yZW1vdmVfZnJlZV9w YWdlKHZvaWQpCiAJaGVhZGVyX3BhZ2UgPSBpYnVmX2hlYWRlcl9wYWdlX2dldCgmbXRyKTsKIAog CS8qIFByZXZlbnQgcGVzc2ltaXN0aWMgaW5zZXJ0cyB0byBpbnNlcnQgYnVmZmVyIHRyZWVzIGZv ciBhIHdoaWxlICovCi0JbXV0ZXhfZW50ZXIoJmlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0X211dGV4 KTsKLQogCWlidWZfZW50ZXIoKTsKLQorCW11dGV4X2VudGVyKCZpYnVmX3Blc3NpbWlzdGljX2lu c2VydF9tdXRleCk7CiAJbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwogCiAJaWYgKCFpYnVmX2Rh dGFfdG9vX211Y2hfZnJlZSgpKSB7CiAKIAkJbXV0ZXhfZXhpdCgmaWJ1Zl9tdXRleCk7CisJCW11 dGV4X2V4aXQoJmlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0X211dGV4KTsKIAogCQlpYnVmX2V4aXQo KTsKIAotCQltdXRleF9leGl0KCZpYnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7Ci0KIAkJ bXRyX2NvbW1pdCgmbXRyKTsKIAogCQlyZXR1cm47CkBAIC0yMjE4LDExICsyMjIzLDExIEBAIGli dWZfcmVtb3ZlX2ZyZWVfcGFnZSh2b2lkKQogCWZsc3RfcmVtb3ZlKHJvb3QgKyBQQUdFX0hFQURF UiArIFBBR0VfQlRSX0lCVUZfRlJFRV9MSVNULAogCQkgICAgcGFnZSArIFBBR0VfSEVBREVSICsg UEFHRV9CVFJfSUJVRl9GUkVFX0xJU1RfTk9ERSwgJm10cik7CiAKKwltdXRleF9leGl0KCZpYnVm X3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7CisKIAlpYnVmLT5zZWdfc2l6ZS0tOwogCWlidWYt PmZyZWVfbGlzdF9sZW4tLTsKIAotCW11dGV4X2V4aXQoJmlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0 X211dGV4KTsKLQogCS8qIFNldCB0aGUgYml0IGluZGljYXRpbmcgdGhhdCB0aGlzIHBhZ2UgaXMg bm8gbW9yZSBhbiBpYnVmIHRyZWUgcGFnZQogCShsZXZlbCAyIHBhZ2UpICovCiAKQEAgLTI0ODQs MTcgKzI0ODksMTkgQEAgaWJ1Zl9jb250cmFjdF9leHQoCiAJdWxpbnQJCXBhZ2Vfbm9zW0lCVUZf TUFYX05fUEFHRVNfTUVSR0VEXTsKIAl1bGludAkJc3BhY2VfaWRzW0lCVUZfTUFYX05fUEFHRVNf TUVSR0VEXTsKIAlpYl9pbnQ2NF90CXNwYWNlX3ZlcnNpb25zW0lCVUZfTUFYX05fUEFHRVNfTUVS R0VEXTsKLQl1bGludAkJbl9zdG9yZWQ7CiAJdWxpbnQJCXN1bV9zaXplczsKIAltdHJfdAkJbXRy OwogCiAJKm5fcGFnZXMgPSAwOwogCXV0X2FkKCFpYnVmX2luc2lkZSgpKTsKIAotCW11dGV4X2Vu dGVyKCZpYnVmX211dGV4KTsKKwkvKiBXZSBwZXJmb3JtIGEgZGlydHkgcmVhZCBvZiBpYnVmLT5l bXB0eSwgd2l0aG91dCBsYXRjaGluZworCXRoZSBpbnNlcnQgYnVmZmVyIHJvb3QgcGFnZS4gV2Ug dHJ1c3QgdGhpcyBkaXJ0eSByZWFkIGV4Y2VwdAorCXdoZW4gYSBzbG93IHNodXRkb3duIGlzIGJl aW5nIGV4ZWN1dGVkLiBEdXJpbmcgYSBzbG93CisJc2h1dGRvd24sIHRoZSBpbnNlcnQgYnVmZmVy IG1lcmdlIG11c3QgYmUgY29tcGxldGVkLiAqLwogCi0JaWYgKGlidWYtPmVtcHR5KSB7Ci0JCW11 dGV4X2V4aXQoJmlidWZfbXV0ZXgpOworCWlmIChVTklWX1VOTElLRUxZKGlidWYtPmVtcHR5KQor CSAgICAmJiBVTklWX0xJS0VMWSghc3J2X3NodXRkb3duX3N0YXRlKSkgewogaWJ1Zl9pc19lbXB0 eToKIAogI2lmIDAgLyogVE9ETyAqLwpAQCAtMjUyMywxOCArMjUzMCwxOCBAQCBpYnVmX2lzX2Vt cHR5OgogCXBvc2l0aW9uIHdpdGhpbiB0aGUgbGVhZiAqLwogCiAJYnRyX3BjdXJfb3Blbl9hdF9y bmRfcG9zKGlidWYtPmluZGV4LCBCVFJfU0VBUkNIX0xFQUYsICZwY3VyLCAmbXRyKTsKLQltdXRl eF9leGl0KCZpYnVmX211dGV4KTsKIAogCXV0X2FkKHBhZ2VfdmFsaWRhdGUoYnRyX3BjdXJfZ2V0 X3BhZ2UoJnBjdXIpLCBpYnVmLT5pbmRleCkpOwogCiAJaWYgKHBhZ2VfZ2V0X25fcmVjcyhidHJf cGN1cl9nZXRfcGFnZSgmcGN1cikpID09IDApIHsKLQkJLyogV2hlbiB0aGUgaWJ1ZiB0cmVlIGlz IGVtcHRpZWQgY29tcGxldGVseSwgdGhlIGxhc3QgcmVjb3JkCi0JCWlzIHJlbW92ZWQgdXNpbmcg YW4gb3B0aW1pc3RpYyBkZWxldGUgYW5kIGlidWZfc2l6ZV91cGRhdGUKLQkJaXMgbm90IGNhbGxl ZCwgY2F1c2luZyBpYnVmLT5lbXB0eSB0byByZW1haW4gRkFMU0UuIElmIHdlIGRvCi0JCW5vdCBy ZXNldCBpdCB0byBUUlVFIGhlcmUgdGhlbiBkYXRhYmFzZSBzaHV0ZG93biB3aWxsIGhhbmcKLQkJ aW4gdGhlIGxvb3AgaW4gaWJ1Zl9jb250cmFjdF9mb3Jfbl9wYWdlcy4gKi8KLQotCQlpYnVmLT5l bXB0eSA9IFRSVUU7CisJCS8qIElmIGEgQi10cmVlIHBhZ2UgaXMgZW1wdHksIGl0IG11c3QgYmUg dGhlIHJvb3QgcGFnZQorCQlhbmQgdGhlIHdob2xlIEItdHJlZSBtdXN0IGJlIGVtcHR5LiBJbm5v REIgZG9lcyBub3QKKwkJYWxsb3cgZW1wdHkgQi10cmVlIHBhZ2VzIG90aGVyIHRoYW4gdGhlIHJv b3QuICovCisJCXV0X2FkKGlidWYtPmVtcHR5KTsKKwkJdXRfYWQocGFnZV9nZXRfc3BhY2VfaWQo YnRyX3BjdXJfZ2V0X3BhZ2UoJnBjdXIpKQorCQkgICAgICA9PSBJQlVGX1NQQUNFX0lEKTsKKwkJ dXRfYWQocGFnZV9nZXRfcGFnZV9ubyhidHJfcGN1cl9nZXRfcGFnZSgmcGN1cikpCisJCSAgICAg ID09IEZTUF9JQlVGX1RSRUVfUk9PVF9QQUdFX05PKTsKIAogCQlpYnVmX2V4aXQoKTsKIApAQCAt MjU0NiwxMCArMjU1MywxMCBAQCBpYnVmX2lzX2VtcHR5OgogCiAJc3VtX3NpemVzID0gaWJ1Zl9n ZXRfbWVyZ2VfcGFnZV9ub3MoVFJVRSwgYnRyX3BjdXJfZ2V0X3JlYygmcGN1ciksCiAJCQkJCSAg ICBzcGFjZV9pZHMsIHNwYWNlX3ZlcnNpb25zLAotCQkJCQkgICAgcGFnZV9ub3MsICZuX3N0b3Jl ZCk7CisJCQkJCSAgICBwYWdlX25vcywgbl9wYWdlcyk7CiAjaWYgMCAvKiBkZWZpbmVkIFVOSVZf SUJVRl9ERUJVRyAqLwogCWZwcmludGYoc3RkZXJyLCAiSWJ1ZiBjb250cmFjdCBzeW5jICVsdSBw YWdlcyAlbHUgdm9sdW1lICVsdVxuIiwKLQkJc3luYywgbl9zdG9yZWQsIHN1bV9zaXplcyk7CisJ CXN5bmMsICpuX3BhZ2VzLCBzdW1fc2l6ZXMpOwogI2VuZGlmCiAJaWJ1Zl9leGl0KCk7CiAKQEAg LTI1NTcsOCArMjU2NCw3IEBAIGlidWZfaXNfZW1wdHk6CiAJYnRyX3BjdXJfY2xvc2UoJnBjdXIp OwogCiAJYnVmX3JlYWRfaWJ1Zl9tZXJnZV9wYWdlcyhzeW5jLCBzcGFjZV9pZHMsIHNwYWNlX3Zl cnNpb25zLCBwYWdlX25vcywKLQkJCQkgIG5fc3RvcmVkKTsKLQkqbl9wYWdlcyA9IG5fc3RvcmVk OworCQkJCSAgKm5fcGFnZXMpOwogCiAJcmV0dXJuKHN1bV9zaXplcyArIDEpOwogfQpAQCAtMjYy OCwzMyArMjYzNCwzMyBAQCBpYnVmX2NvbnRyYWN0X2FmdGVyX2luc2VydCgKIAlpYm9vbAlzeW5j OwogCXVsaW50CXN1bV9zaXplczsKIAl1bGludAlzaXplOworCXVsaW50CW1heF9zaXplOwogCi0J bXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwotCi0JaWYgKGlidWYtPnNpemUgPCBpYnVmLT5tYXhf c2l6ZSArIElCVUZfQ09OVFJBQ1RfT05fSU5TRVJUX05PTl9TWU5DKSB7Ci0JCW11dGV4X2V4aXQo JmlidWZfbXV0ZXgpOworCS8qIFBlcmZvcm0gZGlydHkgcmVhZHMgb2YgaWJ1Zi0+c2l6ZSBhbmQg aWJ1Zi0+bWF4X3NpemUsIHRvCisJcmVkdWNlIGlidWZfbXV0ZXggY29udGVudGlvbi4gaWJ1Zi0+ bWF4X3NpemUgcmVtYWlucyBjb25zdGFudAorCWFmdGVyIGlidWZfaW5pdF9hdF9kYl9zdGFydCgp LCBidXQgaWJ1Zi0+c2l6ZSBzaG91bGQgYmUKKwlwcm90ZWN0ZWQgYnkgaWJ1Zl9tdXRleC4gR2l2 ZW4gdGhhdCBpYnVmLT5zaXplIGZpdHMgaW4gYQorCW1hY2hpbmUgd29yZCwgdGhpcyBzaG91bGQg YmUgT0s7IGF0IHdvcnN0IHdlIGFyZSBkb2luZyBzb21lCisJZXhjZXNzaXZlIGlidWZfY29udHJh Y3QoKSBvciBvY2Nhc2lvbmFsbHkgc2tpcHBpbmcgYQorCWlidWZfY29udHJhY3QoKS4gKi8KKwlz aXplID0gaWJ1Zi0+c2l6ZTsKKwltYXhfc2l6ZSA9IGlidWYtPm1heF9zaXplOwogCisJaWYgKHNp emUgPCBtYXhfc2l6ZSArIElCVUZfQ09OVFJBQ1RfT05fSU5TRVJUX05PTl9TWU5DKSB7CiAJCXJl dHVybjsKIAl9CiAKLQlzeW5jID0gRkFMU0U7Ci0KLQlpZiAoaWJ1Zi0+c2l6ZSA+PSBpYnVmLT5t YXhfc2l6ZSArIElCVUZfQ09OVFJBQ1RfT05fSU5TRVJUX1NZTkMpIHsKLQotCQlzeW5jID0gVFJV RTsKLQl9Ci0KLQltdXRleF9leGl0KCZpYnVmX211dGV4KTsKKwlzeW5jID0gKHNpemUgPj0gbWF4 X3NpemUgKyBJQlVGX0NPTlRSQUNUX09OX0lOU0VSVF9TWU5DKTsKIAogCS8qIENvbnRyYWN0IGF0 IGxlYXN0IGVudHJ5X3NpemUgbWFueSBieXRlcyAqLwogCXN1bV9zaXplcyA9IDA7CiAJc2l6ZSA9 IDE7CiAKLQl3aGlsZSAoKHNpemUgPiAwKSAmJiAoc3VtX3NpemVzIDwgZW50cnlfc2l6ZSkpIHsK KwlkbyB7CiAKIAkJc2l6ZSA9IGlidWZfY29udHJhY3Qoc3luYyk7CiAJCXN1bV9zaXplcyArPSBz aXplOwotCX0KKwl9IHdoaWxlIChzaXplID4gMCAmJiBzdW1fc2l6ZXMgPCBlbnRyeV9zaXplKTsK IH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8vKioKQEAgLTMyNzIsNyArMzI3OCw3IEBAIGlidWZfc2V0X2Vu dHJ5X2NvdW50ZXIoCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogQnVmZmVyIGFuIG9wZXJhdGlvbiBpbiB0 aGUgaW5zZXJ0L2RlbGV0ZSBidWZmZXIsIGluc3RlYWQgb2YgZG9pbmcgaXQKIGRpcmVjdGx5IHRv IHRoZSBkaXNrIHBhZ2UsIGlmIHRoaXMgaXMgcG9zc2libGUuCi1AcmV0dXJuCURCX1NVQ0NFU1Ms IERCX0ZBSUwsIERCX1NUUk9OR19GQUlMICovCitAcmV0dXJuCURCX1NVQ0NFU1MsIERCX1NUUk9O R19GQUlMIG9yIG90aGVyIGVycm9yICovCiBzdGF0aWMKIHVsaW50CiBpYnVmX2luc2VydF9sb3co CkBAIC0zMzAyLDYgKzMzMDgsNyBAQCBpYnVmX2luc2VydF9sb3coCiAJcmVjX3QqCQlpbnNfcmVj OwogCWlib29sCQlvbGRfYml0X3ZhbHVlOwogCXBhZ2VfdCoJCWJpdG1hcF9wYWdlOworCWJ1Zl9i bG9ja190KglibG9jazsKIAlwYWdlX3QqCQlyb290OwogCXVsaW50CQllcnI7CiAJaWJvb2wJCWRv X21lcmdlOwpAQCAtMzMxMSw3ICszMzE4LDYgQEAgaWJ1Zl9pbnNlcnRfbG93KAogCXVsaW50CQlu X3N0b3JlZDsKIAltdHJfdAkJbXRyOwogCW10cl90CQliaXRtYXBfbXRyOwotCWlib29sCQl0b29f YmlnOwogCiAJdXRfYSghZGljdF9pbmRleF9pc19jbHVzdChpbmRleCkpOwogCXV0X2FkKGR0dXBs ZV9jaGVja190eXBlZChlbnRyeSkpOwpAQCAtMzMyMywxMSArMzMyOSwxNCBAQCBpYnVmX2luc2Vy dF9sb3coCiAKIAlkb19tZXJnZSA9IEZBTFNFOwogCi0JbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgp OwotCXRvb19iaWcgPSBpYnVmLT5zaXplID49IGlidWYtPm1heF9zaXplICsgSUJVRl9DT05UUkFD VF9ET19OT1RfSU5TRVJUOwotCW11dGV4X2V4aXQoJmlidWZfbXV0ZXgpOwotCi0JaWYgKHRvb19i aWcpIHsKKwkvKiBQZXJmb3JtIGRpcnR5IHJlYWRzIG9mIGlidWYtPnNpemUgYW5kIGlidWYtPm1h eF9zaXplLCB0bworCXJlZHVjZSBpYnVmX211dGV4IGNvbnRlbnRpb24uIGlidWYtPm1heF9zaXpl IHJlbWFpbnMgY29uc3RhbnQKKwlhZnRlciBpYnVmX2luaXRfYXRfZGJfc3RhcnQoKSwgYnV0IGli dWYtPnNpemUgc2hvdWxkIGJlCisJcHJvdGVjdGVkIGJ5IGlidWZfbXV0ZXguIEdpdmVuIHRoYXQg aWJ1Zi0+c2l6ZSBmaXRzIGluIGEKKwltYWNoaW5lIHdvcmQsIHRoaXMgc2hvdWxkIGJlIE9LOyBh dCB3b3JzdCB3ZSBhcmUgZG9pbmcgc29tZQorCWV4Y2Vzc2l2ZSBpYnVmX2NvbnRyYWN0KCkgb3Ig b2NjYXNpb25hbGx5IHNraXBwaW5nIGEKKwlpYnVmX2NvbnRyYWN0KCkuICovCisJaWYgKGlidWYt PnNpemUgPj0gaWJ1Zi0+bWF4X3NpemUgKyBJQlVGX0NPTlRSQUNUX0RPX05PVF9JTlNFUlQpIHsK IAkJLyogSW5zZXJ0IGJ1ZmZlciBpcyBub3cgdG9vIGJpZywgY29udHJhY3QgaXQgYnV0IGRvIG5v dCB0cnkKIAkJdG8gaW5zZXJ0ICovCiAKQEAgLTMzNjEsMTAgKzMzNzAsOCBAQCBpYnVmX2luc2Vy dF9sb3coCiAKIAlpZiAobW9kZSA9PSBCVFJfTU9ESUZZX1RSRUUpIHsKIAkJZm9yICg7Oykgewot CQkJbXV0ZXhfZW50ZXIoJmlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0X211dGV4KTsKLQogCQkJaWJ1 Zl9lbnRlcigpOwotCisJCQltdXRleF9lbnRlcigmaWJ1Zl9wZXNzaW1pc3RpY19pbnNlcnRfbXV0 ZXgpOwogCQkJbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwogCiAJCQlpZiAoVU5JVl9MSUtFTFko aWJ1Zl9kYXRhX2Vub3VnaF9mcmVlX2Zvcl9pbnNlcnQoKSkpIHsKQEAgLTMzNzMsMTcgKzMzODAs MTMgQEAgaWJ1Zl9pbnNlcnRfbG93KAogCQkJfQogCiAJCQltdXRleF9leGl0KCZpYnVmX211dGV4 KTsKLQotCQkJaWJ1Zl9leGl0KCk7Ci0KIAkJCW11dGV4X2V4aXQoJmlidWZfcGVzc2ltaXN0aWNf aW5zZXJ0X211dGV4KTsKKwkJCWlidWZfZXhpdCgpOwogCi0JCQllcnIgPSBpYnVmX2FkZF9mcmVl X3BhZ2UoKTsKLQotCQkJaWYgKFVOSVZfVU5MSUtFTFkoZXJyID09IERCX1NUUk9OR19GQUlMKSkg eworCQkJaWYgKFVOSVZfVU5MSUtFTFkoIWlidWZfYWRkX2ZyZWVfcGFnZSgpKSkgewogCiAJCQkJ bWVtX2hlYXBfZnJlZShoZWFwKTsKLQkJCQlyZXR1cm4oZXJyKTsKKwkJCQlyZXR1cm4oREJfU1RS T05HX0ZBSUwpOwogCQkJfQogCQl9CiAJfSBlbHNlIHsKQEAgLTM0MjMsOSArMzQyNiwxNCBAQCBp YnVmX2luc2VydF9sb3coCiAJCWJlZm9yZSBtdHJfY29tbWl0KCZtdHIpLiAgV2UgbXVzdCBub3Qg bXRyX2NvbW1pdCgmbXRyKQogCQl1bnRpbCBhZnRlciB0aGUgSUJVRl9PUF9ERUxFVEUgaGFzIGJl ZW4gYnVmZmVyZWQuICovCiAKLQkJZXJyID0gREJfU1RST05HX0ZBSUw7CitmYWlsX2V4aXQ6CisJ CWlmIChtb2RlID09IEJUUl9NT0RJRllfVFJFRSkgeworCQkJbXV0ZXhfZXhpdCgmaWJ1Zl9tdXRl eCk7CisJCQltdXRleF9leGl0KCZpYnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7CisJCX0K IAotCQlnb3RvIGZ1bmN0aW9uX2V4aXQ7CisJCWVyciA9IERCX1NUUk9OR19GQUlMOworCQlnb3Rv IGZ1bmNfZXhpdDsKIAl9CiAKIAkvKiBBZnRlciB0aGlzIHBvaW50LCB0aGUgcGFnZSBjb3VsZCBz dGlsbCBiZSBsb2FkZWQgdG8gdGhlCkBAIC0zNDcxLDkgKzM0NzksNyBAQCBpYnVmX2luc2VydF9s b3coCiAJCQkJc3BhY2VfaWRzLCBzcGFjZV92ZXJzaW9ucywKIAkJCQlwYWdlX25vcywgJm5fc3Rv cmVkKTsKIAotCQkJZXJyID0gREJfU1RST05HX0ZBSUw7Ci0KLQkJCWdvdG8gZnVuY3Rpb25fZXhp dDsKKwkJCWdvdG8gZmFpbF9leGl0OwogCQl9CiAJfQogCkBAIC0zNDg0LDExICszNDkwLDkgQEAg aWJ1Zl9pbnNlcnRfbG93KAogCSAgICAmJiAhaWJ1Zl9zZXRfZW50cnlfY291bnRlcihpYnVmX2Vu dHJ5LCBzcGFjZSwgcGFnZV9ubywgJnBjdXIsCiAJCQkJICAgICAgIG1vZGUgPT0gQlRSX01PRElG WV9QUkVWLCAmbXRyKSkgewogYml0bWFwX2ZhaWw6Ci0JCWVyciA9IERCX1NUUk9OR19GQUlMOwot CiAJCW10cl9jb21taXQoJmJpdG1hcF9tdHIpOwogCi0JCWdvdG8gZnVuY3Rpb25fZXhpdDsKKwkJ Z290byBmYWlsX2V4aXQ7CiAJfQogCiAJLyogU2V0IHRoZSBiaXRtYXAgYml0IGRlbm90aW5nIHRo YXQgdGhlIGluc2VydCBidWZmZXIgY29udGFpbnMKQEAgLTM1MTIsMTAgKzM1MTYsMTkgQEAgYml0 bWFwX2ZhaWw6CiAJCWVyciA9IGJ0cl9jdXJfb3B0aW1pc3RpY19pbnNlcnQoQlRSX05PX0xPQ0tJ TkdfRkxBRywgY3Vyc29yLAogCQkJCQkJaWJ1Zl9lbnRyeSwgJmluc19yZWMsCiAJCQkJCQkmZHVt bXlfYmlnX3JlYywgMCwgdGhyLCAmbXRyKTsKLQkJaWYgKGVyciA9PSBEQl9TVUNDRVNTICYmIG9w ICE9IElCVUZfT1BfREVMRVRFKSB7Ci0JCQkvKiBVcGRhdGUgdGhlIHBhZ2UgbWF4IHRyeCBpZCBm aWVsZCAqLwotCQkJcGFnZV91cGRhdGVfbWF4X3RyeF9pZChidHJfY3VyX2dldF9ibG9jayhjdXJz b3IpLCBOVUxMLAotCQkJCQkgICAgICAgdGhyX2dldF90cngodGhyKS0+aWQsICZtdHIpOworCQli bG9jayA9IGJ0cl9jdXJfZ2V0X2Jsb2NrKGN1cnNvcik7CisJCXV0X2FkKGJ1Zl9ibG9ja19nZXRf c3BhY2UoYmxvY2spID09IElCVUZfU1BBQ0VfSUQpOworCisJCS8qIElmIHRoaXMgaXMgdGhlIHJv b3QgcGFnZSwgdXBkYXRlIGlidWYtPmVtcHR5LiAqLworCQlpZiAoVU5JVl9VTkxJS0VMWShidWZf YmxvY2tfZ2V0X3BhZ2Vfbm8oYmxvY2spCisJCQkJICA9PSBGU1BfSUJVRl9UUkVFX1JPT1RfUEFH RV9OTykpIHsKKwkJCWNvbnN0IHBhZ2VfdCoJcm9vdCA9IGJ1Zl9ibG9ja19nZXRfZnJhbWUoYmxv Y2spOworCisJCQl1dF9hZChwYWdlX2dldF9zcGFjZV9pZChyb290KSA9PSBJQlVGX1NQQUNFX0lE KTsKKwkJCXV0X2FkKHBhZ2VfZ2V0X3BhZ2Vfbm8ocm9vdCkKKwkJCSAgICAgID09IEZTUF9JQlVG X1RSRUVfUk9PVF9QQUdFX05PKTsKKworCQkJaWJ1Zi0+ZW1wdHkgPSAocGFnZV9nZXRfbl9yZWNz KHJvb3QpID09IDApOwogCQl9CiAJfSBlbHNlIHsKIAkJdXRfYWQobW9kZSA9PSBCVFJfTU9ESUZZ X1RSRUUpOwpAQCAtMzUzMiwxNiArMzU0NSwyMiBAQCBiaXRtYXBfZmFpbDoKIAkJCQkJCSBjdXJz b3IsCiAJCQkJCQkgaWJ1Zl9lbnRyeSwgJmluc19yZWMsCiAJCQkJCQkgJmR1bW15X2JpZ19yZWMs IDAsIHRociwgJm10cik7Ci0JCWlmIChlcnIgPT0gREJfU1VDQ0VTUyAmJiBvcCAhPSBJQlVGX09Q X0RFTEVURSkgewotCQkJLyogVXBkYXRlIHRoZSBwYWdlIG1heCB0cnggaWQgZmllbGQgKi8KLQkJ CXBhZ2VfdXBkYXRlX21heF90cnhfaWQoYnRyX2N1cl9nZXRfYmxvY2soY3Vyc29yKSwgTlVMTCwK LQkJCQkJICAgICAgIHRocl9nZXRfdHJ4KHRociktPmlkLCAmbXRyKTsKLQkJfQotCisJCW11dGV4 X2V4aXQoJmlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0X211dGV4KTsKIAkJaWJ1Zl9zaXplX3VwZGF0 ZShyb290LCAmbXRyKTsKKwkJbXV0ZXhfZXhpdCgmaWJ1Zl9tdXRleCk7CisJCWlidWYtPmVtcHR5 ID0gKHBhZ2VfZ2V0X25fcmVjcyhyb290KSA9PSAwKTsKKworCQlibG9jayA9IGJ0cl9jdXJfZ2V0 X2Jsb2NrKGN1cnNvcik7CisJCXV0X2FkKGJ1Zl9ibG9ja19nZXRfc3BhY2UoYmxvY2spID09IElC VUZfU1BBQ0VfSUQpOworCX0KKworCWlmIChlcnIgPT0gREJfU1VDQ0VTUyAmJiBvcCAhPSBJQlVG X09QX0RFTEVURSkgeworCQkvKiBVcGRhdGUgdGhlIHBhZ2UgbWF4IHRyeCBpZCBmaWVsZCAqLwor CQlwYWdlX3VwZGF0ZV9tYXhfdHJ4X2lkKGJsb2NrLCBOVUxMLAorCQkJCSAgICAgICB0aHJfZ2V0 X3RyeCh0aHIpLT5pZCwgJm10cik7CiAJfQogCi1mdW5jdGlvbl9leGl0OgorZnVuY19leGl0Ogog I2lmZGVmIFVOSVZfSUJVRl9DT1VOVF9ERUJVRwogCWlmIChlcnIgPT0gREJfU1VDQ0VTUykgewog CQlmcHJpbnRmKHN0ZGVyciwKQEAgLTM1NTMsMTEgKzM1NzIsNiBAQCBmdW5jdGlvbl9leGl0Ogog CQkJICAgICAgIGlidWZfY291bnRfZ2V0KHNwYWNlLCBwYWdlX25vKSArIDEpOwogCX0KICNlbmRp ZgotCWlmIChtb2RlID09IEJUUl9NT0RJRllfVFJFRSkgewotCi0JCW11dGV4X2V4aXQoJmlidWZf bXV0ZXgpOwotCQltdXRleF9leGl0KCZpYnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7Ci0J fQogCiAJbXRyX2NvbW1pdCgmbXRyKTsKIAlidHJfcGN1cl9jbG9zZSgmcGN1cik7CkBAIC0zNTY1 LDE2ICszNTc5LDggQEAgZnVuY3Rpb25fZXhpdDoKIAogCW1lbV9oZWFwX2ZyZWUoaGVhcCk7CiAK LQlpZiAoZXJyID09IERCX1NVQ0NFU1MpIHsKLQkJbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwot Ci0JCWlidWYtPmVtcHR5ID0gRkFMU0U7Ci0KLQkJbXV0ZXhfZXhpdCgmaWJ1Zl9tdXRleCk7Ci0K LQkJaWYgKG1vZGUgPT0gQlRSX01PRElGWV9UUkVFKSB7Ci0JCQlpYnVmX2NvbnRyYWN0X2FmdGVy X2luc2VydChlbnRyeV9zaXplKTsKLQkJfQorCWlmIChlcnIgPT0gREJfU1VDQ0VTUyAmJiBtb2Rl ID09IEJUUl9NT0RJRllfVFJFRSkgeworCQlpYnVmX2NvbnRyYWN0X2FmdGVyX2luc2VydChlbnRy eV9zaXplKTsKIAl9CiAKIAlpZiAoZG9fbWVyZ2UpIHsKQEAgLTQwODEsNiArNDA4NywyMiBAQCBp YnVmX2RlbGV0ZV9yZWMoCiAJc3VjY2VzcyA9IGJ0cl9jdXJfb3B0aW1pc3RpY19kZWxldGUoYnRy X3BjdXJfZ2V0X2J0cl9jdXIocGN1ciksIG10cik7CiAKIAlpZiAoc3VjY2VzcykgeworCQlpZiAo VU5JVl9VTkxJS0VMWSghcGFnZV9nZXRfbl9yZWNzKGJ0cl9wY3VyX2dldF9wYWdlKHBjdXIpKSkp IHsKKwkJCS8qIElmIGEgQi10cmVlIHBhZ2UgaXMgZW1wdHksIGl0IG11c3QgYmUgdGhlIHJvb3Qg cGFnZQorCQkJYW5kIHRoZSB3aG9sZSBCLXRyZWUgbXVzdCBiZSBlbXB0eS4gSW5ub0RCIGRvZXMg bm90CisJCQlhbGxvdyBlbXB0eSBCLXRyZWUgcGFnZXMgb3RoZXIgdGhhbiB0aGUgcm9vdC4gKi8K KwkJCXJvb3QgPSBidHJfcGN1cl9nZXRfcGFnZShwY3VyKTsKKworCQkJdXRfYWQocGFnZV9nZXRf c3BhY2VfaWQocm9vdCkgPT0gSUJVRl9TUEFDRV9JRCk7CisJCQl1dF9hZChwYWdlX2dldF9wYWdl X25vKHJvb3QpCisJCQkgICAgICA9PSBGU1BfSUJVRl9UUkVFX1JPT1RfUEFHRV9OTyk7CisKKwkJ CS8qIGlidWYtPmVtcHR5IGlzIHByb3RlY3RlZCBieSB0aGUgcm9vdCBwYWdlIGxhdGNoLgorCQkJ QmVmb3JlIHRoZSBkZWxldGlvbiwgaXQgaGFkIHRvIGJlIEZBTFNFLiAqLworCQkJdXRfYWQoIWli dWYtPmVtcHR5KTsKKwkJCWlidWYtPmVtcHR5ID0gVFJVRTsKKwkJfQorCiAjaWZkZWYgVU5JVl9J QlVGX0NPVU5UX0RFQlVHCiAJCWZwcmludGYoc3RkZXJyLAogCQkJIkRlY3JlbWVudGluZyBpYnVm IGNvdW50IG9mIHNwYWNlICVsdSBwYWdlICVsdVxuIgpAQCAtNDEwOCw2ICs0MTMwLDcgQEAgaWJ1 Zl9kZWxldGVfcmVjKAogCWlmICghaWJ1Zl9yZXN0b3JlX3BvcyhzcGFjZSwgcGFnZV9ubywgc2Vh cmNoX3R1cGxlLAogCQkJICAgICAgQlRSX01PRElGWV9UUkVFLCBwY3VyLCBtdHIpKSB7CiAKKwkJ bXV0ZXhfZXhpdCgmaWJ1Zl9tdXRleCk7CiAJCWdvdG8gZnVuY19leGl0OwogCX0KIApAQCAtNDEy MSwxMCArNDE0NCwxMiBAQCBpYnVmX2RlbGV0ZV9yZWMoCiAJaWJ1Zl9jb3VudF9zZXQoc3BhY2Us IHBhZ2Vfbm8sIGlidWZfY291bnRfZ2V0KHNwYWNlLCBwYWdlX25vKSAtIDEpOwogI2VuZGlmCiAJ aWJ1Zl9zaXplX3VwZGF0ZShyb290LCBtdHIpOworCW11dGV4X2V4aXQoJmlidWZfbXV0ZXgpOwor CisJaWJ1Zi0+ZW1wdHkgPSAocGFnZV9nZXRfbl9yZWNzKHJvb3QpID09IDApOwogCWJ0cl9wY3Vy X2NvbW1pdF9zcGVjaWZ5X210cihwY3VyLCBtdHIpOwogCiBmdW5jX2V4aXQ6Ci0JbXV0ZXhfZXhp dCgmaWJ1Zl9tdXRleCk7CiAJYnRyX3BjdXJfY2xvc2UocGN1cik7CiAKIAlyZXR1cm4oVFJVRSk7 CkBAIC00NjQyLDM3ICs0NjY3LDE4IEBAIGlidWZfaXNfZW1wdHkodm9pZCkKIAltdHJfdAkJbXRy OwogCiAJaWJ1Zl9lbnRlcigpOwotCi0JbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwotCiAJbXRy X3N0YXJ0KCZtdHIpOwogCisJbXV0ZXhfZW50ZXIoJmlidWZfbXV0ZXgpOwogCXJvb3QgPSBpYnVm X3RyZWVfcm9vdF9nZXQoJm10cik7Ci0KLQlpZiAocGFnZV9nZXRfbl9yZWNzKHJvb3QpID09IDAp IHsKLQotCQlpc19lbXB0eSA9IFRSVUU7Ci0KLQkJaWYgKGlidWYtPmVtcHR5ID09IEZBTFNFKSB7 Ci0JCQlmcHJpbnRmKHN0ZGVyciwKLQkJCQkiSW5ub0RCOiBXYXJuaW5nOiBpbnNlcnQgYnVmZmVy IHRyZWUgaXMgZW1wdHkiCi0JCQkJIiBidXQgdGhlIGRhdGEgc3RydWN0IGRvZXMgbm90XG4iCi0J CQkJIklubm9EQjoga25vdyBpdC4gVGhpcyBjb25kaXRpb24gaXMgbGVnYWwiCi0JCQkJIiBpZiB0 aGUgbWFzdGVyIHRocmVhZCBoYXMgbm90IHlldFxuIgotCQkJCSJJbm5vREI6IHJ1biB0byBjb21w bGV0aW9uLlxuIik7Ci0JCX0KLQl9IGVsc2UgewotCQl1dF9hKGlidWYtPmVtcHR5ID09IEZBTFNF KTsKLQotCQlpc19lbXB0eSA9IEZBTFNFOwotCX0KLQogCW11dGV4X2V4aXQoJmlidWZfbXV0ZXgp OwogCisJaXNfZW1wdHkgPSAocGFnZV9nZXRfbl9yZWNzKHJvb3QpID09IDApOwogCW10cl9jb21t aXQoJm10cik7Ci0KIAlpYnVmX2V4aXQoKTsKIAorCXV0X2EoaXNfZW1wdHkgPT0gaWJ1Zi0+ZW1w dHkpOworCiAJcmV0dXJuKGlzX2VtcHR5KTsKIH0KIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9pYnVmMGlidWYuaWMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9pYnVmMGlidWYuaWMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA4 MDkwODU4MzctczFuZng2Z2pmN2w2dHRhYgorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUv aWJ1ZjBpYnVmLmljCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwODEwMTAyMjQ4 LXhyZGppZTJkZTRyOWgzZWQKQEAgLTQ2LDExICs0NiwxMiBAQCBzdHJ1Y3QgaWJ1Zl9zdHJ1Y3R7 CiAJdWxpbnQJCXNlZ19zaXplOwkvKiE8IGFsbG9jYXRlZCBwYWdlcyBvZiB0aGUgZmlsZQogCQkJ CQlzZWdtZW50IGNvbnRhaW5pbmcgaWJ1ZiBoZWFkZXIgYW5kCiAJCQkJCXRyZWUgKi8KLQlpYm9v bAkJZW1wdHk7CQkvKiE8IGFmdGVyIGFuIGluc2VydCB0byB0aGUgaWJ1ZiB0cmVlCi0JCQkJCWlz IHBlcmZvcm1lZCwgdGhpcyBpcyBzZXQgdG8gRkFMU0UsCi0JCQkJCWFuZCBpZiBhIGNvbnRyYWN0 IG9wZXJhdGlvbiBmaW5kcwotCQkJCQl0aGUgdHJlZSBlbXB0eSwgdGhpcyBpcyBzZXQgdG8KLQkJ CQkJVFJVRSAqLworCWlib29sCQllbXB0eTsJCS8qITwgUHJvdGVjdGVkIGJ5IHRoZSBwYWdlCisJ CQkJCWxhdGNoIG9mIHRoZSByb290IHBhZ2Ugb2YgdGhlCisJCQkJCWluc2VydCBidWZmZXIgdHJl ZQorCQkJCQkoRlNQX0lCVUZfVFJFRV9ST09UX1BBR0VfTk8pLiBUUlVFCisJCQkJCWlmIGFuZCBv bmx5IGlmIHRoZSBpbnNlcnQKKwkJCQkJYnVmZmVyIHRyZWUgaXMgZW1wdHkuICovCiAJdWxpbnQJ CWZyZWVfbGlzdF9sZW47CS8qITwgbGVuZ3RoIG9mIHRoZSBmcmVlIGxpc3QgKi8KIAl1bGludAkJ aGVpZ2h0OwkJLyohPCB0cmVlIGhlaWdodCAqLwogCWRpY3RfaW5kZXhfdCoJaW5kZXg7CQkvKiE8 IGluc2VydCBidWZmZXIgaW5kZXggKi8KCg== --===============0696282076== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marko.makela@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marko.makela@stripped # target_branch: file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ # testament_sha1: d12b4d711bb499233de1ebac4936cb3ab7fae595 # timestamp: 2010-08-10 13:23:12 +0300 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.1-innodb/ # base_revision_id: marko.makela@stripped\ # s1nfx6gjf7l6ttab # # Begin bundle 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 wA== --===============0696282076==--