f2fs: fix the calculation of max_nids
Total nids that f2fs can use should not include 0, nid for node inode, and nid for meta inode. Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
This commit is contained in:
@ -1811,7 +1811,9 @@ static int init_node_manager(struct f2fs_sb_info *sbi)
|
|||||||
/* segment_count_nat includes pair segment so divide to 2. */
|
/* segment_count_nat includes pair segment so divide to 2. */
|
||||||
nat_segs = le32_to_cpu(sb_raw->segment_count_nat) >> 1;
|
nat_segs = le32_to_cpu(sb_raw->segment_count_nat) >> 1;
|
||||||
nat_blocks = nat_segs << le32_to_cpu(sb_raw->log_blocks_per_seg);
|
nat_blocks = nat_segs << le32_to_cpu(sb_raw->log_blocks_per_seg);
|
||||||
nm_i->max_nid = NAT_ENTRY_PER_BLOCK * nat_blocks;
|
|
||||||
|
/* not used nids: 0, node, meta, (and root counted as valid node) */
|
||||||
|
nm_i->max_nid = NAT_ENTRY_PER_BLOCK * nat_blocks - 3;
|
||||||
nm_i->fcnt = 0;
|
nm_i->fcnt = 0;
|
||||||
nm_i->nat_cnt = 0;
|
nm_i->nat_cnt = 0;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user