Support to inject .i_xattr_nid on inode node. Cc: Sheng Yong <shengyo...@xiaomi.com> Signed-off-by: Chao Yu <c...@kernel.org> --- fsck/inject.c | 5 +++++ man/inject.f2fs.8 | 3 +++ 2 files changed, 8 insertions(+)
diff --git a/fsck/inject.c b/fsck/inject.c index bd6ab84..b291d9d 100644 --- a/fsck/inject.c +++ b/fsck/inject.c @@ -192,6 +192,7 @@ static void inject_node_usage(void) MSG(0, " i_links: inject inode i_links\n"); MSG(0, " i_size: inject inode i_size\n"); MSG(0, " i_blocks: inject inode i_blocks\n"); + MSG(0, " i_xattr_nid: inject inode i_xattr_nid\n"); MSG(0, " i_extra_isize: inject inode i_extra_isize\n"); MSG(0, " i_inode_checksum: inject inode i_inode_checksum\n"); MSG(0, " i_addr: inject inode i_addr array selected by --idx <index>\n"); @@ -794,6 +795,10 @@ static int inject_inode(struct f2fs_sb_info *sbi, struct f2fs_node *node, MSG(0, "Info: inject inode i_blocks of nid %u: %"PRIu64" -> %"PRIu64"\n", opt->nid, le64_to_cpu(inode->i_blocks), (u64)opt->val); inode->i_blocks = cpu_to_le64((u64)opt->val); + } else if (!strcmp(opt->mb, "i_xattr_nid")) { + MSG(0, "Info: inject inode i_xattr_nid of nid %u: %u -> %u\n", + opt->nid, le32_to_cpu(inode->i_xattr_nid), (u32)opt->val); + inode->i_xattr_nid = cpu_to_le32((u32)opt->val); } else if (!strcmp(opt->mb, "i_extra_isize")) { /* do not care if F2FS_EXTRA_ATTR is enabled */ MSG(0, "Info: inject inode i_extra_isize of nid %u: %d -> %d\n", diff --git a/man/inject.f2fs.8 b/man/inject.f2fs.8 index 01d58ef..65ac658 100644 --- a/man/inject.f2fs.8 +++ b/man/inject.f2fs.8 @@ -170,6 +170,9 @@ inode i_size. .BI i_blocks inode i_blocks. .TP +.BI i_xattr_nid +inode i_xattr_nid. +.TP .BI i_extra_isize inode i_extra_isize. .TP -- 2.49.0 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel