v4.2-rc dcache regression, probably 75a6f82a0d10

Hugh Dickins
2015-07-31T17:47:50Z

I think there's something not quite right with the fs/dcache.c
commit 75a6f82a0d10 ("freeing unlinked file indefinitely delayed").

When running my old tmpfs swapping load (two repetitive make -j20
kernel builds, one on tmpfs, one on ext4 over loop over tmpfs file,
in limited memory with plenty of swapping; rm -rf of both trees
in between the builds): one of the builds, always the ext4 so far,
fails after several hours, one or another header file "No such file
or directory", but the file's there when I check the tree afterwards.

Sounds like a dcache problem, and 75a6f82a0d10 seemed the only
likely candidate, so I experimented with reverting it yesterday,
and ran successfully for 24 hours. That's a little too soon to
be sure (I've set another run going this morning), but I'd say
90% certain that is to blame, and thought I'd better alert you
sooner than later - you'll probably guess what's the matter
long before I get back to check today's run.

(I saw exactly the same symptom two months ago; but that was just
before you put in 2159184ea01e "d_walk() might skip too much",
which fixed it back then.)

Hugh