cp_payload is introduced for sit bitmap to support large volume, and it is 
just after the block of f2fs_checkpoint + nat bitmap, so the first segment 
should include F2FS_CP_PACKS + NR_CURSEG_TYPE + cp_payload + orphan blocks. 
However, current max orphan inodes calculation don't consider cp_payload, 
this patch fix it by reducing the number of cp_payload from total blocks of 
the first segment when calculate max orphan inodes.

Signed-off-by: Wanpeng Li <wanpeng...@linux.intel.com>
---
 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 db82e09..3c9d677 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -1109,7 +1109,7 @@ void init_ino_entry_info(struct f2fs_sb_info *sbi)
         * for cp pack we can have max 1020*504 orphan entries
         */
        sbi->max_orphans = (sbi->blocks_per_seg - F2FS_CP_PACKS -
-                       NR_CURSEG_TYPE) * F2FS_ORPHANS_PER_BLOCK;
+                       NR_CURSEG_TYPE - __cp_payload(sbi)) * 
F2FS_ORPHANS_PER_BLOCK;
 }
 
 int __init create_checkpoint_caches(void)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to