diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index a0aa0446a237..c8f48d436487 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1245,6 +1245,10 @@ static int add_free_nid(struct f2fs_nm_info *nm_i, nid_t nid) if (nm_i->fcnt > 2 * MAX_FREE_NIDS) return 0; + + /* 0 nid should not be used */ + if (nid == 0) + return 0; retry: i = kmem_cache_alloc(free_nid_slab, GFP_NOFS); if (!i) { @@ -1286,10 +1290,6 @@ static int scan_nat_page(struct f2fs_nm_info *nm_i, int fcnt = 0; int i; - /* 0 nid should not be used */ - if (start_nid == 0) - ++start_nid; - i = start_nid % NAT_ENTRY_PER_BLOCK; for (; i < NAT_ENTRY_PER_BLOCK; i++, start_nid++) {