overlayfs: convert to new timestamp accessors
authorJeff Layton <jlayton@kernel.org>
Wed, 4 Oct 2023 18:52:45 +0000 (14:52 -0400)
committerChristian Brauner <brauner@kernel.org>
Wed, 18 Oct 2023 12:08:25 +0000 (14:08 +0200)
Convert to using the new inode timestamp accessor functions.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://lore.kernel.org/r/20231004185347.80880-58-jlayton@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/overlayfs/file.c
fs/overlayfs/inode.c
fs/overlayfs/util.c

index 8be4dc050d1ed2e5508f62e84be2d5a835990d36..ec3671ca140c3f5af926fd74268d2a3a653f7574 100644 (file)
@@ -239,6 +239,7 @@ static void ovl_file_accessed(struct file *file)
 {
        struct inode *inode, *upperinode;
        struct timespec64 ctime, uctime;
+       struct timespec64 mtime, umtime;
 
        if (file->f_flags & O_NOATIME)
                return;
@@ -251,9 +252,11 @@ static void ovl_file_accessed(struct file *file)
 
        ctime = inode_get_ctime(inode);
        uctime = inode_get_ctime(upperinode);
-       if ((!timespec64_equal(&inode->i_mtime, &upperinode->i_mtime) ||
-            !timespec64_equal(&ctime, &uctime))) {
-               inode->i_mtime = upperinode->i_mtime;
+       mtime = inode_get_mtime(inode);
+       umtime = inode_get_mtime(upperinode);
+       if ((!timespec64_equal(&mtime, &umtime)) ||
+            !timespec64_equal(&ctime, &uctime)) {
+               inode_set_mtime_to_ts(inode, inode_get_mtime(upperinode));
                inode_set_ctime_to_ts(inode, uctime);
        }
 
index 83ef66644c213be0ac270a8bf5c2639a5545d618..b6e98a7d36ce8f96e27b21a5c34ea06e42dfb226 100644 (file)
@@ -704,7 +704,8 @@ int ovl_update_time(struct inode *inode, int flags)
 
                if (upperpath.dentry) {
                        touch_atime(&upperpath);
-                       inode->i_atime = d_inode(upperpath.dentry)->i_atime;
+                       inode_set_atime_to_ts(inode,
+                                             inode_get_atime(d_inode(upperpath.dentry)));
                }
        }
        return 0;
index 89e0d60d35b6cf6f07cba9a367513b66d41bb32d..868afd8834c323d652aa33abb145084d0c235450 100644 (file)
@@ -1409,8 +1409,8 @@ void ovl_copyattr(struct inode *inode)
        inode->i_uid = vfsuid_into_kuid(vfsuid);
        inode->i_gid = vfsgid_into_kgid(vfsgid);
        inode->i_mode = realinode->i_mode;
-       inode->i_atime = realinode->i_atime;
-       inode->i_mtime = realinode->i_mtime;
+       inode_set_atime_to_ts(inode, inode_get_atime(realinode));
+       inode_set_mtime_to_ts(inode, inode_get_mtime(realinode));
        inode_set_ctime_to_ts(inode, inode_get_ctime(realinode));
        i_size_write(inode, i_size_read(realinode));
 }