Re: [PATCH] find: Fix broken -ls, add test.
James Youngman <[email protected]> Thu, 23 Jul 2026 21:05:18 +0100
| Newsgroups | gmane.comp.gnu.findutils.patches,gmane.comp.gnu.findutils.bugs |
|---|---|
| Message-ID | <CAGwX765tjPRh_S+vCnaZ-0osgUcFrO_fsZAZotCA2BZ2JjNuNg@mail.gmail.com> |
--0000000000002a726806574cc704 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I'm pushing the attached patch, which I hope will fix the problem. On Thu, Jul 23, 2026 at 8:24=E2=80=AFPM James Youngman <[email protected]>= wrote: > > Yes, the test reproducibly passes for me. But the filesystem I am > using is ZFS: > > $ yes "" | sed -e '765 q'> /tmp/small-text-file.txt ; \ > dd if=3D/dev/urandom bs=3D765 of=3D/tmp/random-data.bin count=3D1 ; \ > cp /tmp/random-data.bin /tmp/small-text-file.txt . ; \ > find \ > /tmp/random-data.bin random-data.bin /tmp/small-text-file.txt > small-text-file.txt \ > -printf '%%k=3D%k %%b=3D%b %s %p\n' ; \ > sha1sum /tmp/random-data.bin random-data.bin > /tmp/small-text-file.txt small-text-file.txt > 1+0 records in > 1+0 records out > 765 bytes copied, 3.9558e-05 s, 19.3 MB/s > %k=3D4 %b=3D8 765 /tmp/random-data.bin > %k=3D5 %b=3D9 765 random-data.bin > %k=3D4 %b=3D8 765 /tmp/small-text-file.txt > %k=3D1 %b=3D1 765 small-text-file.txt > 0156e7e4ea8f26c91c5de2f4337d8e1d44e7c556 /tmp/random-data.bin > 0156e7e4ea8f26c91c5de2f4337d8e1d44e7c556 random-data.bin > 38957bd663f7efc364ac7c8ed3589fa69520b9e4 /tmp/small-text-file.txt > 38957bd663f7efc364ac7c8ed3589fa69520b9e4 small-text-file.txt > $ stat /tmp/random-data.bin random-data.bin /tmp/small-text-file.txt > small-text-file.txt > File: /tmp/random-data.bin > Size: 765 Blocks: 8 IO Block: 4096 regular file > Device: 253,2 Inode: 19 Links: 1 > Access: (0664/-rw-rw-r--) Uid: ( 1027/ james) Gid: ( 1027/ james) > Access: 2026-07-23 20:21:50.226425401 +0100 > Modify: 2026-07-23 20:21:50.222425458 +0100 > Change: 2026-07-23 20:21:50.222425458 +0100 > Birth: 2026-07-23 20:17:57.985621969 +0100 > File: random-data.bin > Size: 765 Blocks: 9 IO Block: 1024 regular file > Device: 0,41 Inode: 5342459 Links: 1 > Access: (0664/-rw-rw-r--) Uid: ( 1027/ james) Gid: ( 1027/ james) > Access: 2026-07-23 20:21:50.230425347 +0100 > Modify: 2026-07-23 20:21:50.226425401 +0100 > Change: 2026-07-23 20:21:50.226425401 +0100 > Birth: 2026-07-23 20:17:57.985621969 +0100 > File: /tmp/small-text-file.txt > Size: 765 Blocks: 8 IO Block: 4096 regular file > Device: 253,2 Inode: 16 Links: 1 > Access: (0664/-rw-rw-r--) Uid: ( 1027/ james) Gid: ( 1027/ james) > Access: 2026-07-23 20:21:50.226425401 +0100 > Modify: 2026-07-23 20:21:50.218425513 +0100 > Change: 2026-07-23 20:21:50.218425513 +0100 > Birth: 2026-07-23 20:17:57.981622024 +0100 > File: small-text-file.txt > Size: 765 Blocks: 1 IO Block: 1024 regular file > Device: 0,41 Inode: 5342460 Links: 1 > Access: (0664/-rw-rw-r--) Uid: ( 1027/ james) Gid: ( 1027/ james) > Access: 2026-07-23 20:21:50.230425347 +0100 > Modify: 2026-07-23 20:21:50.226425401 +0100 > Change: 2026-07-23 20:21:50.226425401 +0100 > Birth: 2026-07-23 20:17:57.985621969 +0100 --0000000000002a726806574cc704 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-find-another-fix-for-the-still-broken-ls-test.patch" Content-Disposition: attachment; filename="0001-find-another-fix-for-the-still-broken-ls-test.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mrxxxnde0> X-Attachment-Id: f_mrxxxnde0 RnJvbSBlYWEzYmE1YTYzYjU2OWRiZjFhNGIxMzg5OTYzZjczNGViZTdlZGQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBZb3VuZ21hbiA8amFtZXNAeW91bmdtYW4ub3JnPgpE YXRlOiBUaHUsIDIzIEp1bCAyMDI2IDIwOjI4OjM1ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gZmlu ZDogYW5vdGhlciBmaXggZm9yIHRoZSBzdGlsbC1icm9rZW4gLWxzIHRlc3QuCgpUaGUgcmVtYWlu aW5nIHByb2JsZW0gaXMgdGhhdCB0aGUgc3RydWN0IHN0YXQuc3RfYmxvY2tzIHZhbHVlIGZvciBh CmZpbGUgZGVwZW5kcyBvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIG9mIHRoZSBmaWxlIHN5c3Rl bSBhbmQgc28gd2UKY2Fubm90IGV4cGVjdCB0byBjcmVhdGUgYSBmaWxlIGFuZCBjaGVjayB0aGUg cmVzdXRpbmcgc3RfYmxvY2tzIHZhbHVlCmFnYWluc3QgYSBmaXhlZCBleHBlY3RhdGlvbi4KCiog dGVzdHMvZmluZC9scy1mb3JtYXQtZmlsZS5zaCAoQVdLIHNjcmlwdCk6IGRvIG5vdCBjaGVjayB0 aGUgdmFsdWUgaW4KJDIsIHRoZSBibG9jayBjb3VudCwgYXMgdGhpcyB3aWxsIHZhcnkgYWNyb3Nz IGZpbGUgc3lzdGVtcy4gIFJlY29yZCBpbgp0aGUgdGVzdCBsb2cgdGhlIG91dHB1dCBvZiB2YXJp b3VzIG90aGVyIGNvbW1hbmRzIHdoaWNoIGV4YW1pbmUgdGhlCm91dHB1dCBvZiAtcHJpbnRmICVi LCAtcHJpbnRmICVrIGFuZCAtbHMgZm9yIHRoZSBmaWxlIHdpdGgKUE9TSVhMWV9DT1JSRUNUIHNl dCBhbmQgd2l0aCBpdCB1bnNldC4KKHdpdGhfNTEyX2J5dGVfYmxvY2tzKTogc2hlbGwgZnVuY3Rp b24gd2hpY2ggc2V0cyB1cCB0aGUgZW52aXJvbm1lbnQKc3VjaCB0aGF0IEdOVSBmaW5kIHdpbGwg dXNlIDUxMi1ieXRlIGJsb2NrcyBhbmQgcnVucyBhIGNvbW1hbmQuCi0tLQogdGVzdHMvZmluZC9s cy1mb3JtYXQtZmlsZS5zaCB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3Rlc3RzL2ZpbmQvbHMtZm9ybWF0LWZpbGUuc2ggYi90ZXN0cy9maW5kL2xzLWZv cm1hdC1maWxlLnNoCmluZGV4IGNlZTM3MzdlLi5iNTY4MzUwYiAxMDA3NTUKLS0tIGEvdGVzdHMv ZmluZC9scy1mb3JtYXQtZmlsZS5zaAorKysgYi90ZXN0cy9maW5kL2xzLWZvcm1hdC1maWxlLnNo CkBAIC0yMiw2ICsyMiwxMCBAQCBwcmludF92ZXJfIGZpbmQKICMgRW5zdXJlIHRoYXQgZmluZCBk b2VzIG5vdCBnZW5lcmFsbHkgc2tpcCB3YXJuaW5ncyBkdWUgdG8gUE9TSVggcmVxdWlyZW1lbnRz LgogdW5zZXQgUE9TSVhMWV9DT1JSRUNUCiAKK3dpdGhfNTEyX2J5dGVfYmxvY2tzKCkgeworICAg IGVudiAtdSBCTE9DS19TSVpFIC11IEJMT0NLU0laRSBQT1NJWExZX0NPUlJFQ1Q9MSAiJEAiCit9 CisKICMgV2Ugd2FudCB0byBjaGVjayB0aGUgZGF0ZSBpbiB0aGUgb3V0cHV0IG9mIC1scywgc28g ZW5zdXJlIHdlJ3JlCiAjIGRlYWxpbmcgd2l0aCB0aGUgQyBsb2NhbGUgb25seS4KIExDX0FMTD1D CkBAIC0xMjEsMTYgKzEyNSwxMSBAQCB0aGVuCiAgICAgc2tpcF8gImZhaWxlZCB0byBjaGFuZ2Ug Z3JvdXAgb2YgJHt0ZXN0ZmlsZX0gdG8gJHtncm91cF9vd25lcn0iCiBmaQogCi0jIFJlbWVtYmVy IHRoZSBmaWxlJ3MgaW5vZGUgbnVtYmVyIGFuZCBibG9jayBjb3VudC4KKyMgUmVtZW1iZXIgdGhl IGZpbGUncyBpbm9kZSBudW1iZXIuCiBpbnVtPSIkKCBmaW5kICIke3Rlc3RmaWxlfSIgLXByaW50 ZiAnJWlcbicgKSIKLWJsb2Nrc19leHBlY3RlZD0iJCggbHMgLXMgIiR7dGVzdGZpbGV9IiB8IHNl ZCAtZSAicy8ke3Rlc3RmaWxlfS8vZyIgKSIKLSMgVGhlIHN5c3RlbSdzIHZhbHVlIG9mIEJMT0NL U0laRSBpcyBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQKLSMgKCJscyAtayIgZm9yY2VzIGxzIHRv IHVzZSAxS2lCIGJsb2NrcywgYnV0IC1scyBpcyBpbnRlbmRlZAotIyB0byBsb29rIGxpa2UgdGhl IG91dHB1dCBvZiBscyAtZGlscywgd2l0aG91dCAtaykKLQogCiAjIEdlbmVyYXRlIHRoZSBscyBv dXRwdXQuCi1maW5kICIke3Rlc3RmaWxlfSIgLWxzID4gb3V0cHV0LnR4dAord2l0aF81MTJfYnl0 ZV9ibG9ja3MgZmluZCAiJHt0ZXN0ZmlsZX0iIC1scyA+IG91dHB1dC50eHQKIAogIyBTaG93IHRo ZSByZWFkZXIgb2YgdGhlIHRlc3QgbG9nIHdoYXQgdGhlIG91dHB1dCB3YXMuCiBlY2hvICJvdXRw dXQgb2YgZmluZCAke3Rlc3RmaWxlfSAtbHM6IgpAQCAtMTcyLDcgKzE3MSw2IEBAIGF3ayA8IG91 dHB1dC50eHQgIFwKICAgICAtdiBNRT0iJHtNRV99IiBcCiAgICAgLXYgZmlsZW5hbWVfZXhwZWN0 ZWQ9IiR7dGVzdGZpbGV9IiBcCiAgICAgLXYgaW5vZGVudW09IiR7aW51bX0iIFwKLSAgICAtdiBi bG9ja3NfZXhwZWN0ZWQ9IiR7YmxvY2tzX2V4cGVjdGVkfSIgXAogICAgIC12IGZpbGVzaXplPSIk e2ZpbGVzaXplfSIgXAogICAgIC12IHVvd25lcj0iJChpZCAtdW4pIiBcCiAgICAgLXYgZ293bmVy PSIke2dyb3VwX293bmVyfSIgJwpAQCAtMTkyLDcgKzE5MCw3IEBAIE5SID09IDEgewogICBydj0w CiAKICAgc3RfaW5vPSQxOwotICBzdF9ibG9ja3M9JDI7CisgICMgTm8gY2hlY2sgaGVyZSBmb3Ig dGhlIGJsb2NrIGNvdW50LCBzZWUgdGhlIC1wcmludGYgdGVzdHMgYmVsb3cKICAgc3ltYm9saWNf c3RfbW9kZT0iIiAkMzsKICAgc3Rfbmxpbms9JDQ7CiAgIHN0X3VpZD0kNTsKQEAgLTIxMSwxMyAr MjA5LDggQEAgTlIgPT0gMSB7CiAgICAgcHJpbnRmKCIlczogZmFpbGVkIHRlc3Q6IGV4cGVjdGVk IGlub2RlIG51bWJlciAlZCwgZ290ICVzXG4iLCBNRSwgaW5vZGVudW0sICQxKTsKICAgfQogCi0g ICMgZmllbGQgMjogc2l6ZSBpbiBibG9ja3MKLSAgaWYgKHN0X2Jsb2NrcyAhPSBibG9ja3NfZXhw ZWN0ZWQpIHsKLSAgICBydj0xCi0gICAgcHJpbnRmKCIlczogZmFpbGVkIHRlc3Q6IGV4cGVjdGVk IGJsb2NrIGNvdW50ICVkIGdvdCAlZFxuIiwgTUUsIGJsb2Nrc19leHBlY3RlZCwgc3RfYmxvY2tz KTsKLSAgfSBlbHNlIHsKLSAgICBwcmludGYoIiVzOiBibG9jayBjb3VudCAlZCBsb29rcyBPS1xu IiwgTUUsIHN0X2Jsb2Nrcyk7Ci0gIH0KKyAgIyBmaWVsZCAyOiBzaXplIGluIGJsb2Nrcy4gIFdl IGRvIG5vdCBjaGVjayB0aGlzIGJlY2F1c2UgdGhlIGZpbGUgd2lsbCB0YWtlIHVwCisgICMgYSBk aWZmZXJlbnQgbnVtYmVyIG9mIGJsb2NrcyBvbiBkaWZmZXJlbnQgZmlsZXN5c3RlbXMuCiAKICAg IyBmaWVsZCAzIGlzIHRoZSBzeW1ib2xpYyBtb2RlOyB3ZSBhbGxvdyBhIGZpbmFsICsKICAgIyBp biBjYXNlIHRoZXJlIGlzIHNvbWVob3cgYSBub24tZGVmYXVsdCBBQ0wgb24gdGhlIGZpbGUuCkBA IC0yOTYsNiArMjg5LDM4IEBAIHRoZW4KIGZpCiAKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworIyBHZW5lcmF0ZSB2YXJpb3VzIGtpbmRzIG9mIG91dHB1dCB3aGljaCBtaWdodCBoZWxwIHdp dGggYWZ0ZXItdGhlLWZhY3QgZGVidWdnaW5nLgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmb3IgZW52X3Zhcl9hc3NpZ25tZW50IGluIFBPU0lYTFlfQ09SUkVDVD0xIFVOUkVMQVRFRF9W QVI9MAorZG8KKyAgICBmb3Igc2l6ZV9mb3JtYXRfc3BlYyBpbiAgIiU2YiIgIiU2ayIKKyAgICBk bworICAgICAgICBmb3JtYXRfc3RyPSIlOWkgJHtzaXplX2Zvcm1hdF9zcGVjfSAlTSAlM24gJS04 dSAlLThnICU4cyAlM1RiICUyVGQgJTVUWSAlcFxuIgorICAgICAgICBwcmludGYgJ3dpdGggZW52 aXJvbm1lbnQgdmFyaWFibGUgc2V0dGluZyAlcyBhbmQgb3V0cHV0IGZvcm1hdCAgJXM6XG4nICIk e2Vudl92YXJfYXNzaWdubWVudH0iICIke2Zvcm1hdF9zdHJ9IgorICAgICAgICBlbnYgLXUgUE9T SVhMWV9DT1JSRUNUIGVudiAiJHtlbnZfdmFyX2Fzc2lnbm1lbnR9IiBmaW5kICIke3Rlc3RmaWxl fSIgLXByaW50ZiAiJHtmb3JtYXRfc3RyfSIKKyAgICAgICAgZWNobworICAgIGRvbmUKKyAgICBw cmludGYgJ3dpdGggZW52aXJvbm1lbnQgdmFyaWFibGUgc2V0dGluZyAlcyBhbmQgLWxzOlxuJyAi JHtlbnZfdmFyX2Fzc2lnbm1lbnR9IgorICAgIGVudiAtdSBQT1NJWExZX0NPUlJFQ1QgZW52ICIk e2Vudl92YXJfYXNzaWdubWVudH0iIGZpbmQgIiR7dGVzdGZpbGV9IiAtbHMKKyAgICBlY2hvCisK KyAgICBmb3JtYXRfc3RyPSclYiAlayAlcyAlcFxuJworICAgIHByaW50ZiAnd2l0aCBlbnZpcm9u bWVudCB2YXJpYWJsZSBzZXR0aW5nICVzIGFuZCAtcHJpbnRmICVzOlxuJyAiJHtlbnZfdmFyX2Fz c2lnbm1lbnR9IiAiJHtmb3JtYXRfc3RyfSIKKyAgICBlbnYgLXUgUE9TSVhMWV9DT1JSRUNUIGVu diAiJHtlbnZfdmFyX2Fzc2lnbm1lbnR9IiBmaW5kICIke3Rlc3RmaWxlfSIgLXByaW50ZiAiJHtm b3JtYXRfc3RyfSIKKyAgICBlY2hvCitkb25lCisKK2VjaG8gInN0YXQoMSkgb3V0cHV0IGZvciAk e3Rlc3RmaWxlfToiCitzdGF0ICIke3Rlc3RmaWxlfSIKKworZWNobyAic3RyYWNlIC12ZSBzdGF0 eCB0cmFjZSBmcm9tIHJ1bm5pbmcgc3RhdCgxKSBvbiAke3Rlc3RmaWxlfToiCitzdHJhY2UgLXZl IHN0YXR4IHN0YXQgIiR7dGVzdGZpbGV9IgorCitmaW5kICIke3Rlc3RmaWxlfSIgLXByaW50ZiAn RmlsZSBzeXN0ZW0gdHlwZSBvZiAlcCBpcyAlRlxuJworCisKICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKICMgQ2hlY2tzIG9uIHRoZSBvdXRwdXQgZ2VuZXJhdGVkIGJ5IC1scywgaW5jbHVkaW5nIHRo ZSBzcGFjZXMgYmV0d2VlbgogIyBmaWVsZHMuICBJZiB0aGVzZSB0ZXN0cyBicmVhaywgdGhpcyBt YXkgaW5kaWNhdGUgYSBidWcgaW4gZmluZCwgb3IKQEAgLTMwOSw3ICszMzQsNyBAQCBmaQogIyBH ZW5lcmF0ZSAiYnkgaGFuZCIgaW4gdGhlIGZpbGUgcHJpbnRmLW91dHB1dC50eHQgc29tZSBvdXRw dXQgd2hpY2gKICMgc2hvdWxkIG1hdGNoIHRoZSBvdXRwdXQgb2YgLWxzLgogcm0gLWYgLS0gcHJp bnRmLW91dHB1dC50eHQKLWlmICEgZmluZCAiJHt0ZXN0ZmlsZX0iIC1wcmludGYgJyU5aSAlNmIg JU0gJTNuICUtOHUgJS04ZyAlOHMgJTNUYiAlMlRkICU1VFkgJXBcbicgPiBwcmludGYtb3V0cHV0 LnR4dAoraWYgISB3aXRoXzUxMl9ieXRlX2Jsb2NrcyBmaW5kICIke3Rlc3RmaWxlfSIgLXByaW50 ZiAnJTlpICU2YiAlTSAlM24gJS04dSAlLThnICU4cyAlM1RiICUyVGQgJTVUWSAlcFxuJyA+IHBy aW50Zi1vdXRwdXQudHh0CiB0aGVuCiAgICAgZnJhbWV3b3JrX2ZhaWx1cmVfICJ1bmFibGUgdG8g Y3JlYXRlIHByaW50Zi1vdXRwdXQudHh0IgogZmkKLS0gCjIuNDcuMwoK --0000000000002a726806574cc704--