diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-02-08 02:02:08 +0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-02-11 23:01:20 +0400 |
commit | 311324ad1713666a6e803aecf0d4e1a136a5b34a (patch) | |
tree | 524ee4e8b5049a48ab9d3824eada3c5099de4dd2 /fs/nfs/internal.h | |
parent | 2ea24497a1b30dd03dd42b873fa5097913587f4d (diff) | |
download | linux-311324ad1713666a6e803aecf0d4e1a136a5b34a.tar.xz |
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.h | 1 |
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, |