fs: ufs: Use ktime_get_real_ts64() for birthtime
PATCH RESEND 1/1 fs: ufs: Use ktime_get_real_ts64() for birthtime
CURRENT_TIME is not y2038 safe.
Replace it with ktime_get_real_ts64().
Inode time formats are already 64 bit long and
accommodates time64_t.
Signed-off-by Deepa Dinamani <[email protected]>
--- fs/ufs/ialloc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
fs/ufs/ialloc.c +4 -2
@@ -176,6 +176,7 @@ struct inode *ufs_new_inode(struct inode *dir, umode_t mode)struct ufs_cg_private_info * ucpi;struct ufs_cylinder_group * ucg;struct inode * inode; +struct timespec64 ts;unsigned cg, bit, i, j, start;struct ufs_inode_info *ufsi;int err = -ENOSPC ;
@@ -323,8 +324,9 @@ struct inode *ufs_new_inode(struct inode *dir, umode_t mode)lock_buffer (bh); ufs2_inode = (struct ufs2_inode *)bh->b_data; ufs2_inode +=ufs_inotofsbo (inode->i_ino); - ufs2_inode->ui_birthtime =cpu_to_fs64 (sb,CURRENT_TIME .tv_sec); - ufs2_inode->ui_birthnsec =cpu_to_fs32 (sb,CURRENT_TIME .tv_nsec); +ktime_get_real_ts64 (&ts); + ufs2_inode->ui_birthtime =cpu_to_fs64 (sb, ts.tv_sec); + ufs2_inode->ui_birthnsec =cpu_to_fs32 (sb, ts.tv_nsec);mark_buffer_dirty (bh);unlock_buffer (bh);if (sb->s_flags &MS_SYNCHRONOUS )
Signature · 1 line
2.7.4