Re: invalidate_inode_pages in 2.5.32/3

Helge Hafting
2002-09-06T09:30:03Z

Chuck Lever wrote:
>
> On Thu, 5 Sep 2002, Andrew Morton wrote:
>
> > That all assumes SMP/preempt. If you're seeing these problems on
> > uniproc/non-preempt then something fishy may be happening.
>
> sorry, forgot to mention: the system is UP, non-preemptible, high mem.
>
> invalidate_inode_pages isn't freeing these pages because the page count is
> two. perhaps the page count semantics of one of the page cache helper
> functions has changed slightly. i'm still diagnosing.
>
> fortunately the problem is deterministically reproducible. basic test6,
> the readdir test, of 2002 connectathon test suite, fails -- either a
> duplicate file entry or a missing file entry appears after some standard
> file creation and removal processing in that directory. the incorrect
> entries occur because the NFS client zaps the directory's page cache to
> force the next reader to re-read the directory from the server. but
> invalidate_inode_pages decides to leave the pages in the cache, so the
> next reader gets stale cached data instead.

Perhaps this explains my nfs problem. (2.5.32/33 UP, preempt, no
highmem)
Soemtimes, when editing a file on nfs, the file disappears
from the server. The client believes it is there
until an umount+mount sequence. It doesn't happen
for all files, but it is 100% reproducible for those affected.

Editing changes the directory when the editor makes a backup
copy, the old directory is kept around wrongly, and so the
save into the existing file silently fails because
wrong directory information from cache is used?

Helge Hafting