summaryrefslogtreecommitdiffstats
path: root/fs/nfs/internal.h
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2014-02-07 23:02:08 +0100
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-02-11 20:01:20 +0100
commit311324ad1713666a6e803aecf0d4e1a136a5b34a (patch)
tree524ee4e8b5049a48ab9d3824eada3c5099de4dd2 /fs/nfs/internal.h
parentSUNRPC: RPC callbacks may be split across several TCP segments (diff)
downloadlinux-311324ad1713666a6e803aecf0d4e1a136a5b34a.tar.xz
linux-311324ad1713666a6e803aecf0d4e1a136a5b34a.zip
NFS: Be more aggressive in using readdirplus for 'ls -l' situations
Try to detect 'ls -l' by having nfs_getattr() look at whether or not there is an opendir() file descriptor for the parent directory. If so, then assume that we want to force use of readdirplus in order to avoid the multiple GETATTR calls over the wire. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r--fs/nfs/internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index fafdddac8271..7f7c476d0c2c 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -300,6 +300,7 @@ extern struct nfs_client *nfs_init_client(struct nfs_client *clp,
const char *ip_addr);
/* dir.c */
+extern void nfs_force_use_readdirplus(struct inode *dir);
extern unsigned long nfs_access_cache_count(struct shrinker *shrink,
struct shrink_control *sc);
extern unsigned long nfs_access_cache_scan(struct shrinker *shrink,