We skip reading last one of NAT blocks when readahead them since max value of
valid block is calculated incorrectly. We should fix this problem to avoid it.

Signed-off-by: Chao Yu <[email protected]>
---
 fs/f2fs/checkpoint.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 744c68b..75189b1 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -77,7 +77,7 @@ inline int get_max_meta_blks(struct f2fs_sb_info *sbi, int 
type)
 {
        switch (type) {
        case META_NAT:
-               return NM_I(sbi)->max_nid / NAT_ENTRY_PER_BLOCK;
+               return (NM_I(sbi)->max_nid + 3) / NAT_ENTRY_PER_BLOCK;
        case META_SIT:
                return SIT_BLK_CNT(sbi);
        case META_SSA:
-- 
1.7.9.5



------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to