Re: [PATCH v1] ntfs: report birth time for symbolic links
From: liubaolin
Date: Tue Oct 13 2026 - 21:35:53 EST
在 2026/10/14 09:18, Xuewen Wang 写道:
NTFS already loads the creation time into i_crtime and reports it through
ntfs_getattr(). However, the symbolic-link inode operations omit getattr,
so statx() with AT_SYMLINK_NOFOLLOW falls back to generic_fillattr() and
does not return STATX_BTIME for the link itself.
Use ntfs_getattr() for symbolic links to expose their stored creation time.
Signed-off-by: Xuewen Wang <wangxuewen@xxxxxxxxxx>
---
Tested in QEMU with WSL and native symlinks, including dangling links and
links to directories. Birth times survive inode cache eviction, remounts
and a fresh boot. Queries that follow a link still report the target's
creation time.
fs/ntfs/file.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c
index 58afd310d57b..58aad7f5c6c5 100644
--- a/fs/ntfs/file.c
+++ b/fs/ntfs/file.c
@@ -1556,6 +1556,7 @@ const struct inode_operations ntfs_file_inode_ops = {
const struct inode_operations ntfs_symlink_inode_operations = {
.get_link = ntfs_get_link,
.setattr = ntfs_setattr,
+ .getattr = ntfs_getattr,
.listxattr = ntfs_listxattr,
.fileattr_get = ntfs_fileattr_get,
.fileattr_set = ntfs_fileattr_set,
Looks good to me.
Reviewed-by: Baolin Liu <liubaolin@xxxxxxxxxx>