linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] f2fs: fix max orphan inodes calculation
@ 2015-02-27  9:38 Wanpeng Li
  2015-02-28  9:00 ` Chao Yu
  2015-03-03  1:40 ` Changman Lee
  0 siblings, 2 replies; 6+ messages in thread
From: Wanpeng Li @ 2015-02-27  9:38 UTC (permalink / raw)
  To: Jaegeuk Kim
  Cc: Changman Lee, Chao Yu, linux-f2fs-devel, linux-fsdevel,
	linux-kernel, Wanpeng Li

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.li@linux.intel.com>
---
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
 	 */
 	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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* RE: [PATCH v2] f2fs: fix max orphan inodes calculation
  2015-02-27  9:38 [PATCH v2] f2fs: fix max orphan inodes calculation Wanpeng Li
@ 2015-02-28  9:00 ` Chao Yu
  2015-03-03  1:40 ` Changman Lee
  1 sibling, 0 replies; 6+ messages in thread
From: Chao Yu @ 2015-02-28  9:00 UTC (permalink / raw)
  To: 'Wanpeng Li', 'Jaegeuk Kim'
  Cc: 'Changman Lee', linux-f2fs-devel, linux-fsdevel, linux-kernel

> -----Original Message-----
> From: Wanpeng Li [mailto:wanpeng.li@linux.intel.com]
> Sent: Friday, February 27, 2015 5:38 PM
> To: Jaegeuk Kim
> Cc: Changman Lee; Chao Yu; linux-f2fs-devel@lists.sourceforge.net;
> linux-fsdevel@vger.kernel.org; linux-kernel@vger.kernel.org; Wanpeng Li
> Subject: [PATCH v2] f2fs: fix max orphan inodes calculation
> 
> 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.li@linux.intel.com>

Reviewed-by: Chao Yu <chao2.yu@samsung.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] f2fs: fix max orphan inodes calculation
  2015-02-27  9:38 [PATCH v2] f2fs: fix max orphan inodes calculation Wanpeng Li
  2015-02-28  9:00 ` Chao Yu
@ 2015-03-03  1:40 ` Changman Lee
  2015-03-06  3:37   ` Chao Yu
  1 sibling, 1 reply; 6+ messages in thread
From: Changman Lee @ 2015-03-03  1:40 UTC (permalink / raw)
  To: linux-f2fs-devel; +Cc: Jaegeuk Kim, Chao Yu, linux-fsdevel, linux-kernel

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 <wanpeng.li@linux.intel.com>
> ---
> 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH v2] f2fs: fix max orphan inodes calculation
  2015-03-03  1:40 ` Changman Lee
@ 2015-03-06  3:37   ` Chao Yu
  2015-03-06  4:46     ` Wanpeng Li
  2015-03-08 23:37     ` Changman Lee
  0 siblings, 2 replies; 6+ messages in thread
From: Chao Yu @ 2015-03-06  3:37 UTC (permalink / raw)
  To: 'Changman Lee', linux-f2fs-devel
  Cc: 'Jaegeuk Kim', linux-fsdevel, linux-kernel

Hi Changman,

> -----Original Message-----
> From: Changman Lee [mailto:cm224.lee@samsung.com]
> Sent: Tuesday, March 03, 2015 9:40 AM
> 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
> 
> 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 <wanpeng.li@linux.intel.com>
> > ---
> > 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.

I agree with you.

There are nothing special need to be pay attention for the below statement,
all meaning of statement could be easily readed as each macro in statement
can indicate meaning of itself clearly.

So could you send another patch to remove it?

Thanks,

> 
> 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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] f2fs: fix max orphan inodes calculation
  2015-03-06  3:37   ` Chao Yu
@ 2015-03-06  4:46     ` Wanpeng Li
  2015-03-08 23:37     ` Changman Lee
  1 sibling, 0 replies; 6+ messages in thread
From: Wanpeng Li @ 2015-03-06  4:46 UTC (permalink / raw)
  To: 'Changman Lee'
  Cc: Chao Yu, Wanpeng Li, 'Jaegeuk Kim',
	linux-fsdevel, linux-kernel, linux-f2fs-devel

Hi Changman,
On Fri, Mar 06, 2015 at 11:37:28AM +0800, Chao Yu wrote:
>Hi Changman,
>
>> -----Original Message-----
>> From: Changman Lee [mailto:cm224.lee@samsung.com]
>> Sent: Tuesday, March 03, 2015 9:40 AM
>> 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
>> 
>> 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 <wanpeng.li@linux.intel.com>
>> > ---
>> > 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.
>
>I agree with you.
>
>There are nothing special need to be pay attention for the below statement,
>all meaning of statement could be easily readed as each macro in statement
>can indicate meaning of itself clearly.
>
>So could you send another patch to remove it?

Agreed. You can cleanup it. ;-)

Regards,
Wanpeng Li

>
>Thanks,
>
>> 
>> 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
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] f2fs: fix max orphan inodes calculation
  2015-03-06  3:37   ` Chao Yu
  2015-03-06  4:46     ` Wanpeng Li
@ 2015-03-08 23:37     ` Changman Lee
  1 sibling, 0 replies; 6+ messages in thread
From: Changman Lee @ 2015-03-08 23:37 UTC (permalink / raw)
  To: Chao Yu
  Cc: linux-f2fs-devel, 'Jaegeuk Kim', linux-fsdevel, linux-kernel


--> 8 --

>From ce2462523dd5940b59f770c09a50d4babff5fcdb Mon Sep 17 00:00:00 2001
From: Changman Lee <cm224.lee@samsung.com>
Date: Mon, 9 Mar 2015 08:07:04 +0900
Subject: [PATCH] f2fs: cleanup statement about max orphan inodes calc

Through each macro, we can read the meaning easily.

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
---
 fs/f2fs/checkpoint.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 53bc328..384bfc4 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -1104,13 +1104,6 @@ void init_ino_entry_info(struct f2fs_sb_info *sbi)
 		im->ino_num = 0;
 	}
 
-	/*
-	 * 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
-	 */
 	sbi->max_orphans = (sbi->blocks_per_seg - F2FS_CP_PACKS -
 			NR_CURSEG_TYPE - __cp_payload(sbi)) *
 				F2FS_ORPHANS_PER_BLOCK;
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-03-08 23:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-27  9:38 [PATCH v2] f2fs: fix max orphan inodes calculation Wanpeng Li
2015-02-28  9:00 ` Chao Yu
2015-03-03  1:40 ` Changman Lee
2015-03-06  3:37   ` Chao Yu
2015-03-06  4:46     ` Wanpeng Li
2015-03-08 23:37     ` Changman Lee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).