NFSv4.2: add client side xattr caching.
Implement client side caching for NFSv4.2 extended attributes. The cache is a per-inode hashtable, with name/value entries. There is one special entry for the listxattr cache. NFS inodes have a pointer to a cache structure. The cache structure is allocated on demand, freed when the cache is invalidated. Memory shrinkers keep the size in check. Large entries (> PAGE_SIZE) are collected by a separate shrinker, and freed more aggressively than others. Signed-off-by:Frank van der Linden <fllinden@amazon.com> Signed-off-by:
Trond Myklebust <trond.myklebust@hammerspace.com>
Showing
- fs/nfs/Makefile 1 addition, 1 deletionfs/nfs/Makefile
- fs/nfs/inode.c 8 additions, 1 deletionfs/nfs/inode.c
- fs/nfs/nfs42proc.c 12 additions, 0 deletionsfs/nfs/nfs42proc.c
- fs/nfs/nfs42xattr.c 1083 additions, 0 deletionsfs/nfs/nfs42xattr.c
- fs/nfs/nfs4_fs.h 22 additions, 0 deletionsfs/nfs/nfs4_fs.h
- fs/nfs/nfs4proc.c 36 additions, 6 deletionsfs/nfs/nfs4proc.c
- fs/nfs/nfs4super.c 10 additions, 0 deletionsfs/nfs/nfs4super.c
- include/linux/nfs_fs.h 6 additions, 0 deletionsinclude/linux/nfs_fs.h
- include/uapi/linux/nfs_fs.h 1 addition, 0 deletionsinclude/uapi/linux/nfs_fs.h
Loading
Please register or sign in to comment