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 1uRGPK-009JdW-Fx for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Jun 2025 20:26:18 +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 1uRGPI-003PSH-E8 for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Jun 2025 20:26:17 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uRGPH-003PS5-OG for pgsql-hackers@lists.postgresql.org; Mon, 16 Jun 2025 20:26:16 +0000 Received: from mail-vk1-xa32.google.com ([2607:f8b0:4864:20::a32]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uRGPG-002NLC-0G for pgsql-hackers@postgresql.org; Mon, 16 Jun 2025 20:26:14 +0000 Received: by mail-vk1-xa32.google.com with SMTP id 71dfb90a1353d-5314d78e74fso531282e0c.3 for ; Mon, 16 Jun 2025 13:26:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750105573; x=1750710373; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=o2V+kbXRuyjID8KXQHmxCg2C/8jO2MCE7W2isQZhqRc=; b=XlYDw1TMWFdk0+6GxsObavTrgRkyu38ljIFLRTrnlhC4uAaxNgM2UbAHHPfza6hLGx OcIWqGPWyOdOEGbBNR29f2fev3xsQUMto7Z+7WQLHo8pH8PABAZwr3XIWmuCbD8CH6gO aZN5Rr4xEtMc/MXkeB78FJjDvHBNdj44+xj1xTDRV2T+BfoLoVJEiGmoUORjb+WlnDxI tTgDrFMXLRkSJOMzvG7tcuc44jnVdTLfZffaA6boG1owc1rQp/iJ9viP/8xfO5NKs+m8 PW4GM1O/jEwRzw3V68QPlIx0bRdh15TxZuspQ+fv+LnkuNun1siitfJciVMKq67CBOzM DqtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750105573; x=1750710373; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=o2V+kbXRuyjID8KXQHmxCg2C/8jO2MCE7W2isQZhqRc=; b=fOVnE/mX+uzs/p3Q3Bv39bOXsuSCPXSBdDk2o9ncQAot6Z7UUoCoSs3bEd9a0eFBJa LrwxFj6gexG0gWM+Hyu1EqRc/OAmbQPxY3QxVKRlQ295BZKVeekjQO3b/bHkt9mXqbt7 eH6LbDD75UrNj4/nCuHdz+T548kMAgLEB/7uFLNFQFXfjBRxRVyVmYK/9e9xS8H0lNV9 efuyMY2aZEBLjyQTodhUyv3jCbo4ES7EXYQCflA4go+jtgkOtl2DdPe2u9ADvdhQTmAY YyS5AaiUpIMOnyfhfyTcQ0AMiWdylbFbjyO8exFvm8UCwhQxyvhmMEc/V29LurIBqAsG vcSg== X-Forwarded-Encrypted: i=1; AJvYcCU3o96Kq6daj9x9L1nwAY+0tvoZUD9ODLs6h3pmrUS9lqJ+C+tPUhPM5YXRyDk/NwbmbBruTd4aVMj0CIHi@postgresql.org X-Gm-Message-State: AOJu0Yy+jCFPX406Vb2HyVDC5d4et4kbky4KErRX82rfteJn6fyOLef+ Pel+6yH17iHMpfMjIaNDfxgmLYo8nkTpvRbY+9eHIqde1PhiU0pkaSRs9kwvZ7zkbB1oLpRRHFp d9UfdHqgDGoO3ayuBlXAw4Qm19bpeD7I= X-Gm-Gg: ASbGncu4DrvNAVScu/Ko04cR1PsYzMj6EvVpmIRMmIDwE0/uaQD9YV5Aarjk5Wqbn29 iXowQ+IfInOIokKysQNhzI9u3K2vkvFfLTel+BxfbL+mLwPz1yQhDglxOGiC9GzLS74EWOJSKV2 NsAv+L+2meE9jNhOxD0fK3W0dwBjrEpLadgm7CoJ2nRAg= X-Google-Smtp-Source: AGHT+IGCJaSlpdn3AJHhQG2bmXNkwYHA6oKg/HcBjYgtYp0i6SwsedKAXDBKAKIKaYvL3Vuhdlbi5l/krUpp5DeHxH0= X-Received: by 2002:a05:6122:309e:b0:531:1d21:dbd5 with SMTP id 71dfb90a1353d-531498a2403mr6985218e0c.5.1750105572732; Mon, 16 Jun 2025 13:26:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Mihail Nikalayeu Date: Mon, 16 Jun 2025 22:25:23 +0200 X-Gm-Features: AX0GCFvZKqvMFn4_63EccBRupb34AZGG1FtIt4XdUtbM42REXLbjVUPblvzzHT8 Message-ID: Subject: Re: [BUG?] check_exclusion_or_unique_constraint false negative To: "Zhijie Hou (Fujitsu)" , Peter Geoghegan Cc: Amit Kapila , "Hayato Kuroda (Fujitsu)" , PostgreSQL Hackers , Andres Freund Content-Type: multipart/mixed; boundary="000000000000fbcb900637b6343a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000fbcb900637b6343a Content-Type: text/plain; charset="UTF-8" Rebased. --000000000000fbcb900637b6343a Content-Type: application/octet-stream; name="v8-0001-Add-an-isolation-test-to-reproduce-a-dirty-snapsh.patch" Content-Disposition: attachment; filename="v8-0001-Add-an-isolation-test-to-reproduce-a-dirty-snapsh.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mbzjn2ne1 RnJvbSBlY2E1OTAzOGY4NmQwMzhiNjgzMDRlNGZiYTQyNzRiNGQ5M2RkMTg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBua2V5IDxtaWNoYWlsLm5pa29sYWV2QGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCAyMyBOb3YgMjAyNCAxMzoyNToxMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggdjggMS8y XSBBZGQgYW4gaXNvbGF0aW9uIHRlc3QgdG8gcmVwcm9kdWNlIGEgZGlydHkgc25hcHNob3QKIHNj YW4gaXNzdWUKClRoaXMgY29tbWl0IGludHJvZHVjZXMgYW4gaXNvbGF0aW9uIHRlc3QgdG8gcmVs aWFibHkgcmVwcm9kdWNlIHRoZSBpc3N1ZSB3aGVyZSBub24tTVZDQyBpbmRleCBzY2FucyB1c2lu ZyBTbmFwc2hvdERpcnR5IGNhbiBtaXNzIHR1cGxlcyBkdWUgdG8gY29uY3VycmVudCBtb2RpZmlj YXRpb25zLgpXaGVuIHVzaW5nIG5vbi1NVkNDIHNuYXBzaG90IHR5cGVzLCBhIHNjYW4gY291bGQg bWlzcyB0dXBsZXMgaWYgY29uY3VycmVudCB0cmFuc2FjdGlvbnMgZGVsZXRlIGV4aXN0aW5nIHR1 cGxlcyBhbmQgaW5zZXJ0IG5ldyBvbmUgd2l0aCBkaWZmZXJlbnQgVElEcyBvbiB0aGUgc2FtZSBw YWdlLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9pbmRleGFtLmMgICAgICAgICAgICB8 ICA4ICsrKysKIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNJbmRleGluZy5jICAgICAgICAgICB8 ICAzICsrCiBzcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvTWFrZWZpbGUgICAgfCAg MiArLQogLi4uL2V4cGVjdGVkL2RpcnR5X2luZGV4X3NjYW4ub3V0ICAgICAgICAgICAgIHwgMjcg KysrKysrKysrKysrKysKIHNyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9tZXNvbi5i dWlsZCB8ICAxICsKIC4uLi9zcGVjcy9kaXJ0eV9pbmRleF9zY2FuLnNwZWMgICAgICAgICAgICAg ICB8IDM3ICsrKysrKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMv aW5qZWN0aW9uX3BvaW50cy9leHBlY3RlZC9kaXJ0eV9pbmRleF9zY2FuLm91dAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9zcGVjcy9kaXJ0eV9p bmRleF9zY2FuLnNwZWMKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5k ZXhhbS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYwppbmRleCAyMTlkZjE5 NzFkYS4uNjc2ZTA2YzA5NWMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9p bmRleGFtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYwpAQCAtNTcs NiArNTcsNyBAQAogI2luY2x1ZGUgInV0aWxzL3J1bGV1dGlscy5oIgogI2luY2x1ZGUgInV0aWxz L3NuYXBtZ3IuaCIKICNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxz L2luamVjdGlvbl9wb2ludC5oIgogCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTc0MSw2ICs3NDIsMTMgQEAg aW5kZXhfZ2V0bmV4dF9zbG90KEluZGV4U2NhbkRlc2Mgc2NhbiwgU2NhbkRpcmVjdGlvbiBkaXJl Y3Rpb24sIFR1cGxlVGFibGVTbG90ICoKIAkJICogdGhlIGluZGV4LgogCQkgKi8KIAkJQXNzZXJ0 KEl0ZW1Qb2ludGVySXNWYWxpZCgmc2Nhbi0+eHNfaGVhcHRpZCkpOworI2lmZGVmIFVTRV9JTkpF Q1RJT05fUE9JTlRTCisJCWlmICghSXNDYXRhbG9nUmVsYXRpb25PaWQoc2Nhbi0+aW5kZXhSZWxh dGlvbi0+cmRfaWQpKQorCQl7CisJCQlJTkpFQ1RJT05fUE9JTlQoImluZGV4X2dldG5leHRfc2xv dF9iZWZvcmVfZmV0Y2giLCBOVUxMKTsKKwkJfQorI2VuZGlmCisKIAkJaWYgKGluZGV4X2ZldGNo X2hlYXAoc2Nhbiwgc2xvdCkpCiAJCQlyZXR1cm4gdHJ1ZTsKIAl9CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9leGVjdXRvci9leGVjSW5kZXhpbmcuYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNJbmRleGluZy5jCmluZGV4IGJkZjg2MmIyNDA2Li4zNjc0OGIzOWU2OCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0luZGV4aW5nLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhl Y3V0b3IvZXhlY0luZGV4aW5nLmMKQEAgLTExNyw2ICsxMTcsNyBAQAogI2luY2x1ZGUgInV0aWxz L211bHRpcmFuZ2V0eXBlcy5oIgogI2luY2x1ZGUgInV0aWxzL3JhbmdldHlwZXMuaCIKICNpbmNs dWRlICJ1dGlscy9zbmFwbWdyLmgiCisjaW5jbHVkZSAidXRpbHMvaW5qZWN0aW9uX3BvaW50Lmgi CiAKIC8qIHdhaXRNb2RlIGFyZ3VtZW50IHRvIGNoZWNrX2V4Y2x1c2lvbl9vcl91bmlxdWVfY29u c3RyYWludCgpICovCiB0eXBlZGVmIGVudW0KQEAgLTk0Myw2ICs5NDQsOCBAQCByZXRyeToKIAog CUV4ZWNEcm9wU2luZ2xlVHVwbGVUYWJsZVNsb3QoZXhpc3Rpbmdfc2xvdCk7CiAKKwlpZiAoIWNv bmZsaWN0KQorCQlJTkpFQ1RJT05fUE9JTlQoImNoZWNrX2V4Y2x1c2lvbl9vcl91bmlxdWVfY29u c3RyYWludF9ub19jb25mbGljdCIsIE5VTEwpOwogCXJldHVybiAhY29uZmxpY3Q7CiB9CiAKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9NYWtlZmlsZSBiL3Ny Yy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9NYWtlZmlsZQppbmRleCBlNjgwOTkxZjhk NC4uYjczZjhhYzgwZjIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3Bv aW50cy9NYWtlZmlsZQorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvTWFr ZWZpbGUKQEAgLTE0LDcgKzE0LDcgQEAgUEdGSUxFREVTQyA9ICJpbmplY3Rpb25fcG9pbnRzIC0g ZmFjaWxpdHkgZm9yIGluamVjdGlvbiBwb2ludHMiCiBSRUdSRVNTID0gaW5qZWN0aW9uX3BvaW50 cyBoYXNoYWdnIHJlaW5kZXhfY29uYwogUkVHUkVTU19PUFRTID0gLS1kbHBhdGg9JCh0b3BfYnVp bGRkaXIpL3NyYy90ZXN0L3JlZ3Jlc3MKIAotSVNPTEFUSU9OID0gYmFzaWMgaW5wbGFjZSBzeXNj YWNoZS11cGRhdGUtcHJ1bmVkCitJU09MQVRJT04gPSBiYXNpYyBpbnBsYWNlIHN5c2NhY2hlLXVw ZGF0ZS1wcnVuZWQgZGlydHlfaW5kZXhfc2NhbgogCiBUQVBfVEVTVFMgPSAxCiAKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9leHBlY3RlZC9kaXJ0eV9pbmRl eF9zY2FuLm91dCBiL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9leHBlY3RlZC9k aXJ0eV9pbmRleF9zY2FuLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uYzI4NmE5ZmQ1YjYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2luamVj dGlvbl9wb2ludHMvZXhwZWN0ZWQvZGlydHlfaW5kZXhfc2Nhbi5vdXQKQEAgLTAsMCArMSwyNyBA QAorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDMgc2Vzc2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxX3MxIHMyX3MxIHMzX3MxCitpbmplY3Rpb25fcG9pbnRzX2F0dGFjaAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgCisoMSByb3cpCisKK3N0ZXAg czFfczE6IElOU0VSVCBJTlRPIHRlc3QudGJsIFZBTFVFUyg0MiwgMSkgb24gY29uZmxpY3QoaSkg ZG8gdXBkYXRlIHNldCBuID0gRVhDTFVERUQubiArIDE7IDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJf czE6IFVQREFURSB0ZXN0LnRibCBTRVQgbiA9IG4gKyAxIFdIRVJFIGkgPSA0MjsgPHdhaXRpbmcg Li4uPgorc3RlcCBzM19zMTogCisJU0VMRUNUIGluamVjdGlvbl9wb2ludHNfZGV0YWNoKCdpbmRl eF9nZXRuZXh0X3Nsb3RfYmVmb3JlX2ZldGNoJyk7CisJU0VMRUNUIGluamVjdGlvbl9wb2ludHNf d2FrZXVwKCdpbmRleF9nZXRuZXh0X3Nsb3RfYmVmb3JlX2ZldGNoJyk7CisgPHdhaXRpbmcgLi4u Pgorc3RlcCBzMV9zMTogPC4uLiBjb21wbGV0ZWQ+CitzdGVwIHMyX3MxOiA8Li4uIGNvbXBsZXRl ZD4KK3N0ZXAgczNfczE6IDwuLi4gY29tcGxldGVkPgoraW5qZWN0aW9uX3BvaW50c19kZXRhY2gK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgIAorKDEgcm93 KQorCitpbmplY3Rpb25fcG9pbnRzX3dha2V1cAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgICAgICAgICAgICAgCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21v ZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9tZXNvbi5idWlsZCBiL3NyYy90ZXN0L21vZHVsZXMvaW5q ZWN0aW9uX3BvaW50cy9tZXNvbi5idWlsZAppbmRleCBkNjExNDk3MTJmZC4uYmIzODY5ZjlhNzUg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9tZXNvbi5idWls ZAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvbWVzb24uYnVpbGQKQEAg LTQ3LDYgKzQ3LDcgQEAgdGVzdHMgKz0gewogICAgICAgJ2Jhc2ljJywKICAgICAgICdpbnBsYWNl JywKICAgICAgICdzeXNjYWNoZS11cGRhdGUtcHJ1bmVkJywKKyAgICAgICdkaXJ0eV9pbmRleF9z Y2FuJywKICAgICBdLAogICAgICdydW5uaW5nY2hlY2snOiBmYWxzZSwgIyBzZWUgc3lzY2FjaGUt dXBkYXRlLXBydW5lZAogICB9LApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rp b25fcG9pbnRzL3NwZWNzL2RpcnR5X2luZGV4X3NjYW4uc3BlYyBiL3NyYy90ZXN0L21vZHVsZXMv aW5qZWN0aW9uX3BvaW50cy9zcGVjcy9kaXJ0eV9pbmRleF9zY2FuLnNwZWMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM3M2JjYWY0OTI5Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL3NwZWNzL2RpcnR5X2luZGV4X3Nj YW4uc3BlYwpAQCAtMCwwICsxLDM3IEBACitzZXR1cAoreworCUNSRUFURSBFWFRFTlNJT04gaW5q ZWN0aW9uX3BvaW50czsKKwlDUkVBVEUgU0NIRU1BIHRlc3Q7CisJQ1JFQVRFIFVOTE9HR0VEIFRB QkxFIHRlc3QudGJsKGkgaW50IHByaW1hcnkga2V5LCBuIGludCk7CisJQ1JFQVRFIElOREVYIHRi bF9uX2lkeCBPTiB0ZXN0LnRibChuKTsKKwlJTlNFUlQgSU5UTyB0ZXN0LnRibCBWQUxVRVMoNDIs MSk7Cit9CisKK3RlYXJkb3duCit7CisJRFJPUCBTQ0hFTUEgdGVzdCBDQVNDQURFOworCURST1Ag RVhURU5TSU9OIGluamVjdGlvbl9wb2ludHM7Cit9CisKK3Nlc3Npb24gczEKK3NldHVwCXsKKwlT RUxFQ1QgaW5qZWN0aW9uX3BvaW50c19zZXRfbG9jYWwoKTsKKwlTRUxFQ1QgaW5qZWN0aW9uX3Bv aW50c19hdHRhY2goJ2NoZWNrX2V4Y2x1c2lvbl9vcl91bmlxdWVfY29uc3RyYWludF9ub19jb25m bGljdCcsICdlcnJvcicpOworCVNFTEVDVCBpbmplY3Rpb25fcG9pbnRzX2F0dGFjaCgnaW5kZXhf Z2V0bmV4dF9zbG90X2JlZm9yZV9mZXRjaCcsICd3YWl0Jyk7Cit9CisKK3N0ZXAgczFfczEJeyBJ TlNFUlQgSU5UTyB0ZXN0LnRibCBWQUxVRVMoNDIsIDEpIG9uIGNvbmZsaWN0KGkpIGRvIHVwZGF0 ZSBzZXQgbiA9IEVYQ0xVREVELm4gKyAxOyB9CisKK3Nlc3Npb24gczIKK3N0ZXAgczJfczEJeyBV UERBVEUgdGVzdC50YmwgU0VUIG4gPSBuICsgMSBXSEVSRSBpID0gNDI7IH0KKworc2Vzc2lvbiBz Mworc3RlcCBzM19zMQkJeworCVNFTEVDVCBpbmplY3Rpb25fcG9pbnRzX2RldGFjaCgnaW5kZXhf Z2V0bmV4dF9zbG90X2JlZm9yZV9mZXRjaCcpOworCVNFTEVDVCBpbmplY3Rpb25fcG9pbnRzX3dh a2V1cCgnaW5kZXhfZ2V0bmV4dF9zbG90X2JlZm9yZV9mZXRjaCcpOworfQorCitwZXJtdXRhdGlv bgorCXMxX3MxCisJczJfczEoKikKKwlzM19zMShzMV9zMSkKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCi0tIAoyLjQzLjAKCg== --000000000000fbcb900637b6343a Content-Type: application/octet-stream; name="v8-0002-Fix-btree-index-scan-concurrency-issues-with-dirt.patch" Content-Disposition: attachment; filename="v8-0002-Fix-btree-index-scan-concurrency-issues-with-dirt.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mbzjn2n90 RnJvbSA0NzkzNzU5ZmZhNWFhMWEzMWJjYThlMTlkOGFhYjg2M2FkYmJkOWM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIE5pa2FsYXlldSA8bWloYWlsbmlrYWxheWV1QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCAxNiBKdW4gMjAyNSAyMjoyMDozOCArMDIwMApTdWJqZWN0OiBb UEFUQ0ggdjggMi8yXSBGaXggYnRyZWUgaW5kZXggc2NhbiBjb25jdXJyZW5jeSBpc3N1ZXMgd2l0 aCBkaXJ0eSAKIHNuYXBzaG90cwoKVGhpcyBwYXRjaCBhZGRyZXNzZXMgYW4gaXNzdWUgd2hlcmUg bm9uLU1WQ0MgaW5kZXggc2NhbnMgdXNpbmcgU25hcHNob3REaXJ0eQpvciBTbmFwc2hvdFNlbGYg Y291bGQgbWlzcyB0dXBsZXMgZHVlIHRvIGNvbmN1cnJlbnQgbW9kaWZpY2F0aW9ucy4gVGhlIGZp eApyZXRhaW5zIHJlYWQgbG9ja3Mgb24gcGFnZXMgZm9yIHRoZXNlIHNwZWNpYWwgc25hcHNob3Qg dHlwZXMgdW50aWwgdGhlIHNjYW4KaXMgZG9uZSB3aXRoIHRoZSBwYWdlJ3MgdHVwbGVzLCBwcmV2 ZW50aW5nIGNvbmN1cnJlbnQgbW9kaWZpY2F0aW9ucyBmcm9tCmNhdXNpbmcgaW5jb25zaXN0ZW50 IHJlc3VsdHMuCgpVcGRhdGVkIFJFQURNRSB0byBkb2N1bWVudCB0aGlzIHNwZWNpYWwgY2FzZSBp biB0aGUgYnRyZWUgbG9ja2luZyBtZWNoYW5pc20uCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL25i dHJlZS9SRUFETUUgICAgICB8IDEzICsrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9u YnRyZWUvbmJ0cmVlLmMgICAgfCAxOSArKysrKysrKysrKysrKysrKystCiBzcmMvYmFja2VuZC9h Y2Nlc3MvbmJ0cmVlL25idHNlYXJjaC5jIHwgMTYgKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tl bmQvYWNjZXNzL25idHJlZS9uYnR1dGlscy5jICB8ICA0ICsrKy0KIHNyYy9pbmNsdWRlL2FjY2Vz cy9uYnRyZWUuaCAgICAgICAgICAgfCAgMSArCiA1IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlv bnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL25i dHJlZS9SRUFETUUgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL1JFQURNRQppbmRleCA1M2Q0 YTYxZGMzZi4uYTkyODA0MTU2MzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRy ZWUvUkVBRE1FCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvUkVBRE1FCkBAIC04NSw3 ICs4NSw4IEBAIG1vdmUgcmlnaHQgdW50aWwgd2UgZmluZCBhIHBhZ2Ugd2hvc2UgcmlnaHQtbGlu ayBtYXRjaGVzIHRoZSBwYWdlIHdlCiBjYW1lIGZyb20uICAoQWN0dWFsbHksIGl0J3MgZXZlbiBo YXJkZXIgdGhhbiB0aGF0OyBzZWUgcGFnZSBkZWxldGlvbgogZGlzY3Vzc2lvbiBiZWxvdy4pCiAK LVBhZ2UgcmVhZCBsb2NrcyBhcmUgaGVsZCBvbmx5IGZvciBhcyBsb25nIGFzIGEgc2NhbiBpcyBl eGFtaW5pbmcgYSBwYWdlLgorUGFnZSByZWFkIGxvY2tzIGFyZSBoZWxkIG9ubHkgZm9yIGFzIGxv bmcgYXMgYSBzY2FuIGlzIGV4YW1pbmluZyBhIHBhZ2UKKyh3aXRoIGV4Y2VwdGlvbiBmb3IgU25h cHNob3REaXJ0eSBhbmQgU25hcHNob3RTZWxmIHNjYW5zIC0gc2VlIGJlbG93KS4KIFRvIG1pbmlt aXplIGxvY2svdW5sb2NrIHRyYWZmaWMsIGFuIGluZGV4IHNjYW4gYWx3YXlzIHNlYXJjaGVzIGEg bGVhZiBwYWdlCiB0byBpZGVudGlmeSBhbGwgdGhlIG1hdGNoaW5nIGl0ZW1zIGF0IG9uY2UsIGNv cHlpbmcgdGhlaXIgaGVhcCB0dXBsZSBJRHMKIGludG8gYmFja2VuZC1sb2NhbCBzdG9yYWdlLiAg VGhlIGhlYXAgdHVwbGUgSURzIGFyZSB0aGVuIHByb2Nlc3NlZCB3aGlsZQpAQCAtMTAzLDYgKzEw NCwxNiBAQCBXZSBhbHNvIHJlbWVtYmVyIHRoZSBsZWZ0LWxpbmssIGFuZCBmb2xsb3cgaXQgd2hl biB0aGUgc2NhbiBtb3ZlcyBiYWNrd2FyZHMKICh0aG91Z2ggdGhpcyByZXF1aXJlcyBleHRyYSBo YW5kbGluZyB0byBhY2NvdW50IGZvciBjb25jdXJyZW50IHNwbGl0cyBvZgogdGhlIGxlZnQgc2li bGluZzsgc2VlIGRldGFpbGVkIG1vdmUtbGVmdCBhbGdvcml0aG0gYmVsb3cpLgogCitEZXNwaXRl IHRoZSBkZXNjcmliZWQgbWVjaGFuaWNzIGluIHBsYWNlLCBpbmNvbnNpc3RlbnQgcmVzdWx0cyBt YXkgc3RpbGwgb2NjdXIKK2R1cmluZyBub24tTVZDQyBzY2FucyAoU25hcHNob3REaXJ0eSBhbmQg U25hcHNob3RTZWxmKS4gVGhpcyBpc3N1ZSBjYW4gb2NjdXIgaWYgYSAKK2NvbmN1cnJlbnQgdHJh bnNhY3Rpb24gZGVsZXRlcyBhIHR1cGxlIGFuZCBpbnNlcnRzIGEgbmV3IHR1cGxlIHdpdGggYSBu ZXcgVElEIGluIHRoZSAKK3NhbWUgcGFnZS4gSWYgdGhlIHNjYW4gaGFzIGFscmVhZHkgdmlzaXRl ZCB0aGUgcGFnZSBhbmQgY2FjaGVkIGl0cyBjb250ZW50IGluIHRoZQorYmFja2VuZC1sb2NhbCBz dG9yYWdlLCBpdCBtaWdodCBza2lwIHRoZSBvbGQgdHVwbGUgZHVlIHRvIGRlbGV0aW9uIGFuZCBt aXNzIHRoZSBuZXcgCit0dXBsZSBiZWNhdXNlIHRoZSBzY2FuIGRvZXMgbm90IHJlLXJlYWQgdGhl IHBhZ2UuIFRvIGFkZHJlc3MgdGhpcyBpc3N1ZSwgZm9yIAorU25hcHNob3REaXJ0eSBhbmQgU25h cHNob3RTZWxmIHNjYW5zLCB3ZSByZXRhaW4gdGhlIHJlYWQgbG9jayBvbiB0aGUgcGFnZSB1bnRp bCAKK3dlJ3JlIGNvbXBsZXRlbHkgZG9uZSBwcm9jZXNzaW5nIGFsbCB0aGUgdHVwbGVzIGZyb20g dGhhdCBwYWdlLCBwcmV2ZW50aW5nIAorY29uY3VycmVudCBtb2RpZmljYXRpb25zIHRoYXQgY291 bGQgbGVhZCB0byBpbmNvbnNpc3RlbnQgcmVzdWx0cy4KKwogSW4gbW9zdCBjYXNlcyB3ZSByZWxl YXNlIG91ciBsb2NrIGFuZCBwaW4gb24gYSBwYWdlIGJlZm9yZSBhdHRlbXB0aW5nCiB0byBhY3F1 aXJlIHBpbiBhbmQgbG9jayBvbiB0aGUgcGFnZSB3ZSBhcmUgbW92aW5nIHRvLiAgSW4gYSBmZXcg cGxhY2VzCiBpdCBpcyBuZWNlc3NhcnkgdG8gbG9jayB0aGUgbmV4dCBwYWdlIGJlZm9yZSByZWxl YXNpbmcgdGhlIGN1cnJlbnQgb25lLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL25i dHJlZS9uYnRyZWUuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMKaW5kZXgg ZmRmZjk2MGMxMzAuLmJkYTJiODIxYTUxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mv bmJ0cmVlL25idHJlZS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMK QEAgLTM5MywxMCArMzkzLDIyIEBAIGJ0cmVzY2FuKEluZGV4U2NhbkRlc2Mgc2NhbiwgU2Nhbktl eSBzY2Fua2V5LCBpbnQgbnNjYW5rZXlzLAogCQkvKiBCZWZvcmUgbGVhdmluZyBjdXJyZW50IHBh Z2UsIGRlYWwgd2l0aCBhbnkga2lsbGVkIGl0ZW1zICovCiAJCWlmIChzby0+bnVtS2lsbGVkID4g MCkKIAkJCV9idF9raWxsaXRlbXMoc2Nhbik7CisJCWVsc2UgaWYgKCFzby0+ZHJvcExvY2spIC8q IF9idF9raWxsaXRlbXMgYWx3YXlzIHJlbGVhc2VzIGxvY2sgKi8KKwkJCV9idF91bmxvY2tidWYo c2Nhbi0+aW5kZXhSZWxhdGlvbiwgc28tPmN1cnJQb3MuYnVmKTsKIAkJQlRTY2FuUG9zVW5waW5J ZlBpbm5lZChzby0+Y3VyclBvcyk7CiAJCUJUU2NhblBvc0ludmFsaWRhdGUoc28tPmN1cnJQb3Mp OwogCX0KIAorCS8qCisJICogRm9yIFNuYXBzaG90RGlydHkgYW5kIFNuYXBzaG90U2VsZiBzY2Fu cywgd2UgZG9uJ3QgdW5sb2NrIHRoZSBidWZmZXIKKwkgKiBhbmQga2VlcCB0aGUgbG9jayBzaG91 bGQgYmUgdW50aWwgd2UncmUgY29tcGxldGVseSBkb25lIHdpdGggdGhpcyBwYWdlLgorCSAqIFRo aXMgcHJldmVudHMgY29uY3VycmVudCBtb2RpZmljYXRpb25zIGZyb20gY2F1c2luZyBpbmNvbnNp c3RlbnQKKwkgKiByZXN1bHRzIGR1cmluZyBub24tTVZDQyBzY2Fucy4KKwkgKgorCSAqIFNlZSBu YnRyZWUvUkVBRE1FIGZvciBpbmZvcm1hdGlvbiBhYm91dCBTbmFwc2hvdERpcnR5IGFuZCBTbmFw c2hvdFNlbGYuCisJICovCisJc28tPmRyb3BMb2NrID0gc2Nhbi0+eHNfc25hcHNob3QtPnNuYXBz aG90X3R5cGUgIT0gU05BUFNIT1RfRElSVFkKKwkJCQkJJiYgc2Nhbi0+eHNfc25hcHNob3QtPnNu YXBzaG90X3R5cGUgIT0gU05BUFNIT1RfU0VMRjsKIAkvKgogCSAqIFdlIHByZWZlciB0byBlYWdl cmx5IGRyb3AgbGVhZiBwYWdlIHBpbnMgYmVmb3JlIGJ0Z2V0dHVwbGUgcmV0dXJucy4KIAkgKiBU aGlzIGF2b2lkcyBtYWtpbmcgVkFDVVVNIHdhaXQgdG8gYWNxdWlyZSBhIGNsZWFudXAgbG9jayBv biB0aGUgcGFnZS4KQEAgLTQyMCw3ICs0MzIsOCBAQCBidHJlc2NhbihJbmRleFNjYW5EZXNjIHNj YW4sIFNjYW5LZXkgc2NhbmtleSwgaW50IG5zY2Fua2V5cywKIAkgKgogCSAqIE5vdGU6IHNvLT5k cm9wUGluIHNob3VsZCBuZXZlciBjaGFuZ2UgYWNyb3NzIHJlc2NhbnMuCiAJICovCi0Jc28tPmRy b3BQaW4gPSAoIXNjYW4tPnhzX3dhbnRfaXR1cCAmJgorCXNvLT5kcm9wUGluID0gKHNvLT5kcm9w TG9jayAmJgorCQkJCSAgICFzY2FuLT54c193YW50X2l0dXAgJiYKIAkJCQkgICBJc01WQ0NTbmFw c2hvdChzY2FuLT54c19zbmFwc2hvdCkgJiYKIAkJCQkgICBSZWxhdGlvbk5lZWRzV0FMKHNjYW4t PmluZGV4UmVsYXRpb24pICYmCiAJCQkJICAgc2Nhbi0+aGVhcFJlbGF0aW9uICE9IE5VTEwpOwpA QCAtNDc3LDYgKzQ5MCw4IEBAIGJ0ZW5kc2NhbihJbmRleFNjYW5EZXNjIHNjYW4pCiAJCS8qIEJl Zm9yZSBsZWF2aW5nIGN1cnJlbnQgcGFnZSwgZGVhbCB3aXRoIGFueSBraWxsZWQgaXRlbXMgKi8K IAkJaWYgKHNvLT5udW1LaWxsZWQgPiAwKQogCQkJX2J0X2tpbGxpdGVtcyhzY2FuKTsKKwkJZWxz ZSBpZiAoIXNvLT5kcm9wTG9jaykgLyogX2J0X2tpbGxpdGVtcyBhbHdheXMgcmVsZWFzZXMgbG9j ayAqLworCQkJX2J0X3VubG9ja2J1ZihzY2FuLT5pbmRleFJlbGF0aW9uLCBzby0+Y3VyclBvcy5i dWYpOwogCQlCVFNjYW5Qb3NVbnBpbklmUGlubmVkKHNvLT5jdXJyUG9zKTsKIAl9CiAKQEAgLTU1 Nyw2ICs1NzIsOCBAQCBidHJlc3RycG9zKEluZGV4U2NhbkRlc2Mgc2NhbikKIAkJCS8qIEJlZm9y ZSBsZWF2aW5nIGN1cnJlbnQgcGFnZSwgZGVhbCB3aXRoIGFueSBraWxsZWQgaXRlbXMgKi8KIAkJ CWlmIChzby0+bnVtS2lsbGVkID4gMCkKIAkJCQlfYnRfa2lsbGl0ZW1zKHNjYW4pOworCQkJZWxz ZSBpZiAoIXNvLT5kcm9wTG9jaykgLyogX2J0X2tpbGxpdGVtcyBhbHdheXMgcmVsZWFzZXMgbG9j ayAqLworCQkJCV9idF91bmxvY2tidWYoc2Nhbi0+aW5kZXhSZWxhdGlvbiwgc28tPmN1cnJQb3Mu YnVmKTsKIAkJCUJUU2NhblBvc1VucGluSWZQaW5uZWQoc28tPmN1cnJQb3MpOwogCQl9CiAKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0c2VhcmNoLmMgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvbmJ0cmVlL25idHNlYXJjaC5jCmluZGV4IDM2NTQ0ZWNmZDU4Li4wNGE3NDg1 YzY0MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRzZWFyY2guYwor KysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHNlYXJjaC5jCkBAIC01NywxMiArNTcs MTQgQEAgc3RhdGljIGJvb2wgX2J0X2VuZHBvaW50KEluZGV4U2NhbkRlc2Mgc2NhbiwgU2NhbkRp cmVjdGlvbiBkaXIpOwogLyoKICAqCV9idF9kcm9wX2xvY2tfYW5kX21heWJlX3BpbigpCiAgKgot ICogVW5sb2NrIHNvLT5jdXJyUG9zLmJ1Zi4gIElmIHNjYW4gaXMgc28tPmRyb3BQaW4sIGRyb3Ag dGhlIHBpbiwgdG9vLgorICogVW5sb2NrIHNvLT5jdXJyUG9zLmJ1ZiBpZiBzby0+ZHJvcExvY2su IElmIHNjYW4gaXMgc28tPmRyb3BQaW4sIGRyb3AgdGhlIHBpbiwgdG9vLgogICogRHJvcHBpbmcg dGhlIHBpbiBwcmV2ZW50cyBWQUNVVU0gZnJvbSBibG9ja2luZyBvbiBhY3F1aXJpbmcgYSBjbGVh bnVwIGxvY2suCiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZAogX2J0X2Ryb3BfbG9ja19hbmRfbWF5 YmVfcGluKFJlbGF0aW9uIHJlbCwgQlRTY2FuT3BhcXVlIHNvKQogeworCWlmICghc28tPmRyb3BM b2NrKQorCQlyZXR1cm47CiAJaWYgKCFzby0+ZHJvcFBpbikKIAl7CiAJCS8qIEp1c3QgZHJvcCB0 aGUgbG9jayAobm90IHRoZSBwaW4pICovCkBAIC0xNTMyLDcgKzE1MzQsOCBAQCBfYnRfZmlyc3Qo SW5kZXhTY2FuRGVzYyBzY2FuLCBTY2FuRGlyZWN0aW9uIGRpcikKICAqCV9idF9uZXh0KCkgLS0g R2V0IHRoZSBuZXh0IGl0ZW0gaW4gYSBzY2FuLgogICoKICAqCQlPbiBlbnRyeSwgc28tPmN1cnJQ b3MgZGVzY3JpYmVzIHRoZSBjdXJyZW50IHBhZ2UsIHdoaWNoIG1heSBiZSBwaW5uZWQKLSAqCQli dXQgaXMgbm90IGxvY2tlZCwgYW5kIHNvLT5jdXJyUG9zLml0ZW1JbmRleCBpZGVudGlmaWVzIHdo aWNoIGl0ZW0gd2FzCisgKgkJYnV0IGlzIG5vdCBsb2NrZWQgKGV4Y2VwdCBmb3IgU25hcHNob3RE aXJ0eSBhbmQgU25hcHNob3RTZWxmIHNjYW5zLCB3aGVyZQorICoJCXRoZSBwYWdlIHJlbWFpbnMg bG9ja2VkKSwgYW5kIHNvLT5jdXJyUG9zLml0ZW1JbmRleCBpZGVudGlmaWVzIHdoaWNoIGl0ZW0g d2FzCiAgKgkJcHJldmlvdXNseSByZXR1cm5lZC4KICAqCiAgKgkJT24gc3VjY2VzcyBleGl0LCBz by0+Y3VyclBvcyBpcyB1cGRhdGVkIGFzIG5lZWRlZCwgYW5kIF9idF9yZXR1cm5pdGVtCkBAIC0y MTExLDcgKzIxMTQsOSBAQCBfYnRfcmV0dXJuaXRlbShJbmRleFNjYW5EZXNjIHNjYW4sIEJUU2Nh bk9wYXF1ZSBzbykKICAqIFdyYXBwZXIgb24gX2J0X3JlYWRuZXh0cGFnZSB0aGF0IHBlcmZvcm1z IGZpbmFsIHN0ZXBzIGZvciB0aGUgY3VycmVudCBwYWdlLgogICoKICAqIE9uIGVudHJ5LCBzby0+ Y3VyclBvcyBtdXN0IGJlIHZhbGlkLiAgSXRzIGJ1ZmZlciB3aWxsIGJlIHBpbm5lZCwgdGhvdWdo Ci0gKiBuZXZlciBsb2NrZWQuIChBY3R1YWxseSwgd2hlbiBzby0+ZHJvcFBpbiB0aGVyZSB3b24n dCBldmVuIGJlIGEgcGluIGhlbGQsCisgKiBuZXZlciBsb2NrZWQsIGV4Y2VwdCBmb3IgU25hcHNo b3REaXJ0eSBhbmQgU25hcHNob3RTZWxmIHNjYW5zIHdoZXJlIHRoZSBidWZmZXIKKyAqIHJlbWFp bnMgbG9ja2VkIHVudGlsIHdlJ3JlIGRvbmUgd2l0aCBhbGwgdHVwbGVzIGZyb20gdGhlIHBhZ2UK KyAqIChBY3R1YWxseSwgd2hlbiBzby0+ZHJvcFBpbiB0aGVyZSB3b24ndCBldmVuIGJlIGEgcGlu IGhlbGQsCiAgKiB0aG91Z2ggc28tPmN1cnJQb3MuY3VyclBhZ2UgbXVzdCBzdGlsbCBiZSBzZXQg dG8gYSB2YWxpZCBibG9jayBudW1iZXIuKQogICovCiBzdGF0aWMgYm9vbApAQCAtMjEyNiw2ICsy MTMxLDggQEAgX2J0X3N0ZXBwYWdlKEluZGV4U2NhbkRlc2Mgc2NhbiwgU2NhbkRpcmVjdGlvbiBk aXIpCiAJLyogQmVmb3JlIGxlYXZpbmcgY3VycmVudCBwYWdlLCBkZWFsIHdpdGggYW55IGtpbGxl ZCBpdGVtcyAqLwogCWlmIChzby0+bnVtS2lsbGVkID4gMCkKIAkJX2J0X2tpbGxpdGVtcyhzY2Fu KTsKKwllbHNlIGlmICghc28tPmRyb3BMb2NrKSAvKiBfYnRfa2lsbGl0ZW1zIGFsd2F5cyByZWxl YXNlcyBsb2NrICovCisJCV9idF91bmxvY2tidWYoc2Nhbi0+aW5kZXhSZWxhdGlvbiwgc28tPmN1 cnJQb3MuYnVmKTsKIAogCS8qCiAJICogQmVmb3JlIHdlIG1vZGlmeSBjdXJyUG9zLCBtYWtlIGEg Y29weSBvZiB0aGUgcGFnZSBkYXRhIGlmIHRoZXJlIHdhcyBhCkBAIC0yMjY1LDcgKzIyNzIsOCBA QCBfYnRfcmVhZGZpcnN0cGFnZShJbmRleFNjYW5EZXNjIHNjYW4sIE9mZnNldE51bWJlciBvZmZu dW0sIFNjYW5EaXJlY3Rpb24gZGlyKQogCX0KIAogCS8qIFRoZXJlJ3Mgbm8gYWN0dWFsbHktbWF0 Y2hpbmcgZGF0YSBvbiB0aGUgcGFnZSBpbiBzby0+Y3VyclBvcy5idWYgKi8KLQlfYnRfdW5sb2Nr YnVmKHNjYW4tPmluZGV4UmVsYXRpb24sIHNvLT5jdXJyUG9zLmJ1Zik7CisJaWYgKHNvLT5kcm9w TG9jaykKKwkJX2J0X3VubG9ja2J1ZihzY2FuLT5pbmRleFJlbGF0aW9uLCBzby0+Y3VyclBvcy5i dWYpOwogCiAJLyogQ2FsbCBfYnRfcmVhZG5leHRwYWdlIHVzaW5nIGl0cyBfYnRfc3RlcHBhZ2Ug d3JhcHBlciBmdW5jdGlvbiAqLwogCWlmICghX2J0X3N0ZXBwYWdlKHNjYW4sIGRpcikpCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHV0aWxzLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvbmJ0cmVlL25idHV0aWxzLmMKaW5kZXggYzcxZDFiNmYyZTEuLjMzMjE1Yzg5ZGRl IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHV0aWxzLmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnR1dGlscy5jCkBAIC0zMzc5LDggKzMzNzksMTAg QEAgX2J0X2tpbGxpdGVtcyhJbmRleFNjYW5EZXNjIHNjYW4pCiAJCSAqIGNvbmN1cnJlbnQgVkFD VVVNcyBmcm9tIHJlY3ljbGluZyBhbnkgb2YgdGhlIFRJRHMgb24gdGhlIHBhZ2UuCiAJCSAqLwog CQlBc3NlcnQoQlRTY2FuUG9zSXNQaW5uZWQoc28tPmN1cnJQb3MpKTsKKwkJLyogTG9jayBvbmx5 IGlmIHRoZSBsb2NrIGlzIGRyb3BwZWQuICovCiAJCWJ1ZiA9IHNvLT5jdXJyUG9zLmJ1ZjsKLQkJ X2J0X2xvY2tidWYocmVsLCBidWYsIEJUX1JFQUQpOworCQlpZiAoc28tPmRyb3BMb2NrKQorCQkJ X2J0X2xvY2tidWYocmVsLCBidWYsIEJUX1JFQUQpOwogCX0KIAllbHNlCiAJewpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvYWNjZXNzL25idHJlZS5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL25idHJl ZS5oCmluZGV4IGU3MDlkMmUwYWZlLi5jYThlYmQ3YTQxOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvYWNjZXNzL25idHJlZS5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9uYnRyZWUuaApAQCAt MTA3MCw2ICsxMDcwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQlRTY2FuT3BhcXVlRGF0YQogCS8qIGlu Zm8gYWJvdXQga2lsbGVkIGl0ZW1zIGlmIGFueSAoa2lsbGVkSXRlbXMgaXMgTlVMTCBpZiBuZXZl ciB1c2VkKSAqLwogCWludAkJICAgKmtpbGxlZEl0ZW1zOwkvKiBjdXJyUG9zLml0ZW1zIGluZGV4 ZXMgb2Yga2lsbGVkIGl0ZW1zICovCiAJaW50CQkJbnVtS2lsbGVkOwkJLyogbnVtYmVyIG9mIGN1 cnJlbnRseSBzdG9yZWQgaXRlbXMgKi8KKwlib29sCQlkcm9wTG9jazsJCS8qIGRyb3AgbG9jayBv biBiZWZvcmUgYnRnZXR0dXBsZSByZXR1cm5zPyAqLwogCWJvb2wJCWRyb3BQaW47CQkvKiBkcm9w IGxlYWYgcGluIGJlZm9yZSBidGdldHR1cGxlIHJldHVybnM/ICovCiAKIAkvKgotLSAKMi40My4w Cgo= --000000000000fbcb900637b6343a--