summaryrefslogtreecommitdiffstats
path: root/fs/nfs/inode.c
diff options
context:
space:
mode:
authorDeepa Dinamani <deepa.kernel@gmail.com>2018-05-09 16:43:33 -0400
committerDeepa Dinamani <deepa.kernel@gmail.com>2018-05-25 18:31:13 -0400
commit0a2dfbecb36119c3fa7d815308c6aa90789bbf02 (patch)
tree6b2ade74add5e54692b363f52512d7decbb678ea /fs/nfs/inode.c
parent13442b036a133f77898b2dbde4400413d123389a (diff)
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
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r--fs/nfs/inode.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index bd15d0b57626..55b62254dd7c 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -1315,13 +1315,13 @@ static void nfs_wcc_update_inode(struct inode *inode, struct nfs_fattr *fattr)
1315 if ((fattr->valid & NFS_ATTR_FATTR_PRECTIME) 1315 if ((fattr->valid & NFS_ATTR_FATTR_PRECTIME)
1316 && (fattr->valid & NFS_ATTR_FATTR_CTIME) 1316 && (fattr->valid & NFS_ATTR_FATTR_CTIME)
1317 && timespec_equal(&inode->i_ctime, &fattr->pre_ctime)) { 1317 && 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;
1319 } 1319 }
1320 1320
1321 if ((fattr->valid & NFS_ATTR_FATTR_PREMTIME) 1321 if ((fattr->valid & NFS_ATTR_FATTR_PREMTIME)
1322 && (fattr->valid & NFS_ATTR_FATTR_MTIME) 1322 && (fattr->valid & NFS_ATTR_FATTR_MTIME)
1323 && timespec_equal(&inode->i_mtime, &fattr->pre_mtime)) { 1323 && 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;
1325 if (S_ISDIR(inode->i_mode)) 1325 if (S_ISDIR(inode->i_mode))
1326 nfs_set_cache_invalid(inode, NFS_INO_INVALID_DATA); 1326 nfs_set_cache_invalid(inode, NFS_INO_INVALID_DATA);
1327 } 1327 }
@@ -1667,12 +1667,12 @@ int nfs_post_op_update_inode_force_wcc_locked(struct inode *inode, struct nfs_fa
1667 } 1667 }
1668 if ((fattr->valid & NFS_ATTR_FATTR_CTIME) != 0 && 1668 if ((fattr->valid & NFS_ATTR_FATTR_CTIME) != 0 &&
1669 (fattr->valid & NFS_ATTR_FATTR_PRECTIME) == 0) { 1669 (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;
1671 fattr->valid |= NFS_ATTR_FATTR_PRECTIME; 1671 fattr->valid |= NFS_ATTR_FATTR_PRECTIME;
1672 } 1672 }
1673 if ((fattr->valid & NFS_ATTR_FATTR_MTIME) != 0 && 1673 if ((fattr->valid & NFS_ATTR_FATTR_MTIME) != 0 &&
1674 (fattr->valid & NFS_ATTR_FATTR_PREMTIME) == 0) { 1674 (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;
1676 fattr->valid |= NFS_ATTR_FATTR_PREMTIME; 1676 fattr->valid |= NFS_ATTR_FATTR_PREMTIME;
1677 } 1677 }
1678 if ((fattr->valid & NFS_ATTR_FATTR_SIZE) != 0 && 1678 if ((fattr->valid & NFS_ATTR_FATTR_SIZE) != 0 &&
@@ -1829,7 +1829,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
1829 } 1829 }
1830 1830
1831 if (fattr->valid & NFS_ATTR_FATTR_MTIME) { 1831 if (fattr->valid & NFS_ATTR_FATTR_MTIME) {
1832 memcpy(&inode->i_mtime, &fattr->mtime, sizeof(inode->i_mtime)); 1832 inode->i_mtime = fattr->mtime;
1833 } else if (server->caps & NFS_CAP_MTIME) { 1833 } else if (server->caps & NFS_CAP_MTIME) {
1834 nfsi->cache_validity |= save_cache_validity & 1834 nfsi->cache_validity |= save_cache_validity &
1835 (NFS_INO_INVALID_MTIME 1835 (NFS_INO_INVALID_MTIME
@@ -1838,7 +1838,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
1838 } 1838 }
1839 1839
1840 if (fattr->valid & NFS_ATTR_FATTR_CTIME) { 1840 if (fattr->valid & NFS_ATTR_FATTR_CTIME) {
1841 memcpy(&inode->i_ctime, &fattr->ctime, sizeof(inode->i_ctime)); 1841 inode->i_ctime = fattr->ctime;
1842 } else if (server->caps & NFS_CAP_CTIME) { 1842 } else if (server->caps & NFS_CAP_CTIME) {
1843 nfsi->cache_validity |= save_cache_validity & 1843 nfsi->cache_validity |= save_cache_validity &
1844 (NFS_INO_INVALID_CTIME 1844 (NFS_INO_INVALID_CTIME
@@ -1875,7 +1875,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
1875 1875
1876 1876
1877 if (fattr->valid & NFS_ATTR_FATTR_ATIME) 1877 if (fattr->valid & NFS_ATTR_FATTR_ATIME)
1878 memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime)); 1878 inode->i_atime = fattr->atime;
1879 else if (server->caps & NFS_CAP_ATIME) { 1879 else if (server->caps & NFS_CAP_ATIME) {
1880 nfsi->cache_validity |= save_cache_validity & 1880 nfsi->cache_validity |= save_cache_validity &
1881 (NFS_INO_INVALID_ATIME 1881 (NFS_INO_INVALID_ATIME