From: Jaegeuk Kim Date: Mon, 11 Nov 2013 04:29:11 +0000 (+0900) Subject: mkfs: remove stale node blocks X-Git-Tag: v1.3.0~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ffbada4298c7aed059bb99a8d553d6dd555963c0;p=platform%2Fupstream%2Ff2fs-tools.git mkfs: remove stale node blocks If the device does not support discard, we should write zero blocks to avoid roll-forward recovery. Reported-and-tested-by: Huajun Li Signed-off-by: Jaegeuk Kim --- diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c index 8234b00..18ded79 100644 --- a/mkfs/f2fs_format.c +++ b/mkfs/f2fs_format.c @@ -788,7 +788,12 @@ static int f2fs_write_root_inode(void) memset(raw_node, 0xff, sizeof(struct f2fs_node)); - main_area_node_seg_blk_offset += F2FS_BLKSIZE; + /* avoid power-off-recovery based on roll-forward policy */ + main_area_node_seg_blk_offset = le32_to_cpu(super_block.main_blkaddr); + main_area_node_seg_blk_offset += config.cur_seg[CURSEG_WARM_NODE] * + config.blks_per_seg; + main_area_node_seg_blk_offset *= blk_size_bytes; + if (dev_write(raw_node, main_area_node_seg_blk_offset, F2FS_BLKSIZE)) { MSG(1, "\tError: While writing the raw_node to disk!!!\n"); return -1;