On 6/1/06, Tomas Hruby <thruby@xxxxxxxxx> wrote:
Bonnie++ creates a directory with 16384 files. Then it calls readdir in a loop to read all the entries and calls stat for each. The test fails since only 16383 entries were returned (one is missing). According to my logs our readdir calls filldir on the last item as well. Also strace says that all entries were returned. But the last one is missing.
Possibly unrelated, but I saw something similar in my filesystem. A simple loop calling readdir would fail, but explicit calls to getdents worked properly (and whatever ls did also worked). In my case, I was playing games with d_off (filp->fpos) that caused d_off to overflow 32 bits. Then glibc would detect this and be "smart" -- seek back to some point and start over to read up to the overflow. Eliminating the overflows fixed it. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html