From: Zheng Liu <wenqing.lz@xxxxxxxxxx> Inode with inline data haven't any fragmentations. Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx> --- debugfs/filefrag.c | 30 ++++++++++++++++++------------ 1 files changed, 18 insertions(+), 12 deletions(-) diff --git a/debugfs/filefrag.c b/debugfs/filefrag.c index 7f28bc0..c94396c 100644 --- a/debugfs/filefrag.c +++ b/debugfs/filefrag.c @@ -153,16 +153,18 @@ static void filefrag(ext2_ino_t ino, struct ext2_inode *inode, fprintf(fs->f, "\n%s has %llu block(s), i_size is %llu\n", fs->name, num_blocks, EXT2_I_SIZE(inode)); } - print_header(fs); - retval = ext2fs_block_iterate3(current_fs, ino, - BLOCK_FLAG_READ_ONLY, NULL, - filefrag_blocks_proc, fs); - if (retval) - com_err("ext2fs_block_iterate3", retval, 0); - - report_filefrag(fs); - fprintf(fs->f, "%s: %d contiguous extents%s\n", fs->name, fs->ext, - LINUX_S_ISDIR(inode->i_mode) ? " (dir)" : ""); + if (!ext2fs_has_inline_data(current_fs, ino)) { + print_header(fs); + retval = ext2fs_block_iterate3(current_fs, ino, + BLOCK_FLAG_READ_ONLY, NULL, + filefrag_blocks_proc, fs); + if (retval) + com_err("ext2fs_block_iterate3", retval, 0); + + report_filefrag(fs); + fprintf(fs->f, "%s: %d contiguous extents%s\n", fs->name, fs->ext, + LINUX_S_ISDIR(inode->i_mode) ? " (dir)" : ""); + } } static int filefrag_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), @@ -240,8 +242,12 @@ static void dir_iterate(ext2_ino_t ino, struct filefrag_struct *fs) fs->dir_name = fs->name; while (1) { - retval = ext2fs_dir_iterate2(current_fs, ino, 0, - 0, filefrag_dir_proc, fs); + if (ext2fs_has_inline_data(current_fs, ino)) + retval = ext2fs_inline_data_iterate2(current_fs, ino, + 0, 0, filefrag_dir_proc, fs); + else + retval = ext2fs_dir_iterate2(current_fs, ino, 0, + 0, filefrag_dir_proc, fs); if (retval) com_err("ext2fs_dir_iterate2", retval, 0); if (p) { -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html