Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mhTBy-0004aJ-Rk for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Nov 2021 09:01:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mhTBx-0000WM-7k for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Nov 2021 09:01:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mhTBw-0000W0-NC for pgsql-hackers@lists.postgresql.org; Mon, 01 Nov 2021 09:01:20 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mhTBt-0001AX-NY for pgsql-hackers@lists.postgresql.org; Mon, 01 Nov 2021 09:01:19 +0000 Received: from hrk.local (p2388012-ipbf1027funabasi.chiba.ocn.ne.jp [118.6.6.12]) by oss.nttdata.com (Postfix) with ESMTPSA id EACE56059B; Mon, 1 Nov 2021 18:01:13 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.3 at oss.nttdata.com Subject: Re: wait event and archive_command To: Bharath Rupireddy Cc: PostgreSQL Hackers References: <4ca4f920-6b48-638d-08b2-93598356f5d3@oss.nttdata.com> From: Fujii Masao Message-ID: <08f37024-42a0-dcc1-6d92-76387b50d3de@oss.nttdata.com> Date: Mon, 1 Nov 2021 18:01:13 +0900 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------3A346242B8CD391025A382F9" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------3A346242B8CD391025A382F9 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2021/10/21 23:55, Bharath Rupireddy wrote: >> Also how about adding wait events for other commands like >> archive_cleanup_command, restore_command and recovery_end_command? > > +1 for the wait event. Thanks! I added the wait events for also restore_command, etc into the patch. I attached that updated version of the patch. > The following activitymsg that are being set to ps display in > XLogFileRead and pgarch_archiveXlog have come up for one of our > internal team discussions recently: > > snprintf(activitymsg, sizeof(activitymsg), "waiting for %s", > xlogfname); > set_ps_display(activitymsg); > > snprintf(activitymsg, sizeof(activitymsg), "recovering %s", > xlogfname); > set_ps_display(activitymsg); > > snprintf(activitymsg, sizeof(activitymsg), "archiving %s", xlog); > set_ps_display(activitymsg); > > The ps display info might be useful if we run postgres on a stand > alone box and there's someone monitoring at the ps output, but it > doesn't help debugging after an issue has occurred. How about we have > the following statements which will be useful for someone to look at > the server logs and know what was/is happening during the recovery and > archiving. If an issue occurs while the command is executing, the error message is logged, isn't it? Isn't that enough for your case? > IMO, we should also have the elog statement. > > elog(LOG, "waiting for %s", xlogfname); > elog(LOG, "recovering %s"", xlogfname); > elog(LOG, "archiving %s", xlog); I'm afraid that some people think that it's noisy to always log those messages. > Another idea could be to have a hook emitting the above info to > outside components, but a hook just for this purpose isn't a great > idea IMO. Yes, this idea sounds overkill to me. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------3A346242B8CD391025A382F9 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="wait_event_for_archive_command_v2.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="wait_event_for_archive_command_v2.patch" ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvbW9uaXRvcmluZy5zZ21sCmluZGV4IDMxNzNlYzI1NjYuLmFmNjkxNDg3MmIgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L21vbml0b3Jpbmcuc2dtbApAQCAtMTU2OSw3ICsxNTY5LDE3IEBAIHBvc3RncmVzICAgMjcw OTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDExOjM0ICAgMDowMCBw b3N0Z3Jlczogc2VyCiAgICAgICA8ZW50cnk+V2FpdGluZyBmb3Igc3VicGxhbiBub2RlcyBv ZiBhbiA8bGl0ZXJhbD5BcHBlbmQ8L2xpdGVyYWw+IHBsYW4KICAgICAgICBub2RlIHRvIGJl IHJlYWR5LjwvZW50cnk+CiAgICAgIDwvcm93PgotICAgIDxyb3c+CisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnk+PGxpdGVyYWw+QXJjaGl2ZUNsZWFudXBDb21tYW5kPC9saXRlcmFsPjwv ZW50cnk+CisgICAgICA8ZW50cnk+V2FpdGluZyBmb3IgPHhyZWYgbGlua2VuZD0iZ3VjLWFy Y2hpdmUtY2xlYW51cC1jb21tYW5kIi8+IHRvCisgICAgICAgY29tcGxldGUuPC9lbnRyeT4K KyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+QXJjaGl2 ZUNvbW1hbmQ8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciA8 eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2ZS1jb21tYW5kIi8+IHRvCisgICAgICAgY29tcGxl dGUuPC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CiAgICAgICA8ZW50cnk+PGxp dGVyYWw+QmFja2VuZFRlcm1pbmF0aW9uPC9saXRlcmFsPjwvZW50cnk+CiAgICAgICA8ZW50 cnk+V2FpdGluZyBmb3IgdGhlIHRlcm1pbmF0aW9uIG9mIGFub3RoZXIgYmFja2VuZC48L2Vu dHJ5PgogICAgICA8L3Jvdz4KQEAgLTE3NDcsNiArMTc1NywxMSBAQCBwb3N0Z3JlcyAgIDI3 MDkzICAwLjAgIDAuMCAgMzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMTozNCAgIDA6MDAg cG9zdGdyZXM6IHNlcgogICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHJlY292ZXJ5IGNvbmZs aWN0IHJlc29sdXRpb24gZm9yIGRyb3BwaW5nIGEKICAgICAgICB0YWJsZXNwYWNlLjwvZW50 cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5PjxsaXRlcmFsPlJl Y292ZXJ5RW5kQ29tbWFuZDwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5PldhaXRp bmcgZm9yIDx4cmVmIGxpbmtlbmQ9Imd1Yy1yZWNvdmVyeS1lbmQtY29tbWFuZCIvPiB0bwor ICAgICAgIGNvbXBsZXRlLjwvZW50cnk+CisgICAgIDwvcm93PgogICAgICA8cm93PgogICAg ICAgPGVudHJ5PjxsaXRlcmFsPlJlY292ZXJ5UGF1c2U8L2xpdGVyYWw+PC9lbnRyeT4KICAg ICAgIDxlbnRyeT5XYWl0aW5nIGZvciByZWNvdmVyeSB0byBiZSByZXN1bWVkLjwvZW50cnk+ CkBAIC0xNzYxLDYgKzE3NzYsMTEgQEAgcG9zdGdyZXMgICAyNzA5MyAgMC4wICAwLjAgIDMw MDk2ICAyNzUyID8gICAgICAgIFNzICAgMTE6MzQgICAwOjAwIHBvc3RncmVzOiBzZXIKICAg ICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJlcGxpY2F0aW9uIHNsb3QgdG8gYmVjb21lIGlu YWN0aXZlIHNvIGl0IGNhbiBiZQogICAgICAgIGRyb3BwZWQuPC9lbnRyeT4KICAgICAgPC9y b3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+UmVzdG9yZUNvbW1hbmQ8 L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciA8eHJlZiBsaW5r ZW5kPSJndWMtcmVzdG9yZS1jb21tYW5kIi8+IHRvCisgICAgICAgY29tcGxldGUuPC9lbnRy eT4KKyAgICAgPC9yb3c+CiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnk+PGxpdGVyYWw+U2Fm ZVNuYXBzaG90PC9saXRlcmFsPjwvZW50cnk+CiAgICAgICA8ZW50cnk+V2FpdGluZyB0byBv YnRhaW4gYSB2YWxpZCBzbmFwc2hvdCBmb3IgYSA8bGl0ZXJhbD5SRUFEIE9OTFkKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYyBiL3NyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL3hsb2cuYwppbmRleCBmNTQ3ZWZkMjk0Li5jMjMyMjlhMGFjIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKKysrIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCkBAIC01NzQ3LDcgKzU3NDcsOCBAQCBD bGVhbnVwQWZ0ZXJBcmNoaXZlUmVjb3ZlcnkoVGltZUxpbmVJRCBFbmRPZkxvZ1RMSSwgWExv Z1JlY1B0ciBFbmRPZkxvZykKIAlpZiAocmVjb3ZlcnlFbmRDb21tYW5kICYmIHN0cmNtcChy ZWNvdmVyeUVuZENvbW1hbmQsICIiKSAhPSAwKQogCQlFeGVjdXRlUmVjb3ZlcnlDb21tYW5k KHJlY292ZXJ5RW5kQ29tbWFuZCwKIAkJCQkJCQkgICAicmVjb3ZlcnlfZW5kX2NvbW1hbmQi LAotCQkJCQkJCSAgIHRydWUpOworCQkJCQkJCSAgIHRydWUsCisJCQkJCQkJICAgV0FJVF9F VkVOVF9SRUNPVkVSWV9FTkRfQ09NTUFORCk7CiAKIAkvKgogCSAqIFdlIHN3aXRjaGVkIHRv IGEgbmV3IHRpbWVsaW5lLiBDbGVhbiB1cCBzZWdtZW50cyBvbiB0aGUgb2xkIHRpbWVsaW5l LgpAQCAtOTg2Myw3ICs5ODY0LDggQEAgQ3JlYXRlUmVzdGFydFBvaW50KGludCBmbGFncykK IAlpZiAoYXJjaGl2ZUNsZWFudXBDb21tYW5kICYmIHN0cmNtcChhcmNoaXZlQ2xlYW51cENv bW1hbmQsICIiKSAhPSAwKQogCQlFeGVjdXRlUmVjb3ZlcnlDb21tYW5kKGFyY2hpdmVDbGVh bnVwQ29tbWFuZCwKIAkJCQkJCQkgICAiYXJjaGl2ZV9jbGVhbnVwX2NvbW1hbmQiLAotCQkJ CQkJCSAgIGZhbHNlKTsKKwkJCQkJCQkgICBmYWxzZSwKKwkJCQkJCQkgICBXQUlUX0VWRU5U X0FSQ0hJVkVfQ0xFQU5VUF9DT01NQU5EKTsKIAogCXJldHVybiB0cnVlOwogfQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ2FyY2hpdmUuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dhcmNoaXZlLmMKaW5kZXggMjZiMDIzZTc1NC4u NDdhMjg3ZGQyYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxv Z2FyY2hpdmUuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nYXJjaGl2 ZS5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dhcmNoaXZlLmgi CiAjaW5jbHVkZSAiY29tbW9uL2FyY2hpdmUuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIK KyNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL3N0YXJ0dXAuaCIK ICNpbmNsdWRlICJwb3N0bWFzdGVyL3BnYXJjaC5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9u L3dhbHNlbmRlci5oIgpAQCAtMTY4LDcgKzE2OSw5IEBAIFJlc3RvcmVBcmNoaXZlZEZpbGUo Y2hhciAqcGF0aCwgY29uc3QgY2hhciAqeGxvZ2ZuYW1lLAogCS8qCiAJICogQ29weSB4bG9n IGZyb20gYXJjaGl2YWwgc3RvcmFnZSB0byBYTE9HRElSCiAJICovCisJcGdzdGF0X3JlcG9y dF93YWl0X3N0YXJ0KFdBSVRfRVZFTlRfUkVTVE9SRV9DT01NQU5EKTsKIAlyYyA9IHN5c3Rl bSh4bG9nUmVzdG9yZUNtZCk7CisJcGdzdGF0X3JlcG9ydF93YWl0X2VuZCgpOwogCiAJUG9z dFJlc3RvcmVDb21tYW5kKCk7CiAJcGZyZWUoeGxvZ1Jlc3RvcmVDbWQpOwpAQCAtMjg0LDcg KzI4Nyw4IEBAIG5vdF9hdmFpbGFibGU6CiAgKiBUaGlzIGlzIGN1cnJlbnRseSB1c2VkIGZv ciByZWNvdmVyeV9lbmRfY29tbWFuZCBhbmQgYXJjaGl2ZV9jbGVhbnVwX2NvbW1hbmQuCiAg Ki8KIHZvaWQKLUV4ZWN1dGVSZWNvdmVyeUNvbW1hbmQoY29uc3QgY2hhciAqY29tbWFuZCwg Y29uc3QgY2hhciAqY29tbWFuZE5hbWUsIGJvb2wgZmFpbE9uU2lnbmFsKQorRXhlY3V0ZVJl Y292ZXJ5Q29tbWFuZChjb25zdCBjaGFyICpjb21tYW5kLCBjb25zdCBjaGFyICpjb21tYW5k TmFtZSwKKwkJCQkJICAgYm9vbCBmYWlsT25TaWduYWwsIHVpbnQzMiB3YWl0X2V2ZW50X2lu Zm8pCiB7CiAJY2hhcgkJeGxvZ1JlY292ZXJ5Q21kW01BWFBHUEFUSF07CiAJY2hhcgkJbGFz dFJlc3RhcnRQb2ludEZuYW1lW01BWFBHUEFUSF07CkBAIC0zNTQsNyArMzU4LDEwIEBAIEV4 ZWN1dGVSZWNvdmVyeUNvbW1hbmQoY29uc3QgY2hhciAqY29tbWFuZCwgY29uc3QgY2hhciAq Y29tbWFuZE5hbWUsIGJvb2wgZmFpbE9uCiAJLyoKIAkgKiBleGVjdXRlIHRoZSBjb25zdHJ1 Y3RlZCBjb21tYW5kCiAJICovCisJcGdzdGF0X3JlcG9ydF93YWl0X3N0YXJ0KHdhaXRfZXZl bnRfaW5mbyk7CiAJcmMgPSBzeXN0ZW0oeGxvZ1JlY292ZXJ5Q21kKTsKKwlwZ3N0YXRfcmVw b3J0X3dhaXRfZW5kKCk7CisKIAlpZiAocmMgIT0gMCkKIAl7CiAJCS8qCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9wZ2FyY2guYwppbmRleCA3NGE3ZDdjNGQwLi4yMjAxZjA2OWVhIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvcGdhcmNoLmMKQEAgLTUxNSw3ICs1MTUsMTAgQEAgcGdhcmNoX2FyY2hpdmVY bG9nKGNoYXIgKnhsb2cpCiAJc25wcmludGYoYWN0aXZpdHltc2csIHNpemVvZihhY3Rpdml0 eW1zZyksICJhcmNoaXZpbmcgJXMiLCB4bG9nKTsKIAlzZXRfcHNfZGlzcGxheShhY3Rpdml0 eW1zZyk7CiAKKwlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQoV0FJVF9FVkVOVF9BUkNISVZF X0NPTU1BTkQpOwogCXJjID0gc3lzdGVtKHhsb2dhcmNoY21kKTsKKwlwZ3N0YXRfcmVwb3J0 X3dhaXRfZW5kKCk7CisKIAlpZiAocmMgIT0gMCkKIAl7CiAJCS8qCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMKaW5kZXggNGE1Yjc1MDJmNS4uNGQ1M2YwNDBl OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudC5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwpAQCAtMzEz LDYgKzMxMywxMiBAQCBwZ3N0YXRfZ2V0X3dhaXRfaXBjKFdhaXRFdmVudElQQyB3KQogCQlj YXNlIFdBSVRfRVZFTlRfQVBQRU5EX1JFQURZOgogCQkJZXZlbnRfbmFtZSA9ICJBcHBlbmRS ZWFkeSI7CiAJCQlicmVhazsKKwkJY2FzZSBXQUlUX0VWRU5UX0FSQ0hJVkVfQ0xFQU5VUF9D T01NQU5EOgorCQkJZXZlbnRfbmFtZSA9ICJBcmNoaXZlQ2xlYW51cENvbW1hbmQiOworCQkJ YnJlYWs7CisJCWNhc2UgV0FJVF9FVkVOVF9BUkNISVZFX0NPTU1BTkQ6CisJCQlldmVudF9u YW1lID0gIkFyY2hpdmVDb21tYW5kIjsKKwkJCWJyZWFrOwogCQljYXNlIFdBSVRfRVZFTlRf QkFDS0VORF9URVJNSU5BVElPTjoKIAkJCWV2ZW50X25hbWUgPSAiQmFja2VuZFRlcm1pbmF0 aW9uIjsKIAkJCWJyZWFrOwpAQCAtNDI3LDYgKzQzMyw5IEBAIHBnc3RhdF9nZXRfd2FpdF9p cGMoV2FpdEV2ZW50SVBDIHcpCiAJCWNhc2UgV0FJVF9FVkVOVF9SRUNPVkVSWV9DT05GTElD VF9UQUJMRVNQQUNFOgogCQkJZXZlbnRfbmFtZSA9ICJSZWNvdmVyeUNvbmZsaWN0VGFibGVz cGFjZSI7CiAJCQlicmVhazsKKwkJY2FzZSBXQUlUX0VWRU5UX1JFQ09WRVJZX0VORF9DT01N QU5EOgorCQkJZXZlbnRfbmFtZSA9ICJSZWNvdmVyeUVuZENvbW1hbmQiOworCQkJYnJlYWs7 CiAJCWNhc2UgV0FJVF9FVkVOVF9SRUNPVkVSWV9QQVVTRToKIAkJCWV2ZW50X25hbWUgPSAi UmVjb3ZlcnlQYXVzZSI7CiAJCQlicmVhazsKQEAgLTQzNiw2ICs0NDUsOSBAQCBwZ3N0YXRf Z2V0X3dhaXRfaXBjKFdhaXRFdmVudElQQyB3KQogCQljYXNlIFdBSVRfRVZFTlRfUkVQTElD QVRJT05fU0xPVF9EUk9QOgogCQkJZXZlbnRfbmFtZSA9ICJSZXBsaWNhdGlvblNsb3REcm9w IjsKIAkJCWJyZWFrOworCQljYXNlIFdBSVRfRVZFTlRfUkVTVE9SRV9DT01NQU5EOgorCQkJ ZXZlbnRfbmFtZSA9ICJSZXN0b3JlQ29tbWFuZCI7CisJCQlicmVhazsKIAkJY2FzZSBXQUlU X0VWRU5UX1NBRkVfU05BUFNIT1Q6CiAJCQlldmVudF9uYW1lID0gIlNhZmVTbmFwc2hvdCI7 CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nYXJjaGl2 ZS5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dhcmNoaXZlLmgKaW5kZXggM2VkZDFhOTc2 Yy4uOTFkZjg2NDFmMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dhcmNo aXZlLmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dhcmNoaXZlLmgKQEAgLTIxLDcg KzIxLDcgQEAgZXh0ZXJuIGJvb2wgUmVzdG9yZUFyY2hpdmVkRmlsZShjaGFyICpwYXRoLCBj b25zdCBjaGFyICp4bG9nZm5hbWUsCiAJCQkJCQkJCWNvbnN0IGNoYXIgKnJlY292ZXJuYW1l LCBvZmZfdCBleHBlY3RlZFNpemUsCiAJCQkJCQkJCWJvb2wgY2xlYW51cEVuYWJsZWQpOwog ZXh0ZXJuIHZvaWQgRXhlY3V0ZVJlY292ZXJ5Q29tbWFuZChjb25zdCBjaGFyICpjb21tYW5k LCBjb25zdCBjaGFyICpjb21tYW5kTmFtZSwKLQkJCQkJCQkJICAgYm9vbCBmYWlsT25TaWdu YWwpOworCQkJCQkJCQkgICBib29sIGZhaWxPblNpZ25hbCwgdWludDMyIHdhaXRfZXZlbnRf aW5mbyk7CiBleHRlcm4gdm9pZCBLZWVwRmlsZVJlc3RvcmVkRnJvbUFyY2hpdmUoY29uc3Qg Y2hhciAqcGF0aCwgY29uc3QgY2hhciAqeGxvZ2ZuYW1lKTsKIGV4dGVybiB2b2lkIFhMb2dB cmNoaXZlTm90aWZ5KGNvbnN0IGNoYXIgKnhsb2cpOwogZXh0ZXJuIHZvaWQgWExvZ0FyY2hp dmVOb3RpZnlTZWcoWExvZ1NlZ05vIHNlZ25vKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L3V0aWxzL3dhaXRfZXZlbnQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaApp bmRleCBjMjIxNDIzNjVmLi44Nzg1YThlMTJjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91 dGlscy93YWl0X2V2ZW50LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5o CkBAIC04MCw2ICs4MCw4IEBAIHR5cGVkZWYgZW51bQogdHlwZWRlZiBlbnVtCiB7CiAJV0FJ VF9FVkVOVF9BUFBFTkRfUkVBRFkgPSBQR19XQUlUX0lQQywKKwlXQUlUX0VWRU5UX0FSQ0hJ VkVfQ0xFQU5VUF9DT01NQU5ELAorCVdBSVRfRVZFTlRfQVJDSElWRV9DT01NQU5ELAogCVdB SVRfRVZFTlRfQkFDS0VORF9URVJNSU5BVElPTiwKIAlXQUlUX0VWRU5UX0JBQ0tVUF9XQUlU X1dBTF9BUkNISVZFLAogCVdBSVRfRVZFTlRfQkdXT1JLRVJfU0hVVERPV04sCkBAIC0xMTgs OSArMTIwLDExIEBAIHR5cGVkZWYgZW51bQogCVdBSVRfRVZFTlRfUFJPTU9URSwKIAlXQUlU X0VWRU5UX1JFQ09WRVJZX0NPTkZMSUNUX1NOQVBTSE9ULAogCVdBSVRfRVZFTlRfUkVDT1ZF UllfQ09ORkxJQ1RfVEFCTEVTUEFDRSwKKwlXQUlUX0VWRU5UX1JFQ09WRVJZX0VORF9DT01N QU5ELAogCVdBSVRfRVZFTlRfUkVDT1ZFUllfUEFVU0UsCiAJV0FJVF9FVkVOVF9SRVBMSUNB VElPTl9PUklHSU5fRFJPUCwKIAlXQUlUX0VWRU5UX1JFUExJQ0FUSU9OX1NMT1RfRFJPUCwK KwlXQUlUX0VWRU5UX1JFU1RPUkVfQ09NTUFORCwKIAlXQUlUX0VWRU5UX1NBRkVfU05BUFNI T1QsCiAJV0FJVF9FVkVOVF9TWU5DX1JFUCwKIAlXQUlUX0VWRU5UX1dBTF9SRUNFSVZFUl9F WElULAo= --------------3A346242B8CD391025A382F9--