diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c index 6f25a6fff..4a34f055a 100644 --- a/module/zfs/zfs_vnops.c +++ b/module/zfs/zfs_vnops.c @@ -559,7 +559,6 @@ out: zfs_range_unlock(rl); ZFS_ACCESSTIME_STAMP(zsb, zp); - zfs_inode_update(zp); ZFS_EXIT(zsb); return (error); } @@ -2148,7 +2147,6 @@ update: error = 0; ZFS_ACCESSTIME_STAMP(zsb, zp); - zfs_inode_update(zp); out: ZFS_EXIT(zsb); @@ -3681,7 +3679,6 @@ zfs_readlink(struct inode *ip, uio_t *uio, cred_t *cr) mutex_exit(&zp->z_lock); ZFS_ACCESSTIME_STAMP(zsb, zp); - zfs_inode_update(zp); ZFS_EXIT(zsb); return (error); } diff --git a/module/zfs/zfs_znode.c b/module/zfs/zfs_znode.c index 9b44912cc..f737af449 100644 --- a/module/zfs/zfs_znode.c +++ b/module/zfs/zfs_znode.c @@ -1123,6 +1123,8 @@ zfs_tstamp_update_setup(znode_t *zp, uint_t flag, uint64_t mtime[2], if (flag & ATTR_ATIME) { ZFS_TIME_ENCODE(&now, zp->z_atime); + ZTOI(zp)->i_atime.tv_sec = zp->z_atime[0]; + ZTOI(zp)->i_atime.tv_nsec = zp->z_atime[1]; } if (flag & ATTR_MTIME) {