Hi,

2014-04-17 (목), 14:27 +0800, Chao Yu:
> Since max_nid value was minus three in previous commit:
> 'b63da15e8b475245026bdf2096853683f189706b', Our last three nids could not be
> used ever, but 0/node nid/meta nid is still occupied.
> And also our ra_meta_pages() could not readahead the last block of NAT.

What is the root problem in there?
IIRC, the max_nid should not be turned back since that can cause an
infinite loop during build_free_nids() under a test using whole the
nids.

> Let's fix the wrong calculation of this value, and left the reserved nids 
> there.
> 
> Signed-off-by: Chao Yu <chao2...@samsung.com>
> ---
>  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 84f9b7b..3f0bb50 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -1860,7 +1860,7 @@ static int init_node_manager(struct f2fs_sb_info *sbi)
>       nat_blocks = nat_segs << le32_to_cpu(sb_raw->log_blocks_per_seg);
>  
>       /* 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->max_nid = NAT_ENTRY_PER_BLOCK * nat_blocks;
>       nm_i->fcnt = 0;
>       nm_i->nat_cnt = 0;
>       nm_i->ram_thresh = DEF_RAM_THRESHOLD;

-- 
Jaegeuk Kim
Samsung



------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to