gfs2: convert to new timestamp accessors
authorJeff Layton <jlayton@kernel.org>
Wed, 4 Oct 2023 18:52:25 +0000 (14:52 -0400)
committerChristian Brauner <brauner@kernel.org>
Wed, 18 Oct 2023 12:08:21 +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-38-jlayton@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/gfs2/bmap.c
fs/gfs2/dir.c
fs/gfs2/glops.c
fs/gfs2/inode.c
fs/gfs2/quota.c
fs/gfs2/super.c

index ef7017fb69512c589c91f3e78ae7e758550b0006..011cd992e0e6d23ca54d5740255ff12155464506 100644 (file)
@@ -1386,7 +1386,7 @@ static int trunc_start(struct inode *inode, u64 newsize)
                ip->i_diskflags |= GFS2_DIF_TRUNC_IN_PROG;
 
        i_size_write(inode, newsize);
-       ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+       inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
        gfs2_dinode_out(ip, dibh->b_data);
 
        if (journaled)
@@ -1583,7 +1583,7 @@ out_unlock:
 
                        /* Every transaction boundary, we rewrite the dinode
                           to keep its di_blocks current in case of failure. */
-                       ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+                       inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
                        gfs2_trans_add_meta(ip->i_gl, dibh);
                        gfs2_dinode_out(ip, dibh->b_data);
                        brelse(dibh);
@@ -1949,7 +1949,7 @@ static int punch_hole(struct gfs2_inode *ip, u64 offset, u64 length)
                gfs2_statfs_change(sdp, 0, +btotal, 0);
                gfs2_quota_change(ip, -(s64)btotal, ip->i_inode.i_uid,
                                  ip->i_inode.i_gid);
-               ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+               inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
                gfs2_trans_add_meta(ip->i_gl, dibh);
                gfs2_dinode_out(ip, dibh->b_data);
                up_write(&ip->i_rw_mutex);
@@ -1992,7 +1992,7 @@ static int trunc_end(struct gfs2_inode *ip)
                gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode));
                gfs2_ordered_del_inode(ip);
        }
-       ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+       inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
        ip->i_diskflags &= ~GFS2_DIF_TRUNC_IN_PROG;
 
        gfs2_trans_add_meta(ip->i_gl, dibh);
@@ -2093,7 +2093,7 @@ static int do_grow(struct inode *inode, u64 size)
                goto do_end_trans;
 
        truncate_setsize(inode, size);
-       ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+       inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
        gfs2_trans_add_meta(ip->i_gl, dibh);
        gfs2_dinode_out(ip, dibh->b_data);
        brelse(dibh);
