From: Zheng Liu <redacted>
After enabling symlink with inline data, stat command in debugfs will
think an inode is a fast symlink. This patch fixes this issue.
Cc: Ian Nartowicz <redacted>
Cc: Tao Ma <redacted>
Cc: "Darrick J. Wong" <redacted>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Zheng Liu <redacted>
---
debugfs/debugfs.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index 23a7ca3..2147ffa 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -784,7 +784,9 @@ void internal_dump_inode(FILE *out, const char *prefix,
fprintf(out, "Inode checksum: 0x%08x\n", crc);
}
- if (LINUX_S_ISLNK(inode->i_mode) && ext2fs_inode_data_blocks(current_fs,inode) == 0)
+ if (LINUX_S_ISLNK(inode->i_mode) &&
+ ext2fs_inode_data_blocks(current_fs,inode) == 0 &&
+ !(inode->i_flags & EXT4_INLINE_DATA_FL))
fprintf(out, "%sFast_link_dest: %.*s\n", prefix,
(int) inode->i_size, (char *)inode->i_block);
else if (LINUX_S_ISBLK(inode->i_mode) || LINUX_S_ISCHR(inode->i_mode)) {--
1.7.9.7