This patch fixes allocating wrong segment which has zero data but is registered as a current segment.
Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> --- fsck/mount.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fsck/mount.c b/fsck/mount.c index d34c704..8418dcc 100644 --- a/fsck/mount.c +++ b/fsck/mount.c @@ -1383,11 +1383,11 @@ int find_next_free_block(struct f2fs_sb_info *sbi, u64 *to, int left, int type) se = get_seg_entry(sbi, segno); - if (se->valid_blocks == sbi->blocks_per_seg) + if (se->valid_blocks == sbi->blocks_per_seg || + IS_CUR_SEGNO(sbi, segno, type)) goto next; - if (se->valid_blocks == 0 && !(segno % sbi->segs_per_sec) && - !IS_CUR_SEGNO(sbi, segno, type)) { + if (se->valid_blocks == 0 && !(segno % sbi->segs_per_sec)) { struct seg_entry *se2; int i; -- 2.5.4 (Apple Git-61) ------------------------------------------------------------------------------ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel