Update the inode timestamp updates to use timestamp_truncate()
instead of timespec64_trunc().

The change was mostly generated by the following coccinelle
script.

virtual context
virtual patch

@r1 depends on patch forall@
struct inode *inode;
identifier i_xtime =~ "^i_[acm]time$";
expression e;
@@

inode->i_xtime =
- timespec64_trunc(
+ timestamp_truncate(
...,
- e);
+ inode);

Signed-off-by: Deepa Dinamani <deepa.ker...@gmail.com>
Cc: adrian.hun...@intel.com
Cc: an...@tuxera.com
Cc: dedeki...@gmail.com
Cc: gre...@linuxfoundation.org
Cc: h...@lst.de
Cc: hirof...@mail.parknet.co.jp
Cc: jaeg...@kernel.org
Cc: jl...@evilplan.org
Cc: rich...@nod.at
Cc: t...@kernel.org
Cc: yuch...@huawei.com
Cc: linux-f2fs-devel@lists.sourceforge.net
Cc: linux-ntfs-...@lists.sourceforge.net
Cc: linux-...@lists.infradead.org
---
 fs/attr.c           | 21 ++++++++++++---------
 fs/configfs/inode.c | 12 ++++++------
 fs/f2fs/file.c      | 21 ++++++++++++---------
 fs/fat/misc.c       |  5 +++--
 fs/kernfs/inode.c   |  6 +++---
 fs/ntfs/inode.c     | 21 ++++++++++++---------
 fs/ubifs/file.c     | 21 ++++++++++++---------
 7 files changed, 60 insertions(+), 47 deletions(-)

diff --git a/fs/attr.c b/fs/attr.c
index d22e8187477f..df28035aa23e 100644
--- a/fs/attr.c
+++ b/fs/attr.c
@@ -183,15 +183,18 @@ void setattr_copy(struct inode *inode, const struct iattr 
*attr)
                inode->i_uid = attr->ia_uid;
        if (ia_valid & ATTR_GID)
                inode->i_gid = attr->ia_gid;
-       if (ia_valid & ATTR_ATIME)
-               inode->i_atime = timespec64_trunc(attr->ia_atime,
-                                                 inode->i_sb->s_time_gran);
-       if (ia_valid & ATTR_MTIME)
-               inode->i_mtime = timespec64_trunc(attr->ia_mtime,
-                                                 inode->i_sb->s_time_gran);
-       if (ia_valid & ATTR_CTIME)
-               inode->i_ctime = timespec64_trunc(attr->ia_ctime,
-                                                 inode->i_sb->s_time_gran);
+       if (ia_valid & ATTR_ATIME) {
+               inode->i_atime = timestamp_truncate(attr->ia_atime,
+                                                 inode);
+       }
+       if (ia_valid & ATTR_MTIME) {
+               inode->i_mtime = timestamp_truncate(attr->ia_mtime,
+                                                 inode);
+       }
+       if (ia_valid & ATTR_CTIME) {
+               inode->i_ctime = timestamp_truncate(attr->ia_ctime,
+                                                 inode);
+       }
        if (ia_valid & ATTR_MODE) {
                umode_t mode = attr->ia_mode;
 
diff --git a/fs/configfs/inode.c b/fs/configfs/inode.c
index ab0284321912..884dcf06cfbe 100644
--- a/fs/configfs/inode.c
+++ b/fs/configfs/inode.c
@@ -76,14 +76,14 @@ int configfs_setattr(struct dentry * dentry, struct iattr * 
iattr)
        if (ia_valid & ATTR_GID)
                sd_iattr->ia_gid = iattr->ia_gid;
        if (ia_valid & ATTR_ATIME)
-               sd_iattr->ia_atime = timespec64_trunc(iattr->ia_atime,
-                                                     inode->i_sb->s_time_gran);
+               sd_iattr->ia_atime = timestamp_truncate(iattr->ia_atime,
+                                                     inode);
        if (ia_valid & ATTR_MTIME)
-               sd_iattr->ia_mtime = timespec64_trunc(iattr->ia_mtime,
-                                                     inode->i_sb->s_time_gran);
+               sd_iattr->ia_mtime = timestamp_truncate(iattr->ia_mtime,
+                                                     inode);
        if (ia_valid & ATTR_CTIME)
-               sd_iattr->ia_ctime = timespec64_trunc(iattr->ia_ctime,
-                                                     inode->i_sb->s_time_gran);
+               sd_iattr->ia_ctime = timestamp_truncate(iattr->ia_ctime,
+                                                     inode);
        if (ia_valid & ATTR_MODE) {
                umode_t mode = iattr->ia_mode;
 
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 45b45f37d347..faf1e160961b 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -744,15 +744,18 @@ static void __setattr_copy(struct inode *inode, const 
struct iattr *attr)
                inode->i_uid = attr->ia_uid;
        if (ia_valid & ATTR_GID)
                inode->i_gid = attr->ia_gid;
-       if (ia_valid & ATTR_ATIME)
-               inode->i_atime = timespec64_trunc(attr->ia_atime,
-                                                 inode->i_sb->s_time_gran);
-       if (ia_valid & ATTR_MTIME)
-               inode->i_mtime = timespec64_trunc(attr->ia_mtime,
-                                                 inode->i_sb->s_time_gran);
-       if (ia_valid & ATTR_CTIME)
-               inode->i_ctime = timespec64_trunc(attr->ia_ctime,
-                                                 inode->i_sb->s_time_gran);
+       if (ia_valid & ATTR_ATIME) {
+               inode->i_atime = timestamp_truncate(attr->ia_atime,
+                                                 inode);
+       }
+       if (ia_valid & ATTR_MTIME) {
+               inode->i_mtime = timestamp_truncate(attr->ia_mtime,
+                                                 inode);
+       }
+       if (ia_valid & ATTR_CTIME) {
+               inode->i_ctime = timestamp_truncate(attr->ia_ctime,
+                                                 inode);
+       }
        if (ia_valid & ATTR_MODE) {
                umode_t mode = attr->ia_mode;
 
diff --git a/fs/fat/misc.c b/fs/fat/misc.c
index 1e08bd54c5fb..53bb7c6bf993 100644
--- a/fs/fat/misc.c
+++ b/fs/fat/misc.c
@@ -307,8 +307,9 @@ int fat_truncate_time(struct inode *inode, struct 
timespec64 *now, int flags)
                inode->i_atime = (struct timespec64){ seconds, 0 };
        }
        if (flags & S_CTIME) {
-               if (sbi->options.isvfat)
-                       inode->i_ctime = timespec64_trunc(*now, 10000000);
+               if (sbi->options.isvfat) {
+                       inode->i_ctime = timestamp_truncate(*now, inode);
+               }
                else
                        inode->i_ctime = fat_timespec64_trunc_2secs(*now);
        }
diff --git a/fs/kernfs/inode.c b/fs/kernfs/inode.c
index f3f3984cce80..892a58cfe7a1 100644
--- a/fs/kernfs/inode.c
+++ b/fs/kernfs/inode.c
@@ -161,9 +161,9 @@ static inline void set_inode_attr(struct inode *inode,
        struct super_block *sb = inode->i_sb;
        inode->i_uid = attrs->ia_uid;
        inode->i_gid = attrs->ia_gid;
-       inode->i_atime = timespec64_trunc(attrs->ia_atime, sb->s_time_gran);
-       inode->i_mtime = timespec64_trunc(attrs->ia_mtime, sb->s_time_gran);
-       inode->i_ctime = timespec64_trunc(attrs->ia_ctime, sb->s_time_gran);
+       inode->i_atime = timestamp_truncate(attrs->ia_atime, inode);
+       inode->i_mtime = timestamp_truncate(attrs->ia_mtime, inode);
+       inode->i_ctime = timestamp_truncate(attrs->ia_ctime, inode);
 }
 
 static void kernfs_refresh_inode(struct kernfs_node *kn, struct inode *inode)
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c
index 8baa34baf548..6c7388430ad3 100644
--- a/fs/ntfs/inode.c
+++ b/fs/ntfs/inode.c
@@ -2899,15 +2899,18 @@ int ntfs_setattr(struct dentry *dentry, struct iattr 
*attr)
                        ia_valid |= ATTR_MTIME | ATTR_CTIME;
                }
        }
