Messages in this thread |  | | | From | Linus Torvalds <> | | Date | Wed, 1 Dec 2010 11:52:17 -0800 | | Subject | Re: [PATCH v2 3/3] NFS: Fix a memory leak in nfs_readdir |
| |
On Wed, Dec 1, 2010 at 11:23 AM, Hugh Dickins <hughd@google.com> wrote: > > But I'd prefer us not to throw in another callback if it's well > workable with the ->releasepage we already have.
The thing is, NFS already really uses releasepage for its "real" designed usage, in the form of the fscache case (which the directory inodes don't use).
I really hate mixing things up. The NFS directory case really hasn't got anything to do with releasepage, and taking the page lock on the read side is just really sad. As is marking the page not up-to-date, just so that it will get filled again.
In fact, I don't even know if it's kosher by VFS standards to clear the up-to-date bit in the first place after it has already gotten set. It absolutely isn't for anything that can be mmap'ed. Obviously, mmap doesn't work on the directory cache anyway, but the point is that the work-arounds for the semantic gap are really quite ugly.
Certainly much uglier than just adding some much simpler semantics to the "now I'm releasing the page" case in the VM.
Linus
|  |