Skip to content

Commit 0a2dfbe

Browse files
committed
fs: nfs: get rid of memcpys for inode times
Subsequent patches in the series convert inode timestamps to use struct timespec64 instead of struct timespec as part of solving the y2038 problem. This will lead to type mismatch for memcpys. Use regular assignments instead. Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com> Cc: trond.myklebust@primarydata.com
1 parent 13442b0 commit 0a2dfbe

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

fs/nfs/inode.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,13 +1315,13 @@ static void nfs_wcc_update_inode(struct inode *inode, struct nfs_fattr *fattr)
13151315
if ((fattr->valid & NFS_ATTR_FATTR_PRECTIME)
13161316
&& (fattr->valid & NFS_ATTR_FATTR_CTIME)
13171317
&& timespec_equal(&inode->i_ctime, &fattr->pre_ctime)) {
1318-
memcpy(&inode->i_ctime, &fattr->ctime, sizeof(inode->i_ctime));
1318+
inode->i_ctime = fattr->ctime;
13191319
}
13201320

13211321
if ((fattr->valid & NFS_ATTR_FATTR_PREMTIME)
13221322
&& (fattr->valid & NFS_ATTR_FATTR_MTIME)
13231323
&& timespec_equal(&inode->i_mtime, &fattr->pre_mtime)) {
1324-
memcpy(&inode->i_mtime, &fattr->mtime, sizeof(inode->i_mtime));
1324+
inode->i_mtime = fattr->mtime;
13251325
if (S_ISDIR(inode->i_mode))
13261326
nfs_set_cache_invalid(inode, NFS_INO_INVALID_DATA);
13271327
}
@@ -1667,12 +1667,12 @@ int nfs_post_op_update_inode_force_wcc_locked(struct inode *inode, struct nfs_fa
16671667
}
16681668
if ((fattr->valid & NFS_ATTR_FATTR_CTIME) != 0 &&
16691669
(fattr->valid & NFS_ATTR_FATTR_PRECTIME) == 0) {
1670-
memcpy(&fattr->pre_ctime, &inode->i_ctime, sizeof(fattr->pre_ctime));
1670+
fattr->pre_ctime = inode->i_ctime;
16711671
fattr->valid |= NFS_ATTR_FATTR_PRECTIME;
16721672
}
16731673
if ((fattr->valid & NFS_ATTR_FATTR_MTIME) != 0 &&
16741674
(fattr->valid & NFS_ATTR_FATTR_PREMTIME) == 0) {
1675-
memcpy(&fattr->pre_mtime, &inode->i_mtime, sizeof(fattr->pre_mtime));
1675+
fattr->pre_mtime = inode->i_mtime;
16761676
fattr->valid |= NFS_ATTR_FATTR_PREMTIME;
16771677
}
16781678
if ((fattr->valid & NFS_ATTR_FATTR_SIZE) != 0 &&
@@ -1829,7 +1829,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
18291829
}
18301830

18311831
if (fattr->valid & NFS_ATTR_FATTR_MTIME) {
1832-
memcpy(&inode->i_mtime, &fattr->mtime, sizeof(inode->i_mtime));
1832+
inode->i_mtime = fattr->mtime;
18331833
} else if (server->caps & NFS_CAP_MTIME) {
18341834
nfsi->cache_validity |= save_cache_validity &
18351835
(NFS_INO_INVALID_MTIME
@@ -1838,7 +1838,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
18381838
}
18391839

18401840
if (fattr->valid & NFS_ATTR_FATTR_CTIME) {
1841-
memcpy(&inode->i_ctime, &fattr->ctime, sizeof(inode->i_ctime));
1841+
inode->i_ctime = fattr->ctime;
18421842
} else if (server->caps & NFS_CAP_CTIME) {
18431843
nfsi->cache_validity |= save_cache_validity &
18441844
(NFS_INO_INVALID_CTIME
@@ -1875,7 +1875,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
18751875

18761876

18771877
if (fattr->valid & NFS_ATTR_FATTR_ATIME)
1878-
memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime));
1878+
inode->i_atime = fattr->atime;
18791879
else if (server->caps & NFS_CAP_ATIME) {
18801880
nfsi->cache_validity |= save_cache_validity &
18811881
(NFS_INO_INVALID_ATIME

0 commit comments

Comments
 (0)