index 1a2afa88f8bea8eb1661792eab5f3d17889516c2..61ddd03ea111efe6980a0152982dd20a7d6ff246 100644 (file)
@@ -130,7 +130,7 @@ static int gfs2_dir_write_stuffed(struct gfs2_inode *ip, const char *buf,
        memcpy(dibh->b_data + offset + sizeof(struct gfs2_dinode), buf, size);
        if (ip->i_inode.i_size < offset + size)
                i_size_write(&ip->i_inode, offset + size);
-       ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+       inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
        gfs2_dinode_out(ip, dibh->b_data);
 
        brelse(dibh);
@@ -227,7 +227,7 @@ out:
 
        if (ip->i_inode.i_size < offset + copied)
                i_size_write(&ip->i_inode, offset + copied);
-       ip->i_inode.i_mtime = inode_set_ctime_current(&ip->i_inode);
+       inode_set_mtime_to_ts(&ip->i_inode, inode_set_ctime_current(&ip->i_inode));
 
        gfs2_trans_add_meta(ip->i_gl, dibh);
        gfs2_dinode_out(ip, dibh->b_data);
@@ -1825,7 +1825,7 @@ int gfs2_dir_add(struct inode *inode, const struct qstr *name,
                        da->bh = NULL;
                        brelse(bh);
                        ip->i_entries++;
-                       ip->i_inode.i_mtime = tv;
+                       inode_set_mtime_to_ts(&ip->i_inode, tv);
                        if (S_ISDIR(nip->i_inode.i_mode))
                                inc_nlink(&ip->i_inode);
                        mark_inode_dirty(inode);
@@ -1911,7 +1911,7 @@ int gfs2_dir_del(struct gfs2_inode *dip, const struct dentry *dentry)
        if (!dip->i_entries)
                gfs2_consist_inode(dip);
        dip->i_entries--;
-       dip->i_inode.i_mtime =  tv;
+       inode_set_mtime_to_ts(&dip->i_inode, tv);
        if (d_is_dir(dentry))
                drop_nlink(&dip->i_inode);
        mark_inode_dirty(&dip->i_inode);
@@ -1952,7 +1952,7 @@ int gfs2_dir_mvino(struct gfs2_inode *dip, const struct qstr *filename,
        dent->de_type = cpu_to_be16(new_type);
        brelse(bh);
 
-       dip->i_inode.i_mtime = inode_set_ctime_current(&dip->i_inode);
+       inode_set_mtime_to_ts(&dip->i_inode, inode_set_ctime_current(&dip->i_inode));
        mark_inode_dirty_sync(&dip->i_inode);
        return 0;
 }
index f41ca89d216bc243a405b70482301649098fcba0..e7d334c277a1477f182459a1ccce0486192e258f 100644 (file)
@@ -403,7 +403,7 @@ static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf)
 {
        struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
        const struct gfs2_dinode *str = buf;
-       struct timespec64 atime;
+       struct timespec64 atime, iatime;
        u16 height, depth;
        umode_t mode = be32_to_cpu(str->di_mode);
        struct inode *inode = &ip->i_inode;
@@ -433,10 +433,11 @@ static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf)
        gfs2_set_inode_blocks(inode, be64_to_cpu(str->di_blocks));
        atime.tv_sec = be64_to_cpu(str->di_atime);
        atime.tv_nsec = be32_to_cpu(str->di_atime_nsec);
-       if (timespec64_compare(&inode->i_atime, &atime) < 0)
-               inode->i_atime = atime;
-       inode->i_mtime.tv_sec = be64_to_cpu(str->di_mtime);
-       inode->i_mtime.tv_nsec = be32_to_cpu(str->di_mtime_nsec);
+       iatime = inode_get_atime(inode);
+       if (timespec64_compare(&iatime, &atime) < 0)
+               inode_set_atime_to_ts(inode, atime);
+       inode_set_mtime(inode, be64_to_cpu(str->di_mtime),
+                       be32_to_cpu(str->di_mtime_nsec));
        inode_set_ctime(inode, be64_to_cpu(str->di_ctime),
                        be32_to_cpu(str->di_ctime_nsec));
 
index 0eac0450790471d09b49741fbffad643ba74db85..7fe77bc771e5ac659a8792d5c12c2d54e6498277 100644 (file)
@@ -185,8 +185,9 @@ struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned int type,
                set_bit(GLF_INSTANTIATE_NEEDED, &ip->i_gl->gl_flags);
 
                /* Lowest possible timestamp; will be overwritten in gfs2_dinode_in. */
-               inode->i_atime.tv_sec = 1LL << (8 * sizeof(inode->i_atime.tv_sec) - 1);
-               inode->i_atime.tv_nsec = 0;
+               inode_set_atime(inode,
+                               1LL << (8 * sizeof(inode_get_atime_sec(inode)) - 1),
+                               0);
 
                glock_set_object(ip->i_gl, ip);
 
@@ -696,7 +697,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
        set_nlink(inode, S_ISDIR(mode) ? 2 : 1);
        inode->i_rdev = dev;
        inode->i_size = size;
-       inode->i_atime = inode->i_mtime = inode_set_ctime_current(inode);
+       simple_inode_init_ts(inode);
        munge_mode_uid_gid(dip, inode);
        check_and_update_goal(dip);
        ip->i_goal = dip->i_goal;
index 171b2713d2e5e608f41742f289c688105fb5de3c..d9854aece15b5612441bb1d42762d3e95c597bff 100644 (file)
@@ -886,7 +886,7 @@ static int gfs2_adjust_quota(struct gfs2_sbd *sdp, loff_t loc,
                size = loc + sizeof(struct gfs2_quota);
                if (size > inode->i_size)
                        i_size_write(inode, size);
-               inode->i_mtime = inode_set_ctime_current(inode);
+               inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
                mark_inode_dirty(inode);
                set_bit(QDF_REFRESH, &qd->qd_flags);
        }
index 02d93da21b2b07643c6a7be334ca5b6838efb115..52a878fa7139d8f107371fbb4f4f0a2503c919c1 100644 (file)
@@ -410,9 +410,9 @@ void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf)
        str->di_nlink = cpu_to_be32(inode->i_nlink);
        str->di_size = cpu_to_be64(i_size_read(inode));
        str->di_blocks = cpu_to_be64(gfs2_get_inode_blocks(inode));
-       str->di_atime = cpu_to_be64(inode->i_atime.tv_sec);
-       str->di_mtime = cpu_to_be64(inode->i_mtime.tv_sec);
-       str->di_ctime = cpu_to_be64(inode_get_ctime(inode).tv_sec);
+       str->di_atime = cpu_to_be64(inode_get_atime_sec(inode));
+       str->di_mtime = cpu_to_be64(inode_get_mtime_sec(inode));
+       str->di_ctime = cpu_to_be64(inode_get_ctime_sec(inode));
 
        str->di_goal_meta = cpu_to_be64(ip->i_goal);
        str->di_goal_data = cpu_to_be64(ip->i_goal);
@@ -427,9 +427,9 @@ void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf)
        str->di_entries = cpu_to_be32(ip->i_entries);
 
        str->di_eattr = cpu_to_be64(ip->i_eattr);
-       str->di_atime_nsec = cpu_to_be32(inode->i_atime.tv_nsec);
-       str->di_mtime_nsec = cpu_to_be32(inode->i_mtime.tv_nsec);
-       str->di_ctime_nsec = cpu_to_be32(inode_get_ctime(inode).tv_nsec);
+       str->di_atime_nsec = cpu_to_be32(inode_get_atime_nsec(inode));
+       str->di_mtime_nsec = cpu_to_be32(inode_get_mtime_nsec(inode));
+       str->di_ctime_nsec = cpu_to_be32(inode_get_ctime_nsec(inode));
 }
 
 /**