xfs: implement atime updates in xfs_trans_ichgtime
Enable xfs_trans_ichgtime to change the inode access time so that we can use this function to set inode times when allocating inodes instead of open-coding it. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
@@ -183,6 +183,7 @@ void xfs_log_get_max_trans_res(struct xfs_mount *mp,
|
|||||||
#define XFS_ICHGTIME_MOD 0x1 /* data fork modification timestamp */
|
#define XFS_ICHGTIME_MOD 0x1 /* data fork modification timestamp */
|
||||||
#define XFS_ICHGTIME_CHG 0x2 /* inode field change timestamp */
|
#define XFS_ICHGTIME_CHG 0x2 /* inode field change timestamp */
|
||||||
#define XFS_ICHGTIME_CREATE 0x4 /* inode create timestamp */
|
#define XFS_ICHGTIME_CREATE 0x4 /* inode create timestamp */
|
||||||
|
#define XFS_ICHGTIME_ACCESS 0x8 /* last access timestamp */
|
||||||
|
|
||||||
/* Computed inode geometry for the filesystem. */
|
/* Computed inode geometry for the filesystem. */
|
||||||
struct xfs_ino_geometry {
|
struct xfs_ino_geometry {
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ xfs_trans_ichgtime(
|
|||||||
inode_set_mtime_to_ts(inode, tv);
|
inode_set_mtime_to_ts(inode, tv);
|
||||||
if (flags & XFS_ICHGTIME_CHG)
|
if (flags & XFS_ICHGTIME_CHG)
|
||||||
inode_set_ctime_to_ts(inode, tv);
|
inode_set_ctime_to_ts(inode, tv);
|
||||||
|
if (flags & XFS_ICHGTIME_ACCESS)
|
||||||
|
inode_set_atime_to_ts(inode, tv);
|
||||||
if (flags & XFS_ICHGTIME_CREATE)
|
if (flags & XFS_ICHGTIME_CREATE)
|
||||||
ip->i_crtime = tv;
|
ip->i_crtime = tv;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user