Messages in this thread | | | Subject | Re: [f2fs-dev] [PATCH] f2fs: keep scanning until enough free nids are acquired | From | Chao Yu <> | Date | Tue, 7 Nov 2017 13:45:52 +0800 |
| |
On 2017/11/7 11:04, Fan Li wrote: > In current version, after scan_free_nid_bits, the scan is over if nid_cnt[FREE_NID] != 0. > In most cases, there are still free nids in the free list during the scan, and scan_free_nid_bits > usually can't increase nid_cnt[FREE_NID]. > It causes that __build_free_nids is called many times without solving the shortage > of the free nids. This patch fixes that. > > Signed-off-by: Fan li <fanofcode.li@samsung.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Thanks,
> --- > fs/f2fs/node.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c > index 3d0d1be..5cef118 100644 > --- a/fs/f2fs/node.c > +++ b/fs/f2fs/node.c > @@ -2010,7 +2010,7 @@ static void __build_free_nids(struct f2fs_sb_info *sbi, bool sync, bool mount) > /* try to find free nids in free_nid_bitmap */ > scan_free_nid_bits(sbi); > > - if (nm_i->nid_cnt[FREE_NID]) > + if (nm_i->nid_cnt[FREE_NID] >= NAT_ENTRY_PER_BLOCK) > return; > } > > -- > 2.7.4 > > >
| |