NFS: fix nfs_fetch_iversion()

[ Upstream commit b876d708316bf9b6b9678eb2beb289b93cfe6369 ]

The change attribute is always set by all NFS client versions so get rid
of the open-coded version.

Fixes: 3cc55f4434b4 ("nfs: use change attribute for NFS re-exports")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Trond Myklebust 2021-03-24 15:32:21 -04:00 committed by Ksawlii
parent e35988da53
commit 05a793471f

View file

@ -171,17 +171,10 @@ static u64 nfs_fetch_iversion(struct inode *inode)
{
struct nfs_server *server = NFS_SERVER(inode);
/* Is this the right call?: */
nfs_revalidate_inode(server, inode);
/*
* Also, note we're ignoring any returned error. That seems to be
* the practice for cache consistency information elsewhere in
* the server, but I'm not sure why.
*/
if (server->nfs_client->rpc_ops->version >= 4)
return inode_peek_iversion_raw(inode);
else
return time_to_chattr(&inode->i_ctime);
if (nfs_check_cache_invalid(inode, NFS_INO_INVALID_CHANGE |
NFS_INO_REVAL_PAGECACHE))
__nfs_revalidate_inode(server, inode);
return inode_peek_iversion_raw(inode);
}
const struct export_operations nfs_export_ops = {