]> git.baikalelectronics.ru Git - kernel.git/commit
NFS: More fine grained attribute tracking
authorTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 20 Mar 2018 20:53:31 +0000 (16:53 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 10 Apr 2018 20:06:22 +0000 (16:06 -0400)
commitab38e2d8bf7acd0f10847cbad443a7cf7b37cd0c
treeeb6905af5fe0ad1f65b2392656f0bd218a8f5a03
parent158fc43c826d8c6e80c6aca46ca64cc682e44cd2
NFS: More fine grained attribute tracking

Currently, if the NFS_INO_INVALID_ATTR flag is set, for instance by
a call to nfs_post_op_update_inode_locked(), then it will not be cleared
until all the attributes have been revalidated. This means, for instance,
that NFSv4 writes will always force a full attribute revalidation.

Track the ctime, mtime, size and change attribute separately from the
other attributes so that we can have nfs_post_op_update_inode_locked()
set them correctly, and later have the cache consistency bitmask be
able to clear them.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/dir.c
fs/nfs/inode.c
fs/nfs/nfs4proc.c
fs/nfs/write.c
include/linux/nfs_fs.h