f2fs: support inode creation time
This patch adds creation time field in inode layout to support showing kstat.btime in ->statx. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
@@ -278,6 +278,12 @@ static int do_read_inode(struct inode *inode)
|
||||
i_projid = F2FS_DEF_PROJID;
|
||||
fi->i_projid = make_kprojid(&init_user_ns, i_projid);
|
||||
|
||||
if (f2fs_has_extra_attr(inode) && f2fs_sb_has_inode_crtime(sbi->sb) &&
|
||||
F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_crtime)) {
|
||||
fi->i_crtime.tv_sec = le64_to_cpu(ri->i_crtime);
|
||||
fi->i_crtime.tv_nsec = le32_to_cpu(ri->i_crtime_nsec);
|
||||
}
|
||||
|
||||
f2fs_put_page(node_page, 1);
|
||||
|
||||
stat_inc_inline_xattr(inode);
|
||||
@@ -421,6 +427,15 @@ void update_inode(struct inode *inode, struct page *node_page)
|
||||
F2FS_I(inode)->i_projid);
|
||||
ri->i_projid = cpu_to_le32(i_projid);
|
||||
}
|
||||
|
||||
if (f2fs_sb_has_inode_crtime(F2FS_I_SB(inode)->sb) &&
|
||||
F2FS_FITS_IN_INODE(ri, F2FS_I(inode)->i_extra_isize,
|
||||
i_crtime)) {
|
||||
ri->i_crtime =
|
||||
cpu_to_le64(F2FS_I(inode)->i_crtime.tv_sec);
|
||||
ri->i_crtime_nsec =
|
||||
cpu_to_le32(F2FS_I(inode)->i_crtime.tv_nsec);
|
||||
}
|
||||
}
|
||||
|
||||
__set_inode_rdev(inode, ri);
|
||||
|
Reference in New Issue
Block a user