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 1uGf94-005Pj7-I0 for pgsql-hackers@arkaria.postgresql.org; Sun, 18 May 2025 14:37:43 +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 1uGf93-00AFod-L3 for pgsql-hackers@arkaria.postgresql.org; Sun, 18 May 2025 14:37:41 +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 1uGf92-00AFoT-Vd for pgsql-hackers@lists.postgresql.org; Sun, 18 May 2025 14:37:41 +0000 Received: from mail-vk1-xa2d.google.com ([2607:f8b0:4864:20::a2d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uGf90-002PGT-1a for pgsql-hackers@postgresql.org; Sun, 18 May 2025 14:37:40 +0000 Received: by mail-vk1-xa2d.google.com with SMTP id 71dfb90a1353d-52d9a275c27so2435838e0c.0 for ; Sun, 18 May 2025 07:37:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747579058; x=1748183858; 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=YY18BWdwMLa1cEKP66cMpdj6s5ts8x7w4sUjdh3IYCY=; b=K6ZVJ94LqsnHI8Mc/BvHB8vrepf3weHVNvekLWEB/MftGhLnXT4LlheW+Qsk8LTWUJ XNIyxGcFTkpAsdIwfiBYqjkhUxT0myhtKTJG1dp64gG9DvUGVpHNP/TEoY+V6lKqPaSO JKhFE+1kW9QJLiYZgGQniDUogGDzP9tjDJZsmtFu6HBeOihnt8XDytZ9mzJ9p/+HpyQ4 r+kNldR3ZuxYWrqlow3WdqFfsW88uKhyhZKXifkFGki0kRu9VXnboMAKqyzBD0wZPblP ShE+PavnTCI4XarVVvCeOVHkHMnyiKci9sOuXV6ddMMdLNOr0NFBZK/BmRz2ZS4RttLk iwvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747579058; x=1748183858; 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=YY18BWdwMLa1cEKP66cMpdj6s5ts8x7w4sUjdh3IYCY=; b=ti/z+1HkstrWSlXJrLvnTwnbGjI6Y1WNwJe8YskXicVgoUg6+KaSEMYkprSmRpVBId jBpNoUNZCzaXUZMS2wxVmOYnPVHO/p7xslCONIrMOp0oHnyrIaYs/7Pnul9vVZAPgI1/ Us41K/Eutzd/kV0TCfdbN73FNmT4YQrEI27h/Ktmzs9xlOA9Z66L0r6GIQjxGBz7+KkR /OIHekm+E/Cpcw/Yepcc3v0UdP2oPbe9nzYLo6woRdczdiw1K7qDDXITkW1pC51pJxu4 dyXGtIusVgG+RlYY1nPKRKE1cyZWR8fQVvWqwtT62F0yKF0MY9+BbESvxT0N0hEEuv5M A/LQ== X-Forwarded-Encrypted: i=1; AJvYcCXMx4CvJfrhTqtLSGjbPrhsFTfs0rqxDxgRYX76ij+m6CbTqVNQNAVXe74EKoLPgfbArH5bpSeO5cLSOr6E@postgresql.org X-Gm-Message-State: AOJu0YxxKuSEIlVJvB+4yppHRQx5zK7O4YSb2F4z8ktn4qbZeLj3r+5Z 0PTOYK2H7rfy479K/WcRrLLRf96SB7GSzvLZPGJbtIB+mI2juyQx+mGCR+W0trVS+/w05BTl3Gh 7qiyqHncRpEPX4ePI0uMR3jU1Rc1H7QM= X-Gm-Gg: ASbGncsdjKRwJdEFR7qJoST/1mM+J7fvUbDz5AZbT1zA4gMt5BKY/tDCVVyfTQsOMxb 9knsGCXAyW0VH6UnOdiFZmofKWij59WLxFvP/0JIlCx48bAp8FJQiE1HWfGDmOu/NY9/mqJN/4m EWVJUMGGlc5HR1EjNryTEp2A2KXPBiCFzH X-Google-Smtp-Source: AGHT+IGBV/SwFLpa2h/fCZ2ZtTTkv2zkSnAHqkZ3CrD+RiHLJPPEoKlNtFzvpsT5rENUHx4c+FzZg4G0WYbDuwTP7Xg= X-Received: by 2002:a05:6122:4147:b0:52a:79fd:34bd with SMTP id 71dfb90a1353d-52dba83b425mr9482986e0c.4.1747579057728; Sun, 18 May 2025 07:37:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Mihail Nikalayeu Date: Sun, 18 May 2025 16:36:00 +0200 X-Gm-Features: AX0GCFvrgOdbTpY26zykDG353393PdjT4_yDBGRC3zNTU18tFSrMFp-n1Gc1Qao 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="000000000000f41665063569f4bb" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f41665063569f4bb Content-Type: text/plain; charset="UTF-8" Hello, everyone! Rebased + fix for compilation due the new INEJCTION_POINT signature. Best regards, Mikhail. --000000000000f41665063569f4bb Content-Type: application/octet-stream; name="v6-0001-Add-an-isolation-test-to-reproduce-a-dirty-snapsh.patch" Content-Disposition: attachment; filename="v6-0001-Add-an-isolation-test-to-reproduce-a-dirty-snapsh.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_matp9ti00 RnJvbSAwN2YyZDgxNmM5NGQ5NGM1ODdjZWYxNmE2NDQ4ZGUwOWVmMWRjMmQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBua2V5IDxtaWNoYWlsLm5pa29sYWV2QGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCAyMyBOb3YgMjAyNCAxMzoyNToxMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggdjYgMS8y 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== --000000000000f41665063569f4bb Content-Type: application/octet-stream; name="v6-0002-Fix-btree-index-scan-concurrency-issues-with-dirt.patch" Content-Disposition: attachment; filename="v6-0002-Fix-btree-index-scan-concurrency-issues-with-dirt.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_matp9ti91 RnJvbSAzMTg4MjJmMGQyODQ4ZmIzYTM0MDBkZDJlYTVmMmMwNDAwZjk1MDViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBua2V5IDxtaWNoYWlsLm5pa29sYWV2QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAxMiBNYXIgMjAyNSAwMDo1MzowMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggdjYgMi8y XSBGaXggYnRyZWUgaW5kZXggc2NhbiBjb25jdXJyZW5jeSBpc3N1ZXMgd2l0aCBkaXJ0eQogc25h cHNob3RzCgpUaGlzIHBhdGNoIGFkZHJlc3NlcyBhbiBpc3N1ZSB3aGVyZSBub24tTVZDQyBpbmRl eCBzY2FucyB1c2luZyBTbmFwc2hvdERpcnR5Cm9yIFNuYXBzaG90U2VsZiBjb3VsZCBtaXNzIHR1 cGxlcyBkdWUgdG8gY29uY3VycmVudCBtb2RpZmljYXRpb25zLiBUaGUgZml4CnJldGFpbnMgcmVh ZCBsb2NrcyBvbiBwYWdlcyBmb3IgdGhlc2Ugc3BlY2lhbCBzbmFwc2hvdCB0eXBlcyB1bnRpbCB0 aGUgc2NhbgppcyBkb25lIHdpdGggdGhlIHBhZ2UncyB0dXBsZXMsIHByZXZlbnRpbmcgY29uY3Vy cmVudCBtb2RpZmljYXRpb25zIGZyb20KY2F1c2luZyBpbmNvbnNpc3RlbnQgcmVzdWx0cy4KClVw ZGF0ZWQgUkVBRE1FIHRvIGRvY3VtZW50IHRoaXMgc3BlY2lhbCBjYXNlIGluIHRoZSBidHJlZSBs b2NraW5nIG1lY2hhbmlzbS4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL1JFQURNRSAg ICAgIHwgMTMgKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYyAg ICB8IDE3ICsrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0c2VhcmNo LmMgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9u YnRyZWUvbmJ0dXRpbHMuYyAgfCAgOCArKysrKy0KIHNyYy9pbmNsdWRlL2FjY2Vzcy9uYnRyZWUu aCAgICAgICAgICAgfCAgMyArKysKIDUgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwg NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL1JF QURNRSBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvUkVBRE1FCmluZGV4IDUzZDRhNjFkYzNm Li5hOTI4MDQxNTYzMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9SRUFE TUUKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9SRUFETUUKQEAgLTg1LDcgKzg1LDgg QEAgbW92ZSByaWdodCB1bnRpbCB3ZSBmaW5kIGEgcGFnZSB3aG9zZSByaWdodC1saW5rIG1hdGNo ZXMgdGhlIHBhZ2Ugd2UKIGNhbWUgZnJvbS4gIChBY3R1YWxseSwgaXQncyBldmVuIGhhcmRlciB0 aGFuIHRoYXQ7IHNlZSBwYWdlIGRlbGV0aW9uCiBkaXNjdXNzaW9uIGJlbG93LikKIAotUGFnZSBy ZWFkIGxvY2tzIGFyZSBoZWxkIG9ubHkgZm9yIGFzIGxvbmcgYXMgYSBzY2FuIGlzIGV4YW1pbmlu ZyBhIHBhZ2UuCitQYWdlIHJlYWQgbG9ja3MgYXJlIGhlbGQgb25seSBmb3IgYXMgbG9uZyBhcyBh IHNjYW4gaXMgZXhhbWluaW5nIGEgcGFnZQorKHdpdGggZXhjZXB0aW9uIGZvciBTbmFwc2hvdERp cnR5IGFuZCBTbmFwc2hvdFNlbGYgc2NhbnMgLSBzZWUgYmVsb3cpLgogVG8gbWluaW1pemUgbG9j ay91bmxvY2sgdHJhZmZpYywgYW4gaW5kZXggc2NhbiBhbHdheXMgc2VhcmNoZXMgYSBsZWFmIHBh Z2UKIHRvIGlkZW50aWZ5IGFsbCB0aGUgbWF0Y2hpbmcgaXRlbXMgYXQgb25jZSwgY29weWluZyB0 aGVpciBoZWFwIHR1cGxlIElEcwogaW50byBiYWNrZW5kLWxvY2FsIHN0b3JhZ2UuICBUaGUgaGVh cCB0dXBsZSBJRHMgYXJlIHRoZW4gcHJvY2Vzc2VkIHdoaWxlCkBAIC0xMDMsNiArMTA0LDE2IEBA IFdlIGFsc28gcmVtZW1iZXIgdGhlIGxlZnQtbGluaywgYW5kIGZvbGxvdyBpdCB3aGVuIHRoZSBz Y2FuIG1vdmVzIGJhY2t3YXJkcwogKHRob3VnaCB0aGlzIHJlcXVpcmVzIGV4dHJhIGhhbmRsaW5n IHRvIGFjY291bnQgZm9yIGNvbmN1cnJlbnQgc3BsaXRzIG9mCiB0aGUgbGVmdCBzaWJsaW5nOyBz ZWUgZGV0YWlsZWQgbW92ZS1sZWZ0IGFsZ29yaXRobSBiZWxvdykuCiAKK0Rlc3BpdGUgdGhlIGRl c2NyaWJlZCBtZWNoYW5pY3MgaW4gcGxhY2UsIGluY29uc2lzdGVudCByZXN1bHRzIG1heSBzdGls bCBvY2N1cgorZHVyaW5nIG5vbi1NVkNDIHNjYW5zIChTbmFwc2hvdERpcnR5IGFuZCBTbmFwc2hv dFNlbGYpLiBUaGlzIGlzc3VlIGNhbiBvY2N1ciBpZiBhIAorY29uY3VycmVudCB0cmFuc2FjdGlv biBkZWxldGVzIGEgdHVwbGUgYW5kIGluc2VydHMgYSBuZXcgdHVwbGUgd2l0aCBhIG5ldyBUSUQg aW4gdGhlIAorc2FtZSBwYWdlLiBJZiB0aGUgc2NhbiBoYXMgYWxyZWFkeSB2aXNpdGVkIHRoZSBw YWdlIGFuZCBjYWNoZWQgaXRzIGNvbnRlbnQgaW4gdGhlCitiYWNrZW5kLWxvY2FsIHN0b3JhZ2Us IGl0IG1pZ2h0IHNraXAgdGhlIG9sZCB0dXBsZSBkdWUgdG8gZGVsZXRpb24gYW5kIG1pc3MgdGhl IG5ldyAKK3R1cGxlIGJlY2F1c2UgdGhlIHNjYW4gZG9lcyBub3QgcmUtcmVhZCB0aGUgcGFnZS4g VG8gYWRkcmVzcyB0aGlzIGlzc3VlLCBmb3IgCitTbmFwc2hvdERpcnR5IGFuZCBTbmFwc2hvdFNl bGYgc2NhbnMsIHdlIHJldGFpbiB0aGUgcmVhZCBsb2NrIG9uIHRoZSBwYWdlIHVudGlsIAord2Un cmUgY29tcGxldGVseSBkb25lIHByb2Nlc3NpbmcgYWxsIHRoZSB0dXBsZXMgZnJvbSB0aGF0IHBh Z2UsIHByZXZlbnRpbmcgCitjb25jdXJyZW50IG1vZGlmaWNhdGlvbnMgdGhhdCBjb3VsZCBsZWFk IHRvIGluY29uc2lzdGVudCByZXN1bHRzLgorCiBJbiBtb3N0IGNhc2VzIHdlIHJlbGVhc2Ugb3Vy IGxvY2sgYW5kIHBpbiBvbiBhIHBhZ2UgYmVmb3JlIGF0dGVtcHRpbmcKIHRvIGFjcXVpcmUgcGlu IGFuZCBsb2NrIG9uIHRoZSBwYWdlIHdlIGFyZSBtb3ZpbmcgdG8uICBJbiBhIGZldyBwbGFjZXMK IGl0IGlzIG5lY2Vzc2FyeSB0byBsb2NrIHRoZSBuZXh0IHBhZ2UgYmVmb3JlIHJlbGVhc2luZyB0 aGUgY3VycmVudCBvbmUuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25i dHJlZS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYwppbmRleCA3NjU2NTk4 ODdhZi4uODIzOTA3NmM1MTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUv bmJ0cmVlLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYwpAQCAtMzg5 LDYgKzM4OSwxMiBAQCBidHJlc2NhbihJbmRleFNjYW5EZXNjIHNjYW4sIFNjYW5LZXkgc2Nhbmtl eSwgaW50IG5zY2Fua2V5cywKIAkJLyogQmVmb3JlIGxlYXZpbmcgY3VycmVudCBwYWdlLCBkZWFs IHdpdGggYW55IGtpbGxlZCBpdGVtcyAqLwogCQlpZiAoc28tPm51bUtpbGxlZCA+IDApCiAJCQlf YnRfa2lsbGl0ZW1zKHNjYW4pOworCQkvKiBSZWxlYXNlIGFueSBleHRlbmRlZCBsb2NrIGhlbGQg Zm9yIFNuYXBzaG90RGlydHkvU2VsZiBzY2FucyAqLworCQlpZiAoc28tPmN1cnJQb3MuZXh0cmFf dW5sb2NrKQorCQl7CisJCQlfYnRfdW5sb2NrYnVmKHNjYW4tPmluZGV4UmVsYXRpb24sIHNvLT5j dXJyUG9zLmJ1Zik7CisJCQlzby0+Y3VyclBvcy5leHRyYV91bmxvY2sgPSBmYWxzZTsKKwkJfQog CQlCVFNjYW5Qb3NVbnBpbklmUGlubmVkKHNvLT5jdXJyUG9zKTsKIAkJQlRTY2FuUG9zSW52YWxp ZGF0ZShzby0+Y3VyclBvcyk7CiAJfQpAQCAtNDQ1LDYgKzQ1MSwxMiBAQCBidGVuZHNjYW4oSW5k ZXhTY2FuRGVzYyBzY2FuKQogCQkvKiBCZWZvcmUgbGVhdmluZyBjdXJyZW50IHBhZ2UsIGRlYWwg d2l0aCBhbnkga2lsbGVkIGl0ZW1zICovCiAJCWlmIChzby0+bnVtS2lsbGVkID4gMCkKIAkJCV9i dF9raWxsaXRlbXMoc2Nhbik7CisJCS8qIFJlbGVhc2UgYW55IGV4dGVuZGVkIGxvY2sgaGVsZCBm b3IgU25hcHNob3REaXJ0eS9TZWxmIHNjYW5zICovCisJCWlmIChzby0+Y3VyclBvcy5leHRyYV91 bmxvY2spCisJCXsKKwkJCV9idF91bmxvY2tidWYoc2Nhbi0+aW5kZXhSZWxhdGlvbiwgc28tPmN1 cnJQb3MuYnVmKTsKKwkJCXNvLT5jdXJyUG9zLmV4dHJhX3VubG9jayA9IGZhbHNlOworCQl9CiAJ CUJUU2NhblBvc1VucGluSWZQaW5uZWQoc28tPmN1cnJQb3MpOwogCX0KIApAQCAtNTI1LDYgKzUz NywxMSBAQCBidHJlc3RycG9zKEluZGV4U2NhbkRlc2Mgc2NhbikKIAkJCS8qIEJlZm9yZSBsZWF2 aW5nIGN1cnJlbnQgcGFnZSwgZGVhbCB3aXRoIGFueSBraWxsZWQgaXRlbXMgKi8KIAkJCWlmIChz by0+bnVtS2lsbGVkID4gMCkKIAkJCQlfYnRfa2lsbGl0ZW1zKHNjYW4pOworCQkJaWYgKHNvLT5j dXJyUG9zLmV4dHJhX3VubG9jaykKKwkJCXsKKwkJCQlfYnRfdW5sb2NrYnVmKHNjYW4tPmluZGV4 UmVsYXRpb24sIHNvLT5jdXJyUG9zLmJ1Zik7CisJCQkJc28tPmN1cnJQb3MuZXh0cmFfdW5sb2Nr ID0gZmFsc2U7CisJCQl9CiAJCQlCVFNjYW5Qb3NVbnBpbklmUGlubmVkKHNvLT5jdXJyUG9zKTsK IAkJfQogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHNlYXJjaC5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRzZWFyY2guYwppbmRleCBmZTlhMzg4Njkx My4uMmM1YTM0Y2FjZmUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0 c2VhcmNoLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRzZWFyY2guYwpAQCAt NjEsMTEgKzYxLDIyIEBAIHN0YXRpYyBib29sIF9idF9lbmRwb2ludChJbmRleFNjYW5EZXNjIHNj YW4sIFNjYW5EaXJlY3Rpb24gZGlyKTsKICAqIFRoaXMgd2lsbCBwcmV2ZW50IHZhY3V1bSBmcm9t IHN0YWxsaW5nIGluIGEgYmxvY2tlZCBzdGF0ZSB0cnlpbmcgdG8gcmVhZCBhCiAgKiBwYWdlIHdo ZW4gYSBjdXJzb3IgaXMgc2l0dGluZyBvbiBpdC4KICAqCisgKiBGb3IgU25hcHNob3REaXJ0eSBh bmQgU25hcHNob3RTZWxmIHNjYW5zLCB3ZSBkb24ndCBhY3R1YWxseSB1bmxvY2sgdGhlIGJ1ZmZl cgorICogaGVyZSwgYnV0IGluc3RlYWQgc2V0IGV4dHJhX3VubG9jayB0byBpbmRpY2F0ZSB0aGF0 IHRoZSBsb2NrIHNob3VsZCBiZSBoZWxkCisgKiB1bnRpbCB3ZSdyZSBjb21wbGV0ZWx5IGRvbmUg d2l0aCB0aGlzIHBhZ2UuIFRoaXMgcHJldmVudHMgY29uY3VycmVudAorICogbW9kaWZpY2F0aW9u cyBmcm9tIGNhdXNpbmcgaW5jb25zaXN0ZW50IHJlc3VsdHMgZHVyaW5nIG5vbi1NVkNDIHNjYW5z LgorICoKICAqIFNlZSBuYnRyZWUvUkVBRE1FIHNlY3Rpb24gb24gbWFraW5nIGNvbmN1cnJlbnQg VElEIHJlY3ljbGluZyBzYWZlLgogICovCiBzdGF0aWMgdm9pZAogX2J0X2Ryb3BfbG9ja19hbmRf bWF5YmVfcGluKEluZGV4U2NhbkRlc2Mgc2NhbiwgQlRTY2FuUG9zIHNwKQogeworCWlmIChzY2Fu LT54c19zbmFwc2hvdC0+c25hcHNob3RfdHlwZSA9PSBTTkFQU0hPVF9ESVJUWSB8fAorCQlzY2Fu LT54c19zbmFwc2hvdC0+c25hcHNob3RfdHlwZSA9PSBTTkFQU0hPVF9TRUxGKQorCXsKKwkJc3At PmV4dHJhX3VubG9jayA9IHRydWU7CisJCXJldHVybjsKKwl9CiAJX2J0X3VubG9ja2J1ZihzY2Fu LT5pbmRleFJlbGF0aW9uLCBzcC0+YnVmKTsKIAogCWlmIChJc01WQ0NTbmFwc2hvdChzY2FuLT54 c19zbmFwc2hvdCkgJiYKQEAgLTE1MjcsNyArMTUzOCw4IEBAIF9idF9maXJzdChJbmRleFNjYW5E ZXNjIHNjYW4sIFNjYW5EaXJlY3Rpb24gZGlyKQogICoJX2J0X25leHQoKSAtLSBHZXQgdGhlIG5l eHQgaXRlbSBpbiBhIHNjYW4uCiAgKgogICoJCU9uIGVudHJ5LCBzby0+Y3VyclBvcyBkZXNjcmli ZXMgdGhlIGN1cnJlbnQgcGFnZSwgd2hpY2ggbWF5IGJlIHBpbm5lZAotICoJCWJ1dCBpcyBub3Qg bG9ja2VkLCBhbmQgc28tPmN1cnJQb3MuaXRlbUluZGV4IGlkZW50aWZpZXMgd2hpY2ggaXRlbSB3 YXMKKyAqCQlidXQgaXMgbm90IGxvY2tlZCAoZXhjZXB0IGZvciBTbmFwc2hvdERpcnR5IGFuZCBT bmFwc2hvdFNlbGYgc2NhbnMsIHdoZXJlCisgKgkJdGhlIHBhZ2UgcmVtYWlucyBsb2NrZWQpLCBh bmQgc28tPmN1cnJQb3MuaXRlbUluZGV4IGlkZW50aWZpZXMgd2hpY2ggaXRlbSB3YXMKICAqCQlw cmV2aW91c2x5IHJldHVybmVkLgogICoKICAqCQlPbiBzdWNjZXNzIGV4aXQsIHNvLT5jdXJyUG9z IGlzIHVwZGF0ZWQgYXMgbmVlZGVkLCBhbmQgX2J0X3JldHVybml0ZW0KQEAgLTIxMDcsMTAgKzIx MTksMTEgQEAgX2J0X3JldHVybml0ZW0oSW5kZXhTY2FuRGVzYyBzY2FuLCBCVFNjYW5PcGFxdWUg c28pCiAgKgogICogV3JhcHBlciBvbiBfYnRfcmVhZG5leHRwYWdlIHRoYXQgcGVyZm9ybXMgZmlu YWwgc3RlcHMgZm9yIHRoZSBjdXJyZW50IHBhZ2UuCiAgKgotICogT24gZW50cnksIGlmIHNvLT5j dXJyUG9zLmJ1ZiBpcyB2YWxpZCB0aGUgYnVmZmVyIGlzIHBpbm5lZCBidXQgbm90IGxvY2tlZC4K LSAqIElmIHRoZXJlJ3Mgbm8gcGluIGhlbGQsIGl0J3MgYmVjYXVzZSBfYnRfZHJvcF9sb2NrX2Fu ZF9tYXliZV9waW4gZHJvcHBlZAotICogdGhlIHBpbiBlYWdlcmx5IGVhcmxpZXIgb24uICBUaGUg c2NhbiBtdXN0IGhhdmUgc28tPmN1cnJQb3MuY3VyclBhZ2Ugc2V0IHRvCi0gKiBhIHZhbGlkIGJs b2NrLCBpbiBhbnkgY2FzZS4KKyAqIE9uIGVudHJ5LCBpZiBzby0+Y3VyclBvcy5idWYgaXMgdmFs aWQgdGhlIGJ1ZmZlciBpcyBwaW5uZWQgYnV0IG5vdCBsb2NrZWQsCisgKiBleGNlcHQgZm9yIFNu YXBzaG90RGlydHkgYW5kIFNuYXBzaG90U2VsZiBzY2FucyB3aGVyZSB0aGUgYnVmZmVyIHJlbWFp bnMgbG9ja2VkCisgKiB1bnRpbCB3ZSdyZSBkb25lIHdpdGggYWxsIHR1cGxlcyBmcm9tIHRoZSBw YWdlLiBJZiB0aGVyZSdzIG5vIHBpbiBoZWxkLCBpdCdzCisgKiBiZWNhdXNlIF9idF9kcm9wX2xv Y2tfYW5kX21heWJlX3BpbiBkcm9wcGVkIHRoZSBwaW4gZWFnZXJseSBlYXJsaWVyIG9uLgorICog VGhlIHNjYW4gbXVzdCBoYXZlIHNvLT5jdXJyUG9zLmN1cnJQYWdlIHNldCB0byBhIHZhbGlkIGJs b2NrLCBpbiBhbnkgY2FzZS4KICAqLwogc3RhdGljIGJvb2wKIF9idF9zdGVwcGFnZShJbmRleFNj YW5EZXNjIHNjYW4sIFNjYW5EaXJlY3Rpb24gZGlyKQpAQCAtMjE2OSw4ICsyMTgyLDIwIEBAIF9i dF9zdGVwcGFnZShJbmRleFNjYW5EZXNjIHNjYW4sIFNjYW5EaXJlY3Rpb24gZGlyKQogCiAJCS8q IG1hcmsvcmVzdG9yZSBub3Qgc3VwcG9ydGVkIGJ5IHBhcmFsbGVsIHNjYW5zICovCiAJCUFzc2Vy dCghc2Nhbi0+cGFyYWxsZWxfc2Nhbik7CisJCUFzc2VydChzY2FuLT54c19zbmFwc2hvdC0+c25h cHNob3RfdHlwZSAhPSBTTkFQU0hPVF9ESVJUWSk7CisJCUFzc2VydChzY2FuLT54c19zbmFwc2hv dC0+c25hcHNob3RfdHlwZSAhPSBTTkFQU0hPVF9TRUxGKTsKIAl9CiAKKwkvKiAKKwkgKiBGb3Ig U25hcHNob3REaXJ0eS9TZWxmIHNjYW5zLCB3ZSBrZXB0IHRoZSByZWFkIGxvY2sgYWZ0ZXIgcHJv Y2Vzc2luZworCSAqIHRoZSBwYWdlJ3MgdHVwbGVzIChzZWUgX2J0X2Ryb3BfbG9ja19hbmRfbWF5 YmVfcGluKS4gTm93IHRoYXQgd2UncmUgCisJICogbW92aW5nIHRvIGFub3RoZXIgcGFnZSwgd2Ug bmVlZCB0byBleHBsaWNpdGx5IHJlbGVhc2UgdGhhdCBsb2NrLgorCSAqLworCWlmIChzby0+Y3Vy clBvcy5leHRyYV91bmxvY2spCisJeworCQlfYnRfdW5sb2NrYnVmKHNjYW4tPmluZGV4UmVsYXRp b24sIHNvLT5jdXJyUG9zLmJ1Zik7CisJCXNvLT5jdXJyUG9zLmV4dHJhX3VubG9jayA9IGZhbHNl OworCX0KIAlCVFNjYW5Qb3NVbnBpbklmUGlubmVkKHNvLT5jdXJyUG9zKTsKIAogCS8qIFdhbGsg dG8gdGhlIG5leHQgcGFnZSB3aXRoIGRhdGEgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9uYnRyZWUvbmJ0dXRpbHMuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0dXRp bHMuYwppbmRleCAxYTE1ZGZjYjdkMy4uNjEwMDhhMzZiNWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0dXRpbHMuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0 cmVlL25idHV0aWxzLmMKQEAgLTMzODMsMTMgKzMzODMsMTcgQEAgX2J0X2tpbGxpdGVtcyhJbmRl eFNjYW5EZXNjIHNjYW4pCiAJCSAqIExTTi4KIAkJICovCiAJCWRyb3BwZWRwaW4gPSBmYWxzZTsK LQkJX2J0X2xvY2tidWYoc2Nhbi0+aW5kZXhSZWxhdGlvbiwgc28tPmN1cnJQb3MuYnVmLCBCVF9S RUFEKTsKKwkJLyogRm9yIFNuYXBzaG90RGlydHkvU2VsZiBzY2FucywgdGhlIGJ1ZmZlciBpcyBh bHJlYWR5IGxvY2tlZCAqLworCQlpZiAoIXNvLT5jdXJyUG9zLmV4dHJhX3VubG9jaykKKwkJCV9i dF9sb2NrYnVmKHNjYW4tPmluZGV4UmVsYXRpb24sIHNvLT5jdXJyUG9zLmJ1ZiwgQlRfUkVBRCk7 CiAKIAkJcGFnZSA9IEJ1ZmZlckdldFBhZ2Uoc28tPmN1cnJQb3MuYnVmKTsKIAl9CiAJZWxzZQog CXsKIAkJQnVmZmVyCQlidWY7CisJCS8qIGV4dHJhX3VubG9jayBzaG91bGQgbmV2ZXIgYmUgc2V0 IHdpdGhvdXQgYSB2YWxpZCBidWZmZXIgcGluICovCisJCUFzc2VydCghc28tPmN1cnJQb3MuZXh0 cmFfdW5sb2NrKTsKIAogCQlkcm9wcGVkcGluID0gdHJ1ZTsKIAkJLyogQXR0ZW1wdCB0byByZS1y ZWFkIHRoZSBidWZmZXIsIGdldHRpbmcgcGluIGFuZCBsb2NrLiAqLwpAQCAtMzUyNiw2ICszNTMw LDggQEAgX2J0X2tpbGxpdGVtcyhJbmRleFNjYW5EZXNjIHNjYW4pCiAJfQogCiAJX2J0X3VubG9j a2J1ZihzY2FuLT5pbmRleFJlbGF0aW9uLCBzby0+Y3VyclBvcy5idWYpOworCS8qIFJlc2V0IHRo ZSBleHRyYV91bmxvY2sgZmxhZyBzaW5jZSB3ZSd2ZSBub3cgcmVsZWFzZWQgdGhlIGxvY2sgKi8K Kwlzby0+Y3VyclBvcy5leHRyYV91bmxvY2sgPSBmYWxzZTsKIH0KIAogCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9hY2Nlc3MvbmJ0cmVlLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MvbmJ0cmVlLmgK aW5kZXggZWJjYTAyNTg4ZDMuLjJjMjQ4NWYzNGJkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9h Y2Nlc3MvbmJ0cmVlLmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL25idHJlZS5oCkBAIC05NjIs NiArOTYyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQlRTY2FuUG9zSXRlbQkvKiB3aGF0IHdlIHJlbWVt YmVyIGFib3V0IGVhY2ggbWF0Y2ggKi8KIHR5cGVkZWYgc3RydWN0IEJUU2NhblBvc0RhdGEKIHsK IAlCdWZmZXIJCWJ1ZjsJCQkvKiBjdXJyUGFnZSBidWYgKGludmFsaWQgbWVhbnMgdW5waW5uZWQp ICovCisJYm9vbAkJZXh0cmFfdW5sb2NrOwkvKiBmb3IgU25hcHNob3REaXJ0eS9TZWxmLCByZWFk IGxvY2sgaXMgaGVsZCBldmVuIGFmdGVyIF9idF9kcm9wX2xvY2tfYW5kX21heWJlX3BpbiAqLwog CiAJLyogcGFnZSBkZXRhaWxzIGFzIG9mIHRoZSBzYXZlZCBwb3NpdGlvbidzIGNhbGwgdG8gX2J0 X3JlYWRwYWdlICovCiAJQmxvY2tOdW1iZXIgY3VyclBhZ2U7CQkvKiBwYWdlIHJlZmVyZW5jZWQg YnkgaXRlbXMgYXJyYXkgKi8KQEAgLTEwMDksNiArMTAxMCw3IEBAIHR5cGVkZWYgQlRTY2FuUG9z RGF0YSAqQlRTY2FuUG9zOwogKQogI2RlZmluZSBCVFNjYW5Qb3NVbnBpbihzY2FucG9zKSBcCiAJ ZG8geyBcCisJCUFzc2VydCghKHNjYW5wb3MpLmV4dHJhX3VubG9jayk7IFwKIAkJUmVsZWFzZUJ1 ZmZlcigoc2NhbnBvcykuYnVmKTsgXAogCQkoc2NhbnBvcykuYnVmID0gSW52YWxpZEJ1ZmZlcjsg XAogCX0gd2hpbGUgKDApCkBAIC0xMDI4LDYgKzEwMzAsNyBAQCB0eXBlZGVmIEJUU2NhblBvc0Rh dGEgKkJUU2NhblBvczsKIAlkbyB7IFwKIAkJKHNjYW5wb3MpLmJ1ZiA9IEludmFsaWRCdWZmZXI7 IFwKIAkJKHNjYW5wb3MpLmN1cnJQYWdlID0gSW52YWxpZEJsb2NrTnVtYmVyOyBcCisJCShzY2Fu cG9zKS5leHRyYV91bmxvY2sgPSBmYWxzZTsgXAogCX0gd2hpbGUgKDApCiAKIC8qIFdlIG5lZWQg b25lIG9mIHRoZXNlIGZvciBlYWNoIGVxdWFsaXR5LXR5cGUgU0tfU0VBUkNIQVJSQVkgc2NhbiBr ZXkgKi8KLS0gCjIuNDMuMAoK --000000000000f41665063569f4bb--