All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Alexander Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: jfs-discussion@lists.sourceforge.net
Subject: [PATCH 47/87] fs/jfs: convert to new inode {a,m}time accessors
Date: Thu, 28 Sep 2023 07:02:56 -0400	[thread overview]
Message-ID: <20230928110413.33032-46-jlayton@kernel.org> (raw)
In-Reply-To: <20230928110413.33032-1-jlayton@kernel.org>

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 fs/jfs/inode.c     |  2 +-
 fs/jfs/jfs_imap.c  | 16 ++++++++--------
 fs/jfs/jfs_inode.c |  2 +-
 fs/jfs/namei.c     | 20 +++++++++++---------
 fs/jfs/super.c     |  2 +-
 5 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index 920d58a1566b..1a6b5921d17a 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -393,7 +393,7 @@ void jfs_truncate_nolock(struct inode *ip, loff_t length)
 			break;
 		}
 
-		ip->i_mtime = inode_set_ctime_current(ip);
+		inode_set_mtime_to_ts(ip, inode_set_ctime_current(ip));
 		mark_inode_dirty(ip);
 
 		txCommit(tid, 1, &ip, 0);
diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c
index 923a58422c46..57852a515660 100644
--- a/fs/jfs/jfs_imap.c
+++ b/fs/jfs/jfs_imap.c
@@ -3061,10 +3061,10 @@ static int copy_from_dinode(struct dinode * dip, struct inode *ip)
 	}
 
 	ip->i_size = le64_to_cpu(dip->di_size);
-	ip->i_atime.tv_sec = le32_to_cpu(dip->di_atime.tv_sec);
-	ip->i_atime.tv_nsec = le32_to_cpu(dip->di_atime.tv_nsec);
-	ip->i_mtime.tv_sec = le32_to_cpu(dip->di_mtime.tv_sec);
-	ip->i_mtime.tv_nsec = le32_to_cpu(dip->di_mtime.tv_nsec);
+	inode_set_atime(ip, le32_to_cpu(dip->di_atime.tv_sec),
+			le32_to_cpu(dip->di_atime.tv_nsec));
+	inode_set_mtime(ip, le32_to_cpu(dip->di_mtime.tv_sec),
+			le32_to_cpu(dip->di_mtime.tv_nsec));
 	inode_set_ctime(ip, le32_to_cpu(dip->di_ctime.tv_sec),
 			le32_to_cpu(dip->di_ctime.tv_nsec));
 	ip->i_blocks = LBLK2PBLK(ip->i_sb, le64_to_cpu(dip->di_nblocks));
@@ -3138,12 +3138,12 @@ static void copy_to_dinode(struct dinode * dip, struct inode *ip)
 	else /* Leave the original permissions alone */
 		dip->di_mode = cpu_to_le32(jfs_ip->mode2);
 
-	dip->di_atime.tv_sec = cpu_to_le32(ip->i_atime.tv_sec);
-	dip->di_atime.tv_nsec = cpu_to_le32(ip->i_atime.tv_nsec);
+	dip->di_atime.tv_sec = cpu_to_le32(inode_get_atime(ip).tv_sec);
+	dip->di_atime.tv_nsec = cpu_to_le32(inode_get_atime(ip).tv_nsec);
 	dip->di_ctime.tv_sec = cpu_to_le32(inode_get_ctime(ip).tv_sec);
 	dip->di_ctime.tv_nsec = cpu_to_le32(inode_get_ctime(ip).tv_nsec);
-	dip->di_mtime.tv_sec = cpu_to_le32(ip->i_mtime.tv_sec);
-	dip->di_mtime.tv_nsec = cpu_to_le32(ip->i_mtime.tv_nsec);
+	dip->di_mtime.tv_sec = cpu_to_le32(inode_get_mtime(ip).tv_sec);
+	dip->di_mtime.tv_nsec = cpu_to_le32(inode_get_mtime(ip).tv_nsec);
 	dip->di_ixpxd = jfs_ip->ixpxd;	/* in-memory pxd's are little-endian */
 	dip->di_acl = jfs_ip->acl;	/* as are dxd's */
 	dip->di_ea = jfs_ip->ea;
diff --git a/fs/jfs/jfs_inode.c b/fs/jfs/jfs_inode.c
index 87594efa7f7c..9137e5d96db8 100644
--- a/fs/jfs/jfs_inode.c
+++ b/fs/jfs/jfs_inode.c
@@ -97,7 +97,7 @@ struct inode *ialloc(struct inode *parent, umode_t mode)
 	jfs_inode->mode2 |= inode->i_mode;
 
 	inode->i_blocks = 0;