-       if (ia_valid & ATTR_ATIME)
-               vi->i_atime = timespec64_trunc(attr->ia_atime,
-                                              vi->i_sb->s_time_gran);
-       if (ia_valid & ATTR_MTIME)
-               vi->i_mtime = timespec64_trunc(attr->ia_mtime,
-                                              vi->i_sb->s_time_gran);
-       if (ia_valid & ATTR_CTIME)
-               vi->i_ctime = timespec64_trunc(attr->ia_ctime,
-                                              vi->i_sb->s_time_gran);
+       if (ia_valid & ATTR_ATIME) {
+               vi->i_atime = timestamp_truncate(attr->ia_atime,
+                                              vi);
+       }
+       if (ia_valid & ATTR_MTIME) {
+               vi->i_mtime = timestamp_truncate(attr->ia_mtime,
+                                              vi);
+       }
+       if (ia_valid & ATTR_CTIME) {
+               vi->i_ctime = timestamp_truncate(attr->ia_ctime,
+                                              vi);
+       }
        mark_inode_dirty(vi);
 out:
        return err;
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 400970d740bb..cd52585c8f4f 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1078,15 +1078,18 @@ static void do_attr_changes(struct inode *inode, const 
struct iattr *attr)
                inode->i_uid = attr->ia_uid;
        if (attr->ia_valid & ATTR_GID)
                inode->i_gid = attr->ia_gid;
-       if (attr->ia_valid & ATTR_ATIME)
-               inode->i_atime = timespec64_trunc(attr->ia_atime,
-                                                 inode->i_sb->s_time_gran);
-       if (attr->ia_valid & ATTR_MTIME)
-               inode->i_mtime = timespec64_trunc(attr->ia_mtime,
-                                                 inode->i_sb->s_time_gran);
-       if (attr->ia_valid & ATTR_CTIME)
-               inode->i_ctime = timespec64_trunc(attr->ia_ctime,
-                                                 inode->i_sb->s_time_gran);
+       if (attr->ia_valid & ATTR_ATIME) {
+               inode->i_atime = timestamp_truncate(attr->ia_atime,
+                                                 inode);
+       }
+       if (attr->ia_valid & ATTR_MTIME) {
+               inode->i_mtime = timestamp_truncate(attr->ia_mtime,
+                                                 inode);
+       }
+       if (attr->ia_valid & ATTR_CTIME) {
+               inode->i_ctime = timestamp_truncate(attr->ia_ctime,
+                                                 inode);
+       }
        if (attr->ia_valid & ATTR_MODE) {
                umode_t mode = attr->ia_mode;
 
-- 
2.17.1

Reply via email to