From 328731738d88eb6c32c784e7aa7871e576e9e8a5 Mon Sep 17 00:00:00 2001 From: Zheng Liu Date: Mon, 2 Jun 2014 19:40:41 +0800 Subject: [PATCH] debugfs: do not display fast symlink with inline data 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 Cc: Tao Ma Cc: "Darrick J. Wong" Cc: Andreas Dilger Cc: "Theodore Ts'o" Signed-off-by: Zheng Liu Signed-off-by: Theodore Ts'o --- 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.8.3.1