nfsd: bypass readahead cache when have struct file
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 27 Jul 2010 20:48:54 +0000 (16:48 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 27 Jul 2010 22:15:54 +0000 (18:15 -0400)
commitfa0a21269f807bb2e95b8b642c4a739714780172
treece469ff0ce6bcc7373b17fc90d1451cb93883bf2
parentaf4718f3f996925f770e540004ec9224243d1682
nfsd: bypass readahead cache when have struct file

The readahead cache compensates for the fact that the NFS server
currently does an open and close on every IO operation in the NFSv2 and
NFSv3 case.

In the NFSv4 case we have long-lived struct files associated with client
opens, so there's no need for this.  In fact, concurrent IO's using
trying to modify the same file->f_ra may cause problems.

So, don't bother with the readahead cache in that case.

Note eventually we'll likely do this in the v2/v3 case as well by
keeping a cache of struct files instead of struct file_ra_state's.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/vfs.c