All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] f2fs: add noinline_dentry mount option
@ 2016-08-26  1:01 ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-26  1:01 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu

This patch adds noinline_dentry mount option.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
 Documentation/filesystems/f2fs.txt | 1 +
 fs/f2fs/super.c                    | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt
index ecd8080..753dd4f 100644
--- a/Documentation/filesystems/f2fs.txt
+++ b/Documentation/filesystems/f2fs.txt
@@ -131,6 +131,7 @@ inline_dentry          Enable the inline dir feature: data in new created
                        directory entries can be written into inode block. The
                        space of inode block which is used to store inline
                        dentries is limited to ~3.4k.
+noinline_dentry        Diable the inline dentry feature.
 flush_merge	       Merge concurrent cache_flush commands as much as possible
                        to eliminate redundant command issues. If the underlying
 		       device handles the cache_flush command relatively slowly,
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 7974833..b776414 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -87,6 +87,7 @@ enum {
 	Opt_inline_xattr,
 	Opt_inline_data,
 	Opt_inline_dentry,
+	Opt_noinline_dentry,
 	Opt_flush_merge,
 	Opt_noflush_merge,
 	Opt_nobarrier,
@@ -118,6 +119,7 @@ static match_table_t f2fs_tokens = {
 	{Opt_inline_xattr, "inline_xattr"},
 	{Opt_inline_data, "inline_data"},
 	{Opt_inline_dentry, "inline_dentry"},
+	{Opt_noinline_dentry, "noinline_dentry"},
 	{Opt_flush_merge, "flush_merge"},
 	{Opt_noflush_merge, "noflush_merge"},
 	{Opt_nobarrier, "nobarrier"},
@@ -488,6 +490,9 @@ static int parse_options(struct super_block *sb, char *options)
 		case Opt_inline_dentry:
 			set_opt(sbi, INLINE_DENTRY);
 			break;
+		case Opt_noinline_dentry:
+			clear_opt(sbi, INLINE_DENTRY);
+			break;
 		case Opt_flush_merge:
 			set_opt(sbi, FLUSH_MERGE);
 			break;
@@ -879,6 +884,8 @@ static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
 		seq_puts(seq, ",noinline_data");
 	if (test_opt(sbi, INLINE_DENTRY))
 		seq_puts(seq, ",inline_dentry");
+	else
+		seq_puts(seq, ",noinline_dentry");
 	if (!f2fs_readonly(sbi->sb) && test_opt(sbi, FLUSH_MERGE))
 		seq_puts(seq, ",flush_merge");
 	if (test_opt(sbi, NOBARRIER))
-- 
2.8.2.311.gee88674

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

* [PATCH] f2fs: add noinline_dentry mount option
@ 2016-08-26  1:01 ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-26  1:01 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-kernel, linux-f2fs-devel

This patch adds noinline_dentry mount option.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
 Documentation/filesystems/f2fs.txt | 1 +
 fs/f2fs/super.c                    | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt
index ecd8080..753dd4f 100644
--- a/Documentation/filesystems/f2fs.txt
+++ b/Documentation/filesystems/f2fs.txt
@@ -131,6 +131,7 @@ inline_dentry          Enable the inline dir feature: data in new created
                        directory entries can be written into inode block. The
                        space of inode block which is used to store inline
                        dentries is limited to ~3.4k.
+noinline_dentry        Diable the inline dentry feature.
 flush_merge	       Merge concurrent cache_flush commands as much as possible
                        to eliminate redundant command issues. If the underlying
 		       device handles the cache_flush command relatively slowly,
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 7974833..b776414 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -87,6 +87,7 @@ enum {
 	Opt_inline_xattr,
 	Opt_inline_data,
 	Opt_inline_dentry,
+	Opt_noinline_dentry,
 	Opt_flush_merge,
 	Opt_noflush_merge,
 	Opt_nobarrier,
@@ -118,6 +119,7 @@ static match_table_t f2fs_tokens = {
 	{Opt_inline_xattr, "inline_xattr"},
 	{Opt_inline_data, "inline_data"},
 	{Opt_inline_dentry, "inline_dentry"},
+	{Opt_noinline_dentry, "noinline_dentry"},
 	{Opt_flush_merge, "flush_merge"},
 	{Opt_noflush_merge, "noflush_merge"},
 	{Opt_nobarrier, "nobarrier"},
@@ -488,6 +490,9 @@ static int parse_options(struct super_block *sb, char *options)
 		case Opt_inline_dentry:
 			set_opt(sbi, INLINE_DENTRY);
 			break;
+		case Opt_noinline_dentry:
+			clear_opt(sbi, INLINE_DENTRY);
+			break;
 		case Opt_flush_merge:
 			set_opt(sbi, FLUSH_MERGE);
 			break;
@@ -879,6 +884,8 @@ static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
 		seq_puts(seq, ",noinline_data");
 	if (test_opt(sbi, INLINE_DENTRY))
 		seq_puts(seq, ",inline_dentry");
+	else
+		seq_puts(seq, ",noinline_dentry");
 	if (!f2fs_readonly(sbi->sb) && test_opt(sbi, FLUSH_MERGE))
 		seq_puts(seq, ",flush_merge");
 	if (test_opt(sbi, NOBARRIER))
-- 
2.8.2.311.gee88674


------------------------------------------------------------------------------

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

* Re: [PATCH] f2fs: add noinline_dentry mount option
  2016-08-26  1:01 ` Chao Yu
  (?)
@ 2016-08-26 17:11 ` Jaegeuk Kim
  2016-08-27 13:26   ` [f2fs-dev] " Chao Yu
  -1 siblings, 1 reply; 4+ messages in thread
From: Jaegeuk Kim @ 2016-08-26 17:11 UTC (permalink / raw)
  To: Chao Yu; +Cc: linux-f2fs-devel, linux-kernel

Hi Chao,

I integrated this patch into the original patch which makes inline_dentry by
default. And, I couldn't find any bug case from my test-cases. :)

Thanks,

On Fri, Aug 26, 2016 at 09:01:22AM +0800, Chao Yu wrote:
> This patch adds noinline_dentry mount option.
> 
> Signed-off-by: Chao Yu <yuchao0@huawei.com>
> ---
>  Documentation/filesystems/f2fs.txt | 1 +
>  fs/f2fs/super.c                    | 7 +++++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt
> index ecd8080..753dd4f 100644
> --- a/Documentation/filesystems/f2fs.txt
> +++ b/Documentation/filesystems/f2fs.txt
> @@ -131,6 +131,7 @@ inline_dentry          Enable the inline dir feature: data in new created
>                         directory entries can be written into inode block. The
>                         space of inode block which is used to store inline
>                         dentries is limited to ~3.4k.
> +noinline_dentry        Diable the inline dentry feature.
>  flush_merge	       Merge concurrent cache_flush commands as much as possible
>                         to eliminate redundant command issues. If the underlying
>  		       device handles the cache_flush command relatively slowly,
> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> index 7974833..b776414 100644
> --- a/fs/f2fs/super.c
> +++ b/fs/f2fs/super.c
> @@ -87,6 +87,7 @@ enum {
>  	Opt_inline_xattr,
>  	Opt_inline_data,
>  	Opt_inline_dentry,
> +	Opt_noinline_dentry,
>  	Opt_flush_merge,
>  	Opt_noflush_merge,
>  	Opt_nobarrier,
> @@ -118,6 +119,7 @@ static match_table_t f2fs_tokens = {
>  	{Opt_inline_xattr, "inline_xattr"},
>  	{Opt_inline_data, "inline_data"},
>  	{Opt_inline_dentry, "inline_dentry"},
> +	{Opt_noinline_dentry, "noinline_dentry"},
>  	{Opt_flush_merge, "flush_merge"},
>  	{Opt_noflush_merge, "noflush_merge"},
>  	{Opt_nobarrier, "nobarrier"},
> @@ -488,6 +490,9 @@ static int parse_options(struct super_block *sb, char *options)
>  		case Opt_inline_dentry:
>  			set_opt(sbi, INLINE_DENTRY);
>  			break;
> +		case Opt_noinline_dentry:
> +			clear_opt(sbi, INLINE_DENTRY);
> +			break;
>  		case Opt_flush_merge:
>  			set_opt(sbi, FLUSH_MERGE);
>  			break;
> @@ -879,6 +884,8 @@ static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
>  		seq_puts(seq, ",noinline_data");
>  	if (test_opt(sbi, INLINE_DENTRY))
>  		seq_puts(seq, ",inline_dentry");
> +	else
> +		seq_puts(seq, ",noinline_dentry");
>  	if (!f2fs_readonly(sbi->sb) && test_opt(sbi, FLUSH_MERGE))
>  		seq_puts(seq, ",flush_merge");
>  	if (test_opt(sbi, NOBARRIER))
> -- 
> 2.8.2.311.gee88674

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

* Re: [f2fs-dev] [PATCH] f2fs: add noinline_dentry mount option
  2016-08-26 17:11 ` Jaegeuk Kim
@ 2016-08-27 13:26   ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-27 13:26 UTC (permalink / raw)
  To: Jaegeuk Kim, Chao Yu; +Cc: linux-kernel, linux-f2fs-devel

Hi Jaegeuk,

On 2016/8/27 1:11, Jaegeuk Kim wrote:
> Hi Chao,
> 
> I integrated this patch into the original patch which makes inline_dentry by
> default. And, I couldn't find any bug case from my test-cases. :)

OK, it seems that this feature becomes stable now. :)

Thanks,

> 
> Thanks,
> 
> On Fri, Aug 26, 2016 at 09:01:22AM +0800, Chao Yu wrote:
>> This patch adds noinline_dentry mount option.
>>
>> Signed-off-by: Chao Yu <yuchao0@huawei.com>
>> ---
>>  Documentation/filesystems/f2fs.txt | 1 +
>>  fs/f2fs/super.c                    | 7 +++++++
>>  2 files changed, 8 insertions(+)
>>
>> diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt
>> index ecd8080..753dd4f 100644
>> --- a/Documentation/filesystems/f2fs.txt
>> +++ b/Documentation/filesystems/f2fs.txt
>> @@ -131,6 +131,7 @@ inline_dentry          Enable the inline dir feature: data in new created
>>                         directory entries can be written into inode block. The
>>                         space of inode block which is used to store inline
>>                         dentries is limited to ~3.4k.
>> +noinline_dentry        Diable the inline dentry feature.
>>  flush_merge	       Merge concurrent cache_flush commands as much as possible
>>                         to eliminate redundant command issues. If the underlying
>>  		       device handles the cache_flush command relatively slowly,
>> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
>> index 7974833..b776414 100644
>> --- a/fs/f2fs/super.c
>> +++ b/fs/f2fs/super.c
>> @@ -87,6 +87,7 @@ enum {
>>  	Opt_inline_xattr,
>>  	Opt_inline_data,
>>  	Opt_inline_dentry,
>> +	Opt_noinline_dentry,
>>  	Opt_flush_merge,
>>  	Opt_noflush_merge,
>>  	Opt_nobarrier,
>> @@ -118,6 +119,7 @@ static match_table_t f2fs_tokens = {
>>  	{Opt_inline_xattr, "inline_xattr"},
>>  	{Opt_inline_data, "inline_data"},
>>  	{Opt_inline_dentry, "inline_dentry"},
>> +	{Opt_noinline_dentry, "noinline_dentry"},
>>  	{Opt_flush_merge, "flush_merge"},
>>  	{Opt_noflush_merge, "noflush_merge"},
>>  	{Opt_nobarrier, "nobarrier"},
>> @@ -488,6 +490,9 @@ static int parse_options(struct super_block *sb, char *options)
>>  		case Opt_inline_dentry:
>>  			set_opt(sbi, INLINE_DENTRY);
>>  			break;
>> +		case Opt_noinline_dentry:
>> +			clear_opt(sbi, INLINE_DENTRY);
>> +			break;
>>  		case Opt_flush_merge:
>>  			set_opt(sbi, FLUSH_MERGE);
>>  			break;
>> @@ -879,6 +884,8 @@ static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
>>  		seq_puts(seq, ",noinline_data");
>>  	if (test_opt(sbi, INLINE_DENTRY))
>>  		seq_puts(seq, ",inline_dentry");
>> +	else
>> +		seq_puts(seq, ",noinline_dentry");
>>  	if (!f2fs_readonly(sbi->sb) && test_opt(sbi, FLUSH_MERGE))
>>  		seq_puts(seq, ",flush_merge");
>>  	if (test_opt(sbi, NOBARRIER))
>> -- 
>> 2.8.2.311.gee88674
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> 

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

end of thread, other threads:[~2016-08-27 13:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-26  1:01 [PATCH] f2fs: add noinline_dentry mount option Chao Yu
2016-08-26  1:01 ` Chao Yu
2016-08-26 17:11 ` Jaegeuk Kim
2016-08-27 13:26   ` [f2fs-dev] " Chao Yu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.