nfs: convert to ctime accessor functions
In later patches, we're going to change how the inode's ctime field is used. Switch to using accessor functions instead of raw accesses of inode->i_ctime. Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Message-Id: <20230705190309.579783-55-jlayton@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
f7f438589f
commit
55e04e9c92
@ -59,7 +59,7 @@ __be32 nfs4_callback_getattr(void *argp, void *resp,
|
||||
res->change_attr = delegation->change_attr;
|
||||
if (nfs_have_writebacks(inode))
|
||||
res->change_attr++;
|
||||
res->ctime = inode->i_ctime;
|
||||
res->ctime = inode_get_ctime(inode);
|
||||
res->mtime = inode->i_mtime;
|
||||
res->bitmap[0] = (FATTR4_WORD0_CHANGE|FATTR4_WORD0_SIZE) &
|
||||
args->bitmap[0];
|
||||
|
@ -116,8 +116,8 @@ static inline void nfs_fscache_update_auxdata(struct nfs_fscache_inode_auxdata *
|
||||
memset(auxdata, 0, sizeof(*auxdata));
|
||||
auxdata->mtime_sec = inode->i_mtime.tv_sec;
|
||||
auxdata->mtime_nsec = inode->i_mtime.tv_nsec;
|
||||
auxdata->ctime_sec = inode->i_ctime.tv_sec;
|
||||
auxdata->ctime_nsec = inode->i_ctime.tv_nsec;
|
||||
auxdata->ctime_sec = inode_get_ctime(inode).tv_sec;
|
||||
auxdata->ctime_nsec = inode_get_ctime(inode).tv_nsec;
|
||||
|
||||
if (NFS_SERVER(inode)->nfs_client->rpc_ops->version == 4)
|
||||
auxdata->change_attr = inode_peek_iversion_raw(inode);
|
||||
|
@ -514,7 +514,7 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr)
|
||||
|
||||
memset(&inode->i_atime, 0, sizeof(inode->i_atime));
|
||||
memset(&inode->i_mtime, 0, sizeof(inode->i_mtime));
|
||||
memset(&inode->i_ctime, 0, sizeof(inode->i_ctime));
|
||||
inode_set_ctime(inode, 0, 0);
|
||||
inode_set_iversion_raw(inode, 0);
|
||||
inode->i_size = 0;
|
||||
clear_nlink(inode);
|
||||
@ -535,7 +535,7 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr)
|
||||
else if (fattr_supported & NFS_ATTR_FATTR_MTIME)
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_MTIME);
|
||||
if (fattr->valid & NFS_ATTR_FATTR_CTIME)
|
||||
inode->i_ctime = fattr->ctime;
|
||||
inode_set_ctime_to_ts(inode, fattr->ctime);
|
||||
else if (fattr_supported & NFS_ATTR_FATTR_CTIME)
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_CTIME);
|
||||
if (fattr->valid & NFS_ATTR_FATTR_CHANGE)
|
||||
@ -731,7 +731,7 @@ void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr,
|
||||
if ((attr->ia_valid & ATTR_GID) != 0)
|
||||
inode->i_gid = attr->ia_gid;
|
||||
if (fattr->valid & NFS_ATTR_FATTR_CTIME)
|
||||
inode->i_ctime = fattr->ctime;
|
||||
inode_set_ctime_to_ts(inode, fattr->ctime);
|
||||
else
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_CHANGE
|
||||
| NFS_INO_INVALID_CTIME);
|
||||
@ -749,7 +749,7 @@ void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr,
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_ATIME);
|
||||
|
||||
if (fattr->valid & NFS_ATTR_FATTR_CTIME)
|
||||
inode->i_ctime = fattr->ctime;
|
||||
inode_set_ctime_to_ts(inode, fattr->ctime);
|
||||
else
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_CHANGE
|
||||
| NFS_INO_INVALID_CTIME);
|
||||
@ -765,7 +765,7 @@ void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr,
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_MTIME);
|
||||
|
||||
if (fattr->valid & NFS_ATTR_FATTR_CTIME)
|
||||
inode->i_ctime = fattr->ctime;
|
||||
inode_set_ctime_to_ts(inode, fattr->ctime);
|
||||
else
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_CHANGE
|
||||
| NFS_INO_INVALID_CTIME);
|
||||
@ -1444,11 +1444,11 @@ static void nfs_wcc_update_inode(struct inode *inode, struct nfs_fattr *fattr)
|
||||
nfs_set_cache_invalid(inode, NFS_INO_INVALID_XATTR);
|
||||
}
|
||||
/* If we have atomic WCC data, we may update some attributes */
|
||||
ts = inode->i_ctime;
|
||||
ts = inode_get_ctime(inode);
|
||||
if ((fattr->valid & NFS_ATTR_FATTR_PRECTIME)
|
||||
&& (fattr->valid & NFS_ATTR_FATTR_CTIME)
|
||||
&& timespec64_equal(&ts, &fattr->pre_ctime)) {
|
||||
inode->i_ctime = fattr->ctime;
|
||||
inode_set_ctime_to_ts(inode, fattr->ctime);
|
||||
}
|
||||
|
||||
ts = inode->i_mtime;
|
||||
@ -1510,7 +1510,7 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
|
||||
if ((fattr->valid & NFS_ATTR_FATTR_MTIME) && !timespec64_equal(&ts, &fattr->mtime))
|
||||
invalid |= NFS_INO_INVALID_MTIME;
|
||||
|
||||
ts = inode->i_ctime;
|
||||
ts = inode_get_ctime(inode);
|
||||
if ((fattr->valid & NFS_ATTR_FATTR_CTIME) && !timespec64_equal(&ts, &fattr->ctime))
|
||||
invalid |= NFS_INO_INVALID_CTIME;
|
||||
|
||||
@ -1997,7 +1997,7 @@ int nfs_post_op_update_inode_force_wcc_locked(struct inode *inode, struct nfs_fa
|
||||
}
|
||||
if ((fattr->valid & NFS_ATTR_FATTR_CTIME) != 0 &&
|
||||
(fattr->valid & NFS_ATTR_FATTR_PRECTIME) == 0) {
|
||||
fattr->pre_ctime = inode->i_ctime;
|
||||
fattr->pre_ctime = inode_get_ctime(inode);
|
||||
fattr->valid |= NFS_ATTR_FATTR_PRECTIME;
|
||||
}
|
||||
if ((fattr->valid & NFS_ATTR_FATTR_MTIME) != 0 &&
|
||||
@ -2190,7 +2190,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
|
||||
save_cache_validity & NFS_INO_INVALID_MTIME;
|
||||
|
||||
if (fattr->valid & NFS_ATTR_FATTR_CTIME)
|
||||
inode->i_ctime = fattr->ctime;
|
||||
inode_set_ctime_to_ts(inode, fattr->ctime);
|
||||
else if (fattr_supported & NFS_ATTR_FATTR_CTIME)
|
||||
nfsi->cache_validity |=
|
||||
save_cache_validity & NFS_INO_INVALID_CTIME;
|
||||
|
Loading…
Reference in New Issue
Block a user