diff options
author | Chao Yu <yuchao0@huawei.com> | 2018-01-25 14:54:42 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2018-01-25 14:10:39 -0800 |
commit | 1c1d35df71104c76a4a2e25862926f22c334c9d6 (patch) | |
tree | 402a1bdd7b6df8812a99c053946fe1ac0157bff0 /fs/f2fs/file.c | |
parent | 068c3cd85866785303f18960a4c00a182515b963 (diff) | |
download | linux-stable-1c1d35df71104c76a4a2e25862926f22c334c9d6.tar.gz linux-stable-1c1d35df71104c76a4a2e25862926f22c334c9d6.tar.bz2 linux-stable-1c1d35df71104c76a4a2e25862926f22c334c9d6.zip |
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>
Diffstat (limited to 'fs/f2fs/file.c')
-rw-r--r-- | fs/f2fs/file.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 84306c718e68..672a542e5464 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -672,8 +672,17 @@ int f2fs_getattr(const struct path *path, struct kstat *stat, { struct inode *inode = d_inode(path->dentry); struct f2fs_inode_info *fi = F2FS_I(inode); + struct f2fs_inode *ri; unsigned int flags; + if (f2fs_has_extra_attr(inode) && + f2fs_sb_has_inode_crtime(inode->i_sb) && + F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_crtime)) { + stat->result_mask |= STATX_BTIME; + stat->btime.tv_sec = fi->i_crtime.tv_sec; + stat->btime.tv_nsec = fi->i_crtime.tv_nsec; + } + flags = fi->i_flags & (FS_FL_USER_VISIBLE | FS_PROJINHERIT_FL); if (flags & FS_APPEND_FL) stat->attributes |= STATX_ATTR_APPEND; |