Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uKTID-004N9j-Ip for pgsql-hackers@arkaria.postgresql.org; Thu, 29 May 2025 02:46:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uKTIC-004waF-9r for pgsql-hackers@arkaria.postgresql.org; Thu, 29 May 2025 02:46:52 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uKTIB-004wa7-U2 for pgsql-hackers@lists.postgresql.org; Thu, 29 May 2025 02:46:52 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uKTI7-000eIV-2R for pgsql-hackers@lists.postgresql.org; Thu, 29 May 2025 02:46:51 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 23D1E61B7A; Thu, 29 May 2025 11:46:41 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_24f1b2536b26c7fccf2a042d28089140" Content-Transfer-Encoding: 8bit Date: Thu, 29 May 2025 11:46:41 +0900 From: Masahiro Ikeda To: Fujii Masao Cc: Fujii Masao , Dilip Kumar , Richard Guo , PostgreSQL Hackers Subject: Re: Assertion failure in smgr.c when using pg_prewarm with partitioned tables In-Reply-To: <591e4384-87c1-46b6-a4f2-144738f24956@oss.nttdata.com> References: <1cf7a731-024b-4421-8f09-b67b5c25df93@email.android.com> <591e4384-87c1-46b6-a4f2-144738f24956@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: ikedamsh@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_24f1b2536b26c7fccf2a042d28089140 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Thanks for your feedback. I've attached the updated patches. On 2025-05-28 10:10, Fujii Masao wrote: > On 2025/05/26 16:55, ikedamsh wrote: >> 2025/05/21 12:54 Fujii Masao : >> Regarding the 0002 patch: >> >> - errdetail("Relation \"%s\" is a %s index.", >> - RelationGetRelationName(rel), NameStr(((Form_pg_am) >> GETSTRUCT(amtuprel))->amname)))); >> + errdetail("Relation \"%s\" is a %s %sindex.", >> + RelationGetRelationName(rel), NameStr(((Form_pg_am) >> GETSTRUCT(amtuprel))->amname), >> + (rel->rd_rel->relkind == RELKIND_PARTITIONED_INDEX) ? >> "partitioned " : ""))); >> >> Instead of manually building the message, how about using >> errdetail_relkind_not_supported()? >> It would be more consistent with similar error reporting >> elsewhere. >> >> I was thinking of using errdetail_relkind_not_supported(), >> but I’m reconsidering building the message manually >> since the AM name seems to be important for the error. >> What do you think? > > Understood. > I was trying to better understand the error message, as I found > the following is still a bit confusing for users. However, I don't > have a better suggestion at the moment, so I'm okay with > the proposed change. > > ERROR: expected "btree" index as targets for verification > DETAIL: Relation "pgbench_accounts_pkey" is a btree partitioned What do you think about adding new error messages specifically for partitioned indexes? If the target is a partitioned index, the error messages would be: ERROR: expected index as targets for verification DETAIL: This operation is not supported for partitioned indexes. If the target is an index, but its access method is not supported, the error messages would be: ERROR: expected "btree" index as targets for verification DETAIL: Relation "bttest_a_brin_idx" is a brin index. > This is not directly relation to your proposal, but while reading > the index_checkable() function, I noticed that ReleaseSysCache() > is not called after SearchSysCache1(). Shouldn't we call > ReleaseSysCache() here? Alternatively, we could use get_am_name() > instead of SearchSysCache1(), which might be simpler. Agreed. > I also observed that the error code ERRCODE_FEATURE_NOT_SUPPORTED > is used when the relation is not the expected type in > index_checkable(). > However, based on similar cases (e.g., pgstattuple), it seems that > ERRCODE_WRONG_OBJECT_TYPE might be more appropriate in this situation. > Thought? Agreed. I also change the error code to ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE when the index is not valid. Regards, -- Masahiro Ikeda NTT DATA Japan Corporation --=_24f1b2536b26c7fccf2a042d28089140 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v4-0001-Fix-assertion-failure-when-pg_prewarm-is-run-on-o.patch Content-Disposition: attachment; filename=v4-0001-Fix-assertion-failure-when-pg_prewarm-is-run-on-o.patch; size=3781 RnJvbSBjMWM3YzA2YTFkMmZkN2YzOWEyMmE4MTY3OWJmYmVmYjVlMGIxOTExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8aWtlZGFtc2hAb3NzLm50dGRhdGEu Y29tPgpEYXRlOiBNb24sIDI2IE1heSAyMDI1IDE2OjI1OjQyICswOTAwClN1YmplY3Q6IFtQQVRD SCB2NCAxLzNdIEZpeCBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIHBnX3ByZXdhcm0oKSBpcyBydW4g b24KIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIHN0b3JhZ2UuCgpUaGlzIGlzc3VlIHdhcyBpbnRy b2R1Y2VkIGJ5IGNvbW1pdCAwNDllZjMzLgoKU3BlY2lmeWluZyBvYmplY3RzIHRoYXQgZG9uJ3Qg aGF2ZSBzdG9yYWdlIGFzIGFuIGFyZ3VtZW50IHRvCnBnX3ByZXdhcm0oKSBjb3VsZCB0cmlnZ2Vy IGFuIGFzc2VydGlvbiBmYWlsdXJlOgoKICBGYWlsZWQgQXNzZXJ0KCJSZWxGaWxlTnVtYmVySXNW YWxpZChybG9jYXRvci5yZWxOdW1iZXIpIikKClRoaXMgZml4IGVuc3VyZXMgdGhhdCBzdWNoIGNh c2VzIGFyZSBoYW5kbGVkIGFwcHJvcHJpYXRlbHkuCi0tLQogY29udHJpYi9wZ19wcmV3YXJtL01h a2VmaWxlICAgICAgICAgICAgICAgIHwgIDIgKysKIGNvbnRyaWIvcGdfcHJld2FybS9leHBlY3Rl ZC9wZ19wcmV3YXJtLm91dCB8IDEwICsrKysrKysrKysKIGNvbnRyaWIvcGdfcHJld2FybS9tZXNv bi5idWlsZCAgICAgICAgICAgICB8ICA1ICsrKysrCiBjb250cmliL3BnX3ByZXdhcm0vcGdfcHJl d2FybS5jICAgICAgICAgICAgfCAgOCArKysrKysrKwogY29udHJpYi9wZ19wcmV3YXJtL3NxbC9w Z19wcmV3YXJtLnNxbCAgICAgIHwgMTAgKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAzNSBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJpYi9wZ19wcmV3YXJtL2V4cGVj dGVkL3BnX3ByZXdhcm0ub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJpYi9wZ19wcmV3YXJt L3NxbC9wZ19wcmV3YXJtLnNxbAoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfcHJld2FybS9NYWtl ZmlsZSBiL2NvbnRyaWIvcGdfcHJld2FybS9NYWtlZmlsZQppbmRleCA5Y2ZkZThjNGU0Zi4uNjE3 YWM4ZTA5YjIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfcHJld2FybS9NYWtlZmlsZQorKysgYi9j b250cmliL3BnX3ByZXdhcm0vTWFrZWZpbGUKQEAgLTEwLDYgKzEwLDggQEAgRVhURU5TSU9OID0g cGdfcHJld2FybQogREFUQSA9IHBnX3ByZXdhcm0tLTEuMS0tMS4yLnNxbCBwZ19wcmV3YXJtLS0x LjEuc3FsIHBnX3ByZXdhcm0tLTEuMC0tMS4xLnNxbAogUEdGSUxFREVTQyA9ICJwZ19wcmV3YXJt IC0gcHJlbG9hZCByZWxhdGlvbiBkYXRhIGludG8gc3lzdGVtIGJ1ZmZlciBjYWNoZSIKIAorUkVH UkVTUyA9IHBnX3ByZXdhcm0KKwogVEFQX1RFU1RTID0gMQogCiBpZmRlZiBVU0VfUEdYUwpkaWZm IC0tZ2l0IGEvY29udHJpYi9wZ19wcmV3YXJtL2V4cGVjdGVkL3BnX3ByZXdhcm0ub3V0IGIvY29u dHJpYi9wZ19wcmV3YXJtL2V4cGVjdGVkL3BnX3ByZXdhcm0ub3V0Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NGU0ZmExYTlkMgotLS0gL2Rldi9udWxsCisrKyBiL2Nv bnRyaWIvcGdfcHJld2FybS9leHBlY3RlZC9wZ19wcmV3YXJtLm91dApAQCAtMCwwICsxLDEwIEBA CistLSBUZXN0IHBnX3ByZXdhcm0gZXh0ZW5zaW9uCitDUkVBVEUgRVhURU5TSU9OIHBnX3ByZXdh cm07CistLSBwZ19wcmV3YXJtKCkgc2hvdWxkIGZhaWwgaWYgdGhlIHRhcmdldCByZWxhdGlvbiBo YXMgbm8gc3RvcmFnZS4KK0NSRUFURSBUQUJMRSB0ZXN0IChjMSBpbnQpIFBBUlRJVElPTiBCWSBS QU5HRSAoYzEpOworU0VMRUNUIHBnX3ByZXdhcm0oJ3Rlc3QnLCAnYnVmZmVyJyk7CitFUlJPUjog IHJlbGF0aW9uICJ0ZXN0IiBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UKK0RFVEFJTDogIFRoaXMgb3Bl cmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHBhcnRpdGlvbmVkIHRhYmxlcy4KKy0tIENsZWFu dXAKK0RST1AgVEFCTEUgdGVzdDsKK0RST1AgRVhURU5TSU9OIHBnX3ByZXdhcm07CmRpZmYgLS1n aXQgYS9jb250cmliL3BnX3ByZXdhcm0vbWVzb24uYnVpbGQgYi9jb250cmliL3BnX3ByZXdhcm0v bWVzb24uYnVpbGQKaW5kZXggODJiOTg1MTMwM2MuLmYyNGM0N2VmNmE1IDEwMDY0NAotLS0gYS9j b250cmliL3BnX3ByZXdhcm0vbWVzb24uYnVpbGQKKysrIGIvY29udHJpYi9wZ19wcmV3YXJtL21l c29uLmJ1aWxkCkBAIC0yOSw2ICsyOSwxMSBAQCB0ZXN0cyArPSB7CiAgICduYW1lJzogJ3BnX3By ZXdhcm0nLAogICAnc2QnOiBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKICAgJ2JkJzogbWVz b24uY3VycmVudF9idWlsZF9kaXIoKSwKKyAgJ3JlZ3Jlc3MnOiB7CisgICAgJ3NxbCc6IFsKKyAg ICAgICdwZ19wcmV3YXJtJywKKyAgICBdLAorICB9LAogICAndGFwJzogewogICAgICd0ZXN0cyc6 IFsKICAgICAgICd0LzAwMV9iYXNpYy5wbCcsCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3ByZXdh cm0vcGdfcHJld2FybS5jIGIvY29udHJpYi9wZ19wcmV3YXJtL3BnX3ByZXdhcm0uYwppbmRleCA1 MDgwODU2OWJkNy4uYjk2ODkzM2VhOGIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfcHJld2FybS9w Z19wcmV3YXJtLmMKKysrIGIvY29udHJpYi9wZ19wcmV3YXJtL3BnX3ByZXdhcm0uYwpAQCAtMTEy LDYgKzExMiwxNCBAQCBwZ19wcmV3YXJtKFBHX0ZVTkNUSU9OX0FSR1MpCiAJaWYgKGFjbHJlc3Vs dCAhPSBBQ0xDSEVDS19PSykKIAkJYWNsY2hlY2tfZXJyb3IoYWNscmVzdWx0LCBnZXRfcmVsa2lu ZF9vYmp0eXBlKHJlbC0+cmRfcmVsLT5yZWxraW5kKSwgZ2V0X3JlbF9uYW1lKHJlbE9pZCkpOwog CisJLyogQ2hlY2sgdGhhdCB0aGUgcmVsYXRpb24gaGFzIHN0b3JhZ2UuICovCisJaWYgKCFSRUxL SU5EX0hBU19TVE9SQUdFKHJlbC0+cmRfcmVsLT5yZWxraW5kKSkKKwkJZXJlcG9ydChFUlJPUiwK KwkJCQkoZXJyY29kZShFUlJDT0RFX1dST05HX09CSkVDVF9UWVBFKSwKKwkJCQkgZXJybXNnKCJy ZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlIiwKKwkJCQkJCVJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKHJlbCkpLAorCQkJCSBlcnJkZXRhaWxfcmVsa2luZF9ub3Rfc3VwcG9ydGVk KHJlbC0+cmRfcmVsLT5yZWxraW5kKSkpOworCiAJLyogQ2hlY2sgdGhhdCB0aGUgZm9yayBleGlz dHMuICovCiAJaWYgKCFzbWdyZXhpc3RzKFJlbGF0aW9uR2V0U21ncihyZWwpLCBmb3JrTnVtYmVy KSkKIAkJZXJlcG9ydChFUlJPUiwKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfcHJld2FybS9zcWwv cGdfcHJld2FybS5zcWwgYi9jb250cmliL3BnX3ByZXdhcm0vc3FsL3BnX3ByZXdhcm0uc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jNzZmMmM3OTE2NAotLS0gL2Rl di9udWxsCisrKyBiL2NvbnRyaWIvcGdfcHJld2FybS9zcWwvcGdfcHJld2FybS5zcWwKQEAgLTAs MCArMSwxMCBAQAorLS0gVGVzdCBwZ19wcmV3YXJtIGV4dGVuc2lvbgorQ1JFQVRFIEVYVEVOU0lP TiBwZ19wcmV3YXJtOworCistLSBwZ19wcmV3YXJtKCkgc2hvdWxkIGZhaWwgaWYgdGhlIHRhcmdl dCByZWxhdGlvbiBoYXMgbm8gc3RvcmFnZS4KK0NSRUFURSBUQUJMRSB0ZXN0IChjMSBpbnQpIFBB UlRJVElPTiBCWSBSQU5HRSAoYzEpOworU0VMRUNUIHBnX3ByZXdhcm0oJ3Rlc3QnLCAnYnVmZmVy Jyk7CisKKy0tIENsZWFudXAKK0RST1AgVEFCTEUgdGVzdDsKK0RST1AgRVhURU5TSU9OIHBnX3By ZXdhcm07Ci0tIAoyLjM0LjEKCg== --=_24f1b2536b26c7fccf2a042d28089140 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v4-0002-Fix-error-message-for-partitioned-indexes-in-amch.patch Content-Disposition: attachment; filename=v4-0002-Fix-error-message-for-partitioned-indexes-in-amch.patch; size=3419 RnJvbSA3MDE2NmFlZWNjMGIwOTZhMTA2YTRmOTI2NGUyOGQ3NTQ2OGQ3MTY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8aWtlZGFtc2hAb3NzLm50dGRhdGEu Y29tPgpEYXRlOiBUaHUsIDI5IE1heSAyMDI1IDEwOjMzOjU2ICswOTAwClN1YmplY3Q6IFtQQVRD SCB2NCAyLzNdIEZpeCBlcnJvciBtZXNzYWdlIGZvciBwYXJ0aXRpb25lZCBpbmRleGVzIGluIGFt Y2hlY2sKClVudGlsIG5vdywgdGhlIGVycm9yIGRldGFpbCBjb3VsZCBiZSBtaXNsZWFkaW5nIHdo ZW4gdG8KdmVyaWZ5IHBhcnRpdGlvbmVkIGluZGV4ZXMuCgpGb3IgZXhhbXBsZSwgd2hlbiBidF9p bmRleF9jaGVjaygpIGlzIHJ1biBvbiBwYXJ0aXRpb25lZAppbmRleGVzLCB0aGUgZXJyb3IgbWVz c2FnZXMgYXJlOgoKPiBFUlJPUjogZXhwZWN0ZWQgImJ0cmVlIiBpbmRleCBhcyB0YXJnZXRzIGZv ciB2ZXJpZmljYXRpb24KPiBERVRBSUw6IFJlbGF0aW9uICJwZ2JlbmNoX2FjY291bnRzX3BrZXki IGlzIGEgYnRyZWUgaW5kZXguCgpUaGlzIGNoYW5nZSBhZGRzIHRvIGNoZWNrIHdoZXRoZXIgaXQn cyBwYXJ0aXRpb25lZCBpbmRleGVzCmZpcnN0IHRvIGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aHkg dGhlIGVycm9yIG9jY3VycmVkLgoKQWZ0ZXIgdGhpcyBjaGFuZ2UsIHRoZSBlcnJvciBtZXNzYWdl IGJlY29tZXM6Cgo+ICBFUlJPUjogIGV4cGVjdGVkIGluZGV4IGFzIHRhcmdldHMgZm9yIHZlcmlm aWNhdGlvbgo+ICBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBw YXJ0aXRpb25lZCBpbmRleGVzLgotLS0KIGNvbnRyaWIvYW1jaGVjay9leHBlY3RlZC9jaGVja19i dHJlZS5vdXQgfCA4ICsrKysrKysrCiBjb250cmliL2FtY2hlY2svc3FsL2NoZWNrX2J0cmVlLnNx bCAgICAgIHwgNyArKysrKysrCiBjb250cmliL2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5jICAgICAg ICAgIHwgOSArKysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL2FtY2hlY2svZXhwZWN0ZWQvY2hlY2tf YnRyZWUub3V0IGIvY29udHJpYi9hbWNoZWNrL2V4cGVjdGVkL2NoZWNrX2J0cmVlLm91dAppbmRl eCBjNmY0YjE2YzU1Ni4uNjU1OGYyYzVhNGYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvYW1jaGVjay9l eHBlY3RlZC9jaGVja19idHJlZS5vdXQKKysrIGIvY29udHJpYi9hbWNoZWNrL2V4cGVjdGVkL2No ZWNrX2J0cmVlLm91dApAQCAtNjAsNiArNjAsMTQgQEAgU0VMRUNUIGJ0X2luZGV4X3BhcmVudF9j aGVjaygnYnR0ZXN0X2FfYnJpbl9pZHgnKTsKIEVSUk9SOiAgZXhwZWN0ZWQgImJ0cmVlIiBpbmRl eCBhcyB0YXJnZXRzIGZvciB2ZXJpZmljYXRpb24KIERFVEFJTDogIFJlbGF0aW9uICJidHRlc3Rf YV9icmluX2lkeCIgaXMgYSBicmluIGluZGV4LgogUk9MTEJBQ0s7CistLSB2ZXJpZnkgcGFydGl0 aW9uZWQgaW5kZXhlcyBhcmUgcmVqZWN0ZWQgKGVycm9yKQorQkVHSU47CitDUkVBVEUgVEFCTEUg YnR0ZXN0X3BhcnRpdGlvbmVkIChhIGludCwgYiBpbnQpIFBBUlRJVElPTiBCWSBsaXN0IChhKTsK K0NSRUFURSBJTkRFWCBidHRlc3RfYnRyZWVfcGFydGl0aW9uZWRfaWR4IE9OIGJ0dGVzdF9wYXJ0 aXRpb25lZCBVU0lORyBidHJlZSAoYik7CitTRUxFQ1QgYnRfaW5kZXhfcGFyZW50X2NoZWNrKCdi dHRlc3RfYnRyZWVfcGFydGl0aW9uZWRfaWR4Jyk7CitFUlJPUjogIGV4cGVjdGVkIGluZGV4IGFz IHRhcmdldHMgZm9yIHZlcmlmaWNhdGlvbgorREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gaXMgbm90 IHN1cHBvcnRlZCBmb3IgcGFydGl0aW9uZWQgaW5kZXhlcy4KK1JPTExCQUNLOwogLS0gbm9ybWFs IGNoZWNrIG91dHNpZGUgb2YgeGFjdAogU0VMRUNUIGJ0X2luZGV4X2NoZWNrKCdidHRlc3RfYV9p ZHgnKTsKICBidF9pbmRleF9jaGVjayAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYW1jaGVjay9zcWwv Y2hlY2tfYnRyZWUuc3FsIGIvY29udHJpYi9hbWNoZWNrL3NxbC9jaGVja19idHJlZS5zcWwKaW5k ZXggMDc5M2RiZmVlYmQuLjE3MWY3ZjY5MWVjIDEwMDY0NAotLS0gYS9jb250cmliL2FtY2hlY2sv c3FsL2NoZWNrX2J0cmVlLnNxbAorKysgYi9jb250cmliL2FtY2hlY2svc3FsL2NoZWNrX2J0cmVl LnNxbApAQCAtNTIsNiArNTIsMTMgQEAgQ1JFQVRFIElOREVYIGJ0dGVzdF9hX2JyaW5faWR4IE9O IGJ0dGVzdF9hIFVTSU5HIGJyaW4oaWQpOwogU0VMRUNUIGJ0X2luZGV4X3BhcmVudF9jaGVjaygn YnR0ZXN0X2FfYnJpbl9pZHgnKTsKIFJPTExCQUNLOwogCistLSB2ZXJpZnkgcGFydGl0aW9uZWQg aW5kZXhlcyBhcmUgcmVqZWN0ZWQgKGVycm9yKQorQkVHSU47CitDUkVBVEUgVEFCTEUgYnR0ZXN0 X3BhcnRpdGlvbmVkIChhIGludCwgYiBpbnQpIFBBUlRJVElPTiBCWSBsaXN0IChhKTsKK0NSRUFU RSBJTkRFWCBidHRlc3RfYnRyZWVfcGFydGl0aW9uZWRfaWR4IE9OIGJ0dGVzdF9wYXJ0aXRpb25l ZCBVU0lORyBidHJlZSAoYik7CitTRUxFQ1QgYnRfaW5kZXhfcGFyZW50X2NoZWNrKCdidHRlc3Rf YnRyZWVfcGFydGl0aW9uZWRfaWR4Jyk7CitST0xMQkFDSzsKKwogLS0gbm9ybWFsIGNoZWNrIG91 dHNpZGUgb2YgeGFjdAogU0VMRUNUIGJ0X2luZGV4X2NoZWNrKCdidHRlc3RfYV9pZHgnKTsKIC0t IG1vcmUgZXhwYW5zaXZlIHRlc3RzCmRpZmYgLS1naXQgYS9jb250cmliL2FtY2hlY2svdmVyaWZ5 X2NvbW1vbi5jIGIvY29udHJpYi9hbWNoZWNrL3ZlcmlmeV9jb21tb24uYwppbmRleCBkMDk1ZTYy Y2U1NS4uY2JiYzg0MjBmOTYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvYW1jaGVjay92ZXJpZnlfY29t bW9uLmMKKysrIGIvY29udHJpYi9hbWNoZWNrL3ZlcmlmeV9jb21tb24uYwpAQCAtMTU4LDggKzE1 OCwxMyBAQCBhbWNoZWNrX2xvY2tfcmVsYXRpb25fYW5kX2NoZWNrKE9pZCBpbmRyZWxpZCwKIGJv b2wKIGluZGV4X2NoZWNrYWJsZShSZWxhdGlvbiByZWwsIE9pZCBhbV9pZCkKIHsKLQlpZiAocmVs LT5yZF9yZWwtPnJlbGtpbmQgIT0gUkVMS0lORF9JTkRFWCB8fAotCQlyZWwtPnJkX3JlbC0+cmVs YW0gIT0gYW1faWQpCisJaWYgKHJlbC0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfSU5ERVgp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQ T1JURUQpLAorCQkJCSBlcnJtc2coImV4cGVjdGVkIGluZGV4IGFzIHRhcmdldHMgZm9yIHZlcmlm aWNhdGlvbiIpLAorCQkJCSBlcnJkZXRhaWxfcmVsa2luZF9ub3Rfc3VwcG9ydGVkKHJlbC0+cmRf cmVsLT5yZWxraW5kKSkpOworCisJaWYgKHJlbC0+cmRfcmVsLT5yZWxhbSAhPSBhbV9pZCkKIAl7 CiAJCUhlYXBUdXBsZQlhbXR1cDsKIAkJSGVhcFR1cGxlCWFtdHVwcmVsOwotLSAKMi4zNC4xCgo= --=_24f1b2536b26c7fccf2a042d28089140 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v4-0003-Improve-index_checkable-in-amcheck.patch Content-Disposition: attachment; filename=v4-0003-Improve-index_checkable-in-amcheck.patch; size=2307 RnJvbSAxMjE1YWQ2ZWQ5NjUwMTEzMGZiNjUwMTQxZGU2OWVkM2ZiMzM5Yzk0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8aWtlZGFtc2hAb3NzLm50dGRhdGEu Y29tPgpEYXRlOiBUaHUsIDI5IE1heSAyMDI1IDEwOjU5OjA0ICswOTAwClN1YmplY3Q6IFtQQVRD SCB2NCAzLzNdIEltcHJvdmUgaW5kZXhfY2hlY2thYmxlKCkgaW4gYW1jaGVjawoKUmVmYWN0b3Ig dGhlIGZ1bmN0aW9uIGFuZCB1c2UgbW9yZSBhcHByb3ByaWF0ZSBlcnJvciBjb2Rlcy4KLS0tCiBj b250cmliL2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5jIHwgMTggKysrKysrLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9jb250cmliL2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5jIGIvY29udHJpYi9hbWNoZWNrL3Zl cmlmeV9jb21tb24uYwppbmRleCBjYmJjODQyMGY5Ni4uMjJkZGE5YWZkZGQgMTAwNjQ0Ci0tLSBh L2NvbnRyaWIvYW1jaGVjay92ZXJpZnlfY29tbW9uLmMKKysrIGIvY29udHJpYi9hbWNoZWNrL3Zl cmlmeV9jb21tb24uYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgInZlcmlmeV9jb21tb24u aCIKICNpbmNsdWRlICJjYXRhbG9nL2luZGV4LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hbS5o IgorI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3RhYmxl Y21kcy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hl LmgiCkBAIC0xNjAsMjMgKzE2MSwxNiBAQCBpbmRleF9jaGVja2FibGUoUmVsYXRpb24gcmVsLCBP aWQgYW1faWQpCiB7CiAJaWYgKHJlbC0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfSU5ERVgp CiAJCWVyZXBvcnQoRVJST1IsCi0JCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQ T1JURUQpLAorCQkJCShlcnJjb2RlKEVSUkNPREVfV1JPTkdfT0JKRUNUX1RZUEUpLAogCQkJCSBl cnJtc2coImV4cGVjdGVkIGluZGV4IGFzIHRhcmdldHMgZm9yIHZlcmlmaWNhdGlvbiIpLAogCQkJ CSBlcnJkZXRhaWxfcmVsa2luZF9ub3Rfc3VwcG9ydGVkKHJlbC0+cmRfcmVsLT5yZWxraW5kKSkp OwogCiAJaWYgKHJlbC0+cmRfcmVsLT5yZWxhbSAhPSBhbV9pZCkKLQl7Ci0JCUhlYXBUdXBsZQlh bXR1cDsKLQkJSGVhcFR1cGxlCWFtdHVwcmVsOwotCi0JCWFtdHVwID0gU2VhcmNoU3lzQ2FjaGUx KEFNT0lELCBPYmplY3RJZEdldERhdHVtKGFtX2lkKSk7Ci0JCWFtdHVwcmVsID0gU2VhcmNoU3lz Q2FjaGUxKEFNT0lELCBPYmplY3RJZEdldERhdHVtKHJlbC0+cmRfcmVsLT5yZWxhbSkpOwogCQll cmVwb3J0KEVSUk9SLAotCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVE KSwKLQkJCQkgZXJybXNnKCJleHBlY3RlZCBcIiVzXCIgaW5kZXggYXMgdGFyZ2V0cyBmb3IgdmVy aWZpY2F0aW9uIiwgTmFtZVN0cigoKEZvcm1fcGdfYW0pIEdFVFNUUlVDVChhbXR1cCkpLT5hbW5h bWUpKSwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1dST05HX09CSkVDVF9UWVBFKSwKKwkJCQkgZXJy bXNnKCJleHBlY3RlZCBcIiVzXCIgaW5kZXggYXMgdGFyZ2V0cyBmb3IgdmVyaWZpY2F0aW9uIiwg Z2V0X2FtX25hbWUoYW1faWQpKSwKIAkJCQkgZXJyZGV0YWlsKCJSZWxhdGlvbiBcIiVzXCIgaXMg YSAlcyBpbmRleC4iLAotCQkJCQkJICAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSwgTmFt ZVN0cigoKEZvcm1fcGdfYW0pIEdFVFNUUlVDVChhbXR1cHJlbCkpLT5hbW5hbWUpKSkpOwotCX0K KwkJCQkJCSAgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCksIGdldF9hbV9uYW1lKHJlbC0+ cmRfcmVsLT5yZWxhbSkpKSk7CiAKIAlpZiAoUkVMQVRJT05fSVNfT1RIRVJfVEVNUChyZWwpKQog CQllcmVwb3J0KEVSUk9SLApAQCAtMTg3LDcgKzE4MSw3IEBAIGluZGV4X2NoZWNrYWJsZShSZWxh dGlvbiByZWwsIE9pZCBhbV9pZCkKIAogCWlmICghcmVsLT5yZF9pbmRleC0+aW5kaXN2YWxpZCkK IAkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBP UlRFRCksCisJCQkJKGVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lURV9T VEFURSksCiAJCQkJIGVycm1zZygiY2Fubm90IGNoZWNrIGluZGV4IFwiJXNcIiIsCiAJCQkJCQlS ZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSwKIAkJCQkgZXJyZGV0YWlsKCJJbmRleCBpcyBu b3QgdmFsaWQuIikpKTsKLS0gCjIuMzQuMQoK --=_24f1b2536b26c7fccf2a042d28089140--