Commit 890e963
inject.f2fs: fix injecting nat/sit journal in compact summary
When CP has CP_COMPACT_SUM_FLAG set, the nat/sit journal is stored in
compact summary blocks at start_sum_block() rather than in the regular
summary area. However, rewrite_nat_in_journal() and
rewrite_sit_in_journal() only handled CP_UMOUNT_FLAG and the running
state, missing the compact summary case.This caused the fault injection
to fail.
Fix this by adding the CP_COMPACT_SUM_FLAG check before the existing
CP_UMOUNT_FLAG check in both functions, writing the journal to the
correct compact summary block location.
Test steps:
1. NAT journal injection (nid=4, quota file):
inject.f2fs --nat 0 --mb block_addr --nid 4 --val 12345 /dev/block/by-name/userdata
Before: blkaddr unchanged (308225)
After: blkaddr = 12345
2. SIT journal injection (segno=61075, CURSEG_COLD_DATA):
inject.f2fs --sit 0 --blk 0x1e1da00 --mb vblocks --val 123 /dev/block/by-name/userdata
Before: vblocks unchanged (0)
After: vblocks = 123
Signed-off-by: Sheng Yong <shengyong1@xiaomi.com>
Signed-off-by: liujinbao1 <liujinbao1@xiaomi.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>1 parent 7f887c3 commit 890e963
1 file changed
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
675 | 675 | | |
676 | 676 | | |
677 | 677 | | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
678 | 686 | | |
679 | 687 | | |
680 | 688 | | |
| |||
806 | 814 | | |
807 | 815 | | |
808 | 816 | | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
809 | 825 | | |
810 | 826 | | |
811 | 827 | | |
| |||
0 commit comments