From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755406AbbCCBln (ORCPT ); Mon, 2 Mar 2015 20:41:43 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:60309 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753933AbbCCBll (ORCPT ); Mon, 2 Mar 2015 20:41:41 -0500 X-AuditID: cbfee68f-f791c6d000004834-3f-54f5114727f3 Date: Tue, 03 Mar 2015 10:40:22 +0900 From: Changman Lee To: linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim , Chao Yu , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] f2fs: fix max orphan inodes calculation Message-id: <20150303014022.GD6541@lcm-devel.org> References: <1425029893-24702-1-git-send-email-wanpeng.li@linux.intel.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-disposition: inline In-reply-to: <1425029893-24702-1-git-send-email-wanpeng.li@linux.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKIsWRmVeSWpSXmKPExsWyRsSkRddd8GuIwatPhhb/mz6yWTxZP4vZ 4tIid4s9e0+yWFzeNYfNgdVj06pONo/dCz4zefRtWcXo8XmTXABLFJdNSmpOZllqkb5dAlfG 03uTWAsmC1T8O3GatYHxBU8XIyeHhICJxIuG4ywQtpjEhXvr2boYuTiEBJYySkze/YsVpmj9 rVfMEInpjBIfHl9hhHB+MkrsvXgarIpFQFXi+MHbbCA2m4CWRPvptWBjRYDsiQ1/wRqYBZoZ Jf7u2AaWEBawl3j0sZ8ZxOYVMJSYcH4iWFxIwEti+/dFTBBxQYkfk++BxZmBBq3feZwJwpaW ePR3BjuIzSngLbF48RuwI0QFVCSmnNwG9oOEwCZ2iTmn7rNAXCcg8W3yISCbAyghK7HpADPE a5ISB1fcYJnAKDYLybpZSNbNQrJuASPzKkbR1ILkguKk9CJjveLE3OLSvHS95PzcTYzA2Dr9 71n/Dsa7B6wPMQpwMCrx8L7g/BoixJpYVlyZe4jRFOiKicxSosn5wAjOK4k3NDYzsjA1MTU2 Mrc0UxLnXSj1M1hIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QD45pe/wOvAya8/aJtHdHUGL9y 5v/IjKjMFdUfj3seWXu/1qf4kyHDNKPNDPkP3AJ3P0wxlbz7sDlzlviqncZTP1q7iy6YGKVx 6fT9MD5fD66d/if8lvyfXqwlqJmjsHtBceQxmW425dvl+ZND++RfTFZLzbwulmCzuK/vumYx +6yrS+ZGL+UQVWIpzkg01GIuKk4EAIf+6W2oAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrPIsWRmVeSWpSXmKPExsVy+t9jQV13wa8hBod+6Fr8b/rIZvFk/Sxm i0uL3C327D3JYnF51xw2B1aPTas62Tx2L/jM5NG3ZRWjx+dNcgEsUQ2MNhmpiSmpRQqpecn5 KZl56bZK3sHxzvGmZgaGuoaWFuZKCnmJuam2Si4+AbpumTlAe5UUyhJzSoFCAYnFxUr6dpgm hIa46VrANEbo+oYEwfUYGaCBhHWMGU/vTWItmCxQ8e/EadYGxhc8XYycHBICJhLrb71ihrDF JC7cW8/WxcjFISQwnVHiw+MrjBDOT0aJvRdPs4JUsQioShw/eJsNxGYT0JJoP72WBcQWAbIn NvwFa2AWaGaU+LtjG1hCWMBe4tHHfrAVvAKGEhPOTwSLCwl4SWz/vogJIi4o8WPyPbA4M9Cg 9TuPM0HY0hKP/s5gB7E5BbwlFi9+A3aEqICKxJST29gmMArMQtI+C0n7LCTtCxiZVzGKphYk FxQnpeca6RUn5haX5qXrJefnbmIER+4z6R2MqxosDjEKcDAq8fC+4PwaIsSaWFZcmXuIUYKD WUmEN4IJKMSbklhZlVqUH19UmpNafIjRFBgcE5mlRJPzgUklryTe0NjEzMjSyMzCyMTcXEmc V8m+LURIID2xJDU7NbUgtQimj4mDU6qBUX6rhIHkjg9Wn94m1piefc/j+zBqP+PPoFuVgaUn 4k9V9OdkmlWcmDVrYQ27vMXaJ/sSnka2xfjPV649+kei5vkv6/9tnJaGBnv6r7N2WXyo4Pzx v9pvNofR/3na/ycU/JqgseblDNcnPpliH92+RM1tuBRrMz/l5Oy+iBaztXOPMsRxSLOVKLEU ZyQaajEXFScCAHbmERLyAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 27, 2015 at 05:38:13PM +0800, Wanpeng Li wrote: > 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 > --- > v1 -> v2: > * adjust comments above the codes > * fix coding style issue > > fs/f2fs/checkpoint.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c > index db82e09..a914e99 100644 > --- a/fs/f2fs/checkpoint.c > +++ b/fs/f2fs/checkpoint.c > @@ -1103,13 +1103,15 @@ void init_ino_entry_info(struct f2fs_sb_info *sbi) > } > > /* > - * considering 512 blocks in a segment 8 blocks are needed for cp > - * and log segment summaries. Remaining blocks are used to keep > - * orphan entries with the limitation one reserved segment > - * for cp pack we can have max 1020*504 orphan entries > + * considering 512 blocks in a segment 8+cp_payload blocks are > + * needed for cp and log segment summaries. Remaining blocks are > + * used to keep orphan entries with the limitation one reserved > + * segment for cp pack we can have max 1020*(504-cp_payload) > + * orphan entries > */ Hi all, I think below code give us information enough so it doesn't need to describe above comments. And someone could get confused by 1020 constants. How do you think about removing comments. Regards, Changman > 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