On 9/12/24 19:26, Han-Wen Nienhuys wrote:
On Wed, Sep 11, 2024 at 3:06 PM Bernd Schubert
<bernd.schubert@xxxxxxxxxxx> wrote:
Do you know how old this behavior is? It would be great to not have to
write the kludge on my side, but if it has been out there for a long
time, I can't pretend the problem doesn't exist once it is fixed, as
it will still crop up if folks run things on older kernels. The
runtime for Go has been issuing SIGURG for preempted goroutines since
~2020.
Following git history, I think introduced here
commit 1f60fbe7274918adb8db2f616e321890730ab7e3
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Sat Apr 23 22:50:07 2016 -0400
ext4: allow readdir()'s of large empty directories to be interrupted
Could the same behavior happen for readdir, or is only readdirplus affected?
Should be the same, it calls fuse_emit(), which calls into the filldir
functions in fs/readdir.c.
A way out might be a cached readdir (FOPEN_CACHE_DIR) as the entries do
not get lost.
Bernd