-	inode->i_mtime = inode->i_atime = inode_set_ctime_current(inode);
+	simple_inode_init_ts(inode);
 	jfs_inode->otime = inode_get_ctime(inode).tv_sec;
 	inode->i_generation = JFS_SBI(sb)->gengen++;
 
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
index 57d7a4300210..d68a4e6ac345 100644
--- a/fs/jfs/namei.c
+++ b/fs/jfs/namei.c
@@ -149,7 +149,7 @@ static int jfs_create(struct mnt_idmap *idmap, struct inode *dip,
 
 	mark_inode_dirty(ip);
 
-	dip->i_mtime = inode_set_ctime_current(dip);
+	inode_set_mtime_to_ts(dip, inode_set_ctime_current(dip));
 
 	mark_inode_dirty(dip);
 
@@ -284,7 +284,7 @@ static int jfs_mkdir(struct mnt_idmap *idmap, struct inode *dip,
 
 	/* update parent directory inode */
 	inc_nlink(dip);		/* for '..' from child directory */
-	dip->i_mtime = inode_set_ctime_current(dip);
+	inode_set_mtime_to_ts(dip, inode_set_ctime_current(dip));
 	mark_inode_dirty(dip);
 
 	rc = txCommit(tid, 2, &iplist[0], 0);
@@ -390,7 +390,7 @@ static int jfs_rmdir(struct inode *dip, struct dentry *dentry)
 	/* update parent directory's link count corresponding
 	 * to ".." entry of the target directory deleted
 	 */
-	dip->i_mtime = inode_set_ctime_current(dip);
+	inode_set_mtime_to_ts(dip, inode_set_ctime_current(dip));
 	inode_dec_link_count(dip);
 
 	/*
@@ -512,7 +512,8 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry)
 
 	ASSERT(ip->i_nlink);
 
-	dip->i_mtime = inode_set_ctime_to_ts(dip, inode_set_ctime_current(ip));
+	inode_set_mtime_to_ts(dip,
+			      inode_set_ctime_to_ts(dip, inode_set_ctime_current(ip)));
 	mark_inode_dirty(dip);
 
 	/* update target's inode */
@@ -828,7 +829,7 @@ static int jfs_link(struct dentry *old_dentry,
 	/* update object inode */
 	inc_nlink(ip);		/* for new link */
 	inode_set_ctime_current(ip);
-	dir->i_mtime = inode_set_ctime_current(dir);
+	inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
 	mark_inode_dirty(dir);
 	ihold(ip);
 
@@ -1028,7 +1029,7 @@ static int jfs_symlink(struct mnt_idmap *idmap, struct inode *dip,
 
 	mark_inode_dirty(ip);
 
-	dip->i_mtime = inode_set_ctime_current(dip);
+	inode_set_mtime_to_ts(dip, inode_set_ctime_current(dip));
 	mark_inode_dirty(dip);
 	/*
 	 * commit update of parent directory and link object
@@ -1271,7 +1272,7 @@ static int jfs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
 	inode_set_ctime_current(old_ip);
 	mark_inode_dirty(old_ip);
 
-	new_dir->i_mtime = inode_set_ctime_current(new_dir);
+	inode_set_mtime_to_ts(new_dir, inode_set_ctime_current(new_dir));
 	mark_inode_dirty(new_dir);
 
 	/* Build list of inodes modified by this transaction */
@@ -1283,7 +1284,8 @@ static int jfs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
 
 	if (old_dir != new_dir) {
 		iplist[ipcount++] = new_dir;
-		old_dir->i_mtime = inode_set_ctime_current(old_dir);
+		inode_set_mtime_to_ts(old_dir,
+				      inode_set_ctime_current(old_dir));
 		mark_inode_dirty(old_dir);
 	}
 
@@ -1416,7 +1418,7 @@ static int jfs_mknod(struct mnt_idmap *idmap, struct inode *dir,
 
 	mark_inode_dirty(ip);
 
-	dir->i_mtime = inode_set_ctime_current(dir);
+	inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
 
 	mark_inode_dirty(dir);
 
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index 2e2f7f6d36a0..966826c394ee 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -818,7 +818,7 @@ static ssize_t jfs_quota_write(struct super_block *sb, int type,
 	}
 	if (inode->i_size < off+len-towrite)
 		i_size_write(inode, off+len-towrite);
-	inode->i_mtime = inode_set_ctime_current(inode);
+	inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
 	mark_inode_dirty(inode);
 	inode_unlock(inode);
 	return len - towrite;
-- 
2.41.0


  parent reply	other threads:[~2023-09-28 11:08 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-28 11:02 [PATCH 00/87] fs: new accessor methods for atime and mtime Jeff Layton
2023-09-28 11:02 ` Jeff Layton
2023-09-28 11:02 ` Jeff Layton
2023-09-28 11:02 ` Jeff Layton
2023-09-28 11:02 ` Jeff Layton
2023-09-28 11:02 ` [f2fs-dev] " Jeff Layton
2023-09-28 11:02 ` [PATCH 02/87] fs: convert core infrastructure to new {a,m}time accessors Jeff Layton
2023-09-28 11:02   ` [PATCH 03/87] arch/powerpc/platforms/cell/spufs: convert to new inode " Jeff Layton
2023-09-28 11:02     ` Jeff Layton
2023-09-28 11:02   ` [PATCH 04/87] arch/s390/hypfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 05/87] drivers/android: " Jeff Layton
2023-09-28 11:02   ` [PATCH 06/87] drivers/char: " Jeff Layton
2023-09-28 11:02   ` [PATCH 07/87] drivers/infiniband/hw/qib: " Jeff Layton
2023-09-28 11:02   ` [PATCH 08/87] drivers/misc/ibmasm: " Jeff Layton
2023-09-28 11:02   ` [PATCH 09/87] drivers/misc: " Jeff Layton
2023-09-28 11:02   ` [PATCH 10/87] drivers/platform/x86: " Jeff Layton
2023-09-28 12:34     ` Hans de Goede
2023-09-28 11:02   ` [PATCH 11/87] drivers/tty: " Jeff Layton
2023-09-28 12:13     ` Greg KH
2023-09-28 12:23       ` Jeff Layton
2023-09-28 11:02   ` [PATCH 12/87] drivers/usb/core: " Jeff Layton
2023-09-28 11:02   ` [PATCH 13/87] drivers/usb/gadget/function: " Jeff Layton
2023-09-28 11:02   ` [PATCH 14/87] drivers/usb/gadget/legacy: " Jeff Layton
2023-09-28 11:02   ` [PATCH 15/87] fs/9p: " Jeff Layton
2023-09-28 11:02   ` [PATCH 16/87] fs/adfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 17/87] fs/affs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 18/87] fs/afs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 19/87] fs/autofs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 20/87] fs/befs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 21/87] fs/bfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 22/87] fs/btrfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 23/87] fs/ceph: " Jeff Layton
2023-09-28 11:02   ` [PATCH 24/87] fs/coda: " Jeff Layton
2023-09-28 11:02   ` [PATCH 25/87] fs/configfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 26/87] fs/cramfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 27/87] fs/debugfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 28/87] fs/devpts: " Jeff Layton
2023-09-28 11:02   ` [PATCH 29/87] fs/efivarfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 30/87] fs/efs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 31/87] fs/erofs: " Jeff Layton
2023-09-28 11:02     ` Jeff Layton
2023-09-28 11:02   ` [PATCH 32/87] fs/exfat: " Jeff Layton
2023-09-28 11:02   ` [PATCH 33/87] fs/ext2: " Jeff Layton
2023-09-28 11:02   ` [PATCH 34/87] fs/ext4: " Jeff Layton
2023-09-28 11:02   ` [f2fs-dev] [PATCH 35/87] fs/f2fs: convert to new inode {a, m}time accessors Jeff Layton
2023-09-28 11:02     ` [PATCH 35/87] fs/f2fs: convert to new inode {a,m}time accessors Jeff Layton
2023-09-28 11:02   ` [PATCH 36/87] fs/fat: " Jeff Layton
2023-09-28 11:02   ` [PATCH 37/87] fs/freevxfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 38/87] fs/fuse: " Jeff Layton
2023-09-28 11:02   ` [PATCH 39/87] fs/gfs2: " Jeff Layton
2023-09-28 11:02   ` [PATCH 40/87] fs/hfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 41/87] fs/hfsplus: " Jeff Layton
2023-09-28 11:02   ` [PATCH 42/87] fs/hostfs: " Jeff Layton
2023-09-28 11:02     ` Jeff Layton
2023-09-28 11:02   ` [PATCH 43/87] fs/hpfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 44/87] fs/hugetlbfs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 45/87] fs/isofs: " Jeff Layton
2023-09-28 11:02   ` [PATCH 46/87] fs/jffs2: " Jeff Layton
2023-09-28 11:02     ` Jeff Layton
2023-09-28 11:02   ` Jeff Layton [this message]
2023-10-03 16:33     ` [Jfs-discussion] [PATCH 47/87] fs/jfs: convert to new inode {a, m}time accessors Dave Kleikamp
2023-09-28 11:02   ` [PATCH 48/87] fs/kernfs: convert to new inode {a,m}time accessors Jeff Layton
2023-09-28 11:02   ` [PATCH 49/87] fs/minix: " Jeff Layton
2023-09-28 11:02   ` [PATCH 50/87] fs/nfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 51/87] fs/nfsd: " Jeff Layton
2023-09-28 13:56     ` Chuck Lever
2023-09-28 14:09       ` Jeff Layton
2023-09-28 14:33         ` Chuck Lever
2023-09-28 11:03   ` [PATCH 52/87] fs/nilfs2: " Jeff Layton
2023-09-28 11:03     ` Jeff Layton
2023-09-28 11:03   ` [PATCH 53/87] fs/ntfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 54/87] fs/ntfs3: " Jeff Layton
2023-09-28 11:03   ` [PATCH 55/87] fs/ocfs2: " Jeff Layton
2023-09-28 11:03   ` [PATCH 56/87] fs/omfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 57/87] fs/openpromfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 58/87] fs/orangefs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 59/87] fs/overlayfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 60/87] fs/proc: " Jeff Layton
2023-09-28 11:03   ` [PATCH 61/87] fs/pstore: " Jeff Layton
2023-09-28 11:03   ` [PATCH 62/87] fs/qnx4: " Jeff Layton
2023-09-28 12:41     ` Anders Larsen
2023-09-28 11:03   ` [PATCH 63/87] fs/qnx6: " Jeff Layton
2023-09-28 11:03   ` [PATCH 64/87] fs/ramfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 65/87] fs/reiserfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 66/87] fs/romfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 67/87] fs/smb/client: " Jeff Layton
2023-09-28 11:03   ` [PATCH 68/87] fs/smb/server: " Jeff Layton
2023-09-28 11:03   ` [PATCH 69/87] fs/squashfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 70/87] fs/sysv: " Jeff Layton
2023-09-28 11:03   ` [PATCH 71/87] fs/tracefs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 72/87] fs/ubifs: " Jeff Layton
2023-09-28 11:03     ` Jeff Layton
2023-09-28 11:03   ` [PATCH 73/87] fs/udf: " Jeff Layton
2023-09-28 11:03   ` [PATCH 74/87] fs/ufs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 75/87] fs/vboxsf: " Jeff Layton
2023-09-28 11:03   ` [PATCH 76/87] fs/xfs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 77/87] fs/zonefs: " Jeff Layton
2023-09-28 11:03   ` [PATCH 78/87] ipc: " Jeff Layton
2023-09-28 11:03   ` [PATCH 79/87] kernel/bpf: " Jeff Layton
2023-09-28 11:03   ` [PATCH 80/87] mm: " Jeff Layton
2023-09-28 11:03   ` [PATCH 81/87] net/sunrpc: " Jeff Layton
2023-09-28 11:03   ` [PATCH 82/87] security/apparmor: " Jeff Layton
2023-09-28 11:03   ` [PATCH 83/87] security/selinux: " Jeff Layton
2023-10-03 19:53     ` Paul Moore
2023-09-28 11:03   ` [PATCH 84/87] security: " Jeff Layton
2023-10-03 23:41     ` Paul Moore
2023-09-28 11:03 ` [PATCH 01/87] fs: new accessor methods for atime and mtime Jeff Layton
2023-09-28 11:03   ` Jeff Layton
2023-09-28 11:03   ` Jeff Layton
2023-09-28 11:03   ` Jeff Layton
2023-09-28 11:03   ` Jeff Layton
2023-09-28 11:03   ` [f2fs-dev] " Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230928110413.33032-46-jlayton@kernel.org \
    --to=jlayton@kernel.org \
    --cc=brauner@kernel.org \
    --cc=jfs-discussion@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.