linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE
@ 2020-07-16  9:03 Qinglang Miao
  2020-07-16  9:54 ` Coly Li
  0 siblings, 1 reply; 5+ messages in thread
From: Qinglang Miao @ 2020-07-16  9:03 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Coly Li, Kent Overstreet; +Cc: llinux-tegra, linux-kernel

From: Yongqiang Liu <liuyongqiang13@huawei.com>

Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.

Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com>
---
 drivers/md/bcache/closure.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
index 99222aa5d..37b9c5d49 100644
--- a/drivers/md/bcache/closure.c
+++ b/drivers/md/bcache/closure.c
@@ -159,7 +159,7 @@ void closure_debug_destroy(struct closure *cl)
 
 static struct dentry *closure_debug;
 
-static int debug_seq_show(struct seq_file *f, void *data)
+static int debug_show(struct seq_file *f, void *data)
 {
 	struct closure *cl;
 
@@ -188,17 +188,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
 	return 0;
 }
 
-static int debug_seq_open(struct inode *inode, struct file *file)
-{
-	return single_open(file, debug_seq_show, NULL);
-}
-
-static const struct file_operations debug_ops = {
-	.owner		= THIS_MODULE,
-	.open		= debug_seq_open,
-	.read_iter		= seq_read_iter,
-	.release	= single_release
-};
+DEFINE_SHOW_ATTRIBUTE(debug);
 
 void  __init closure_debug_init(void)
 {
@@ -209,7 +199,7 @@ void  __init closure_debug_init(void)
 		 * about this.
 		 */
 		closure_debug = debugfs_create_file(
-			"closures", 0400, bcache_debug, NULL, &debug_ops);
+				"closures", 0400, bcache_debug, NULL, &debug_fops);
 }
 #endif
 
-- 
2.17.1


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

* Re: [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE
  2020-07-16  9:03 [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE Qinglang Miao
@ 2020-07-16  9:54 ` Coly Li
  2020-07-17  2:22   ` Coly Li
  0 siblings, 1 reply; 5+ messages in thread
From: Coly Li @ 2020-07-16  9:54 UTC (permalink / raw)
  To: Qinglang Miao
  Cc: Greg Kroah-Hartman, Kent Overstreet, linux-tegra, linux-kernel,
	liuyongqiang13

On 2020/7/16 17:03, Qinglang Miao wrote:
> From: Yongqiang Liu <liuyongqiang13@huawei.com>
> 

Hi Qianlang and Yongqiang,

> Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.
> 
> Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com>
> ---
>  drivers/md/bcache/closure.c | 16 +++-------------
>  1 file changed, 3 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
> index 99222aa5d..37b9c5d49 100644
> --- a/drivers/md/bcache/closure.c
> +++ b/drivers/md/bcache/closure.c
> @@ -159,7 +159,7 @@ void closure_debug_destroy(struct closure *cl)
>  
>  static struct dentry *closure_debug;
>  
> -static int debug_seq_show(struct seq_file *f, void *data)
> +static int debug_show(struct seq_file *f, void *data)
>  {
>  	struct closure *cl;
>  
> @@ -188,17 +188,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
>  	return 0;
>  }
>  
> -static int debug_seq_open(struct inode *inode, struct file *file)
> -{
> -	return single_open(file, debug_seq_show, NULL);
> -}
> -

Here NULL is sent to single_open(), in DEFINE_SHOW_ATTRIBUTE()
inode->i_private is sent into single_open(). I don't see the commit log
mentions or estimates such change.


> -static const struct file_operations debug_ops = {
> -	.owner		= THIS_MODULE,
> -	.open		= debug_seq_open,
> -	.read_iter		= seq_read_iter,

I doubt this patch applies to Linux v5.8-rc, this is how debug_ops is
defined in Linux v5.8-rc5,

196 static const struct file_operations debug_ops = {
197         .owner          = THIS_MODULE,
198         .open           = debug_seq_open,
199         .read           = seq_read,
200         .release        = single_release
201 };

> -	.release	= single_release
> -};
> +DEFINE_SHOW_ATTRIBUTE(debug);
>  
>  void  __init closure_debug_init(void)
>  {
> @@ -209,7 +199,7 @@ void  __init closure_debug_init(void)
>  		 * about this.
>  		 */
>  		closure_debug = debugfs_create_file(
> -			"closures", 0400, bcache_debug, NULL, &debug_ops);
> +				"closures", 0400, bcache_debug, NULL, &debug_fops);
>  }
>  #endif

Do you test your change with upstream kernel ? Or at least you should
try to apply and compile the patch with latest upstream kernel.

Thanks.

Coly Li


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

* Re: [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE
  2020-07-16  9:54 ` Coly Li
@ 2020-07-17  2:22   ` Coly Li
  2020-07-17  2:42     ` miaoqinglang
  2020-09-17 12:20     ` miaoqinglang
  0 siblings, 2 replies; 5+ messages in thread
From: Coly Li @ 2020-07-17  2:22 UTC (permalink / raw)
  To: Qinglang Miao
  Cc: Greg Kroah-Hartman, Kent Overstreet, linux-tegra, linux-kernel,
	liuyongqiang13

On 2020/7/16 17:54, Coly Li wrote:
> On 2020/7/16 17:03, Qinglang Miao wrote:
>> From: Yongqiang Liu <liuyongqiang13@huawei.com>
>>
> 
> Hi Qianlang and Yongqiang,
> 
>> Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.
>>
>> Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com>
>> ---
>>  drivers/md/bcache/closure.c | 16 +++-------------
>>  1 file changed, 3 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
>> index 99222aa5d..37b9c5d49 100644
>> --- a/drivers/md/bcache/closure.c
>> +++ b/drivers/md/bcache/closure.c
>> @@ -159,7 +159,7 @@ void closure_debug_destroy(struct closure *cl)
>>  
>>  static struct dentry *closure_debug;
>>  
>> -static int debug_seq_show(struct seq_file *f, void *data)
>> +static int debug_show(struct seq_file *f, void *data)
>>  {
>>  	struct closure *cl;
>>  
>> @@ -188,17 +188,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
>>  	return 0;
>>  }
>>  
>> -static int debug_seq_open(struct inode *inode, struct file *file)
>> -{
>> -	return single_open(file, debug_seq_show, NULL);
>> -}
>> -
> 
> Here NULL is sent to single_open(), in DEFINE_SHOW_ATTRIBUTE()
> inode->i_private is sent into single_open(). I don't see the commit log
> mentions or estimates such change.
> 

Still this change modifies original code logic, I need to know the exact
effect before taking this patch.

> 
>> -static const struct file_operations debug_ops = {
>> -	.owner		= THIS_MODULE,
>> -	.open		= debug_seq_open,
>> -	.read_iter		= seq_read_iter,
> 
> I doubt this patch applies to Linux v5.8-rc, this is how debug_ops is
> defined in Linux v5.8-rc5,
>

I realize your patch is against linux-next, which is ahead of both
linux-block and mainline tree. So this patch does not apply to
linux-block tree, which is my upstream for bcache going to upstream.

I suggest to generate the patch against latest mainline kernel, or
linux-block branch for next merge window (for 5.9 it is branch
remotes/origin/for-5.9/drivers).


> 196 static const struct file_operations debug_ops = {
> 197         .owner          = THIS_MODULE,
> 198         .open           = debug_seq_open,
> 199         .read           = seq_read,
> 200         .release        = single_release
> 201 };
> 
>> -	.release	= single_release
>> -};
>> +DEFINE_SHOW_ATTRIBUTE(debug);
>>  
>>  void  __init closure_debug_init(void)
>>  {
>> @@ -209,7 +199,7 @@ void  __init closure_debug_init(void)
>>  		 * about this.
>>  		 */
>>  		closure_debug = debugfs_create_file(
>> -			"closures", 0400, bcache_debug, NULL, &debug_ops);
>> +				"closures", 0400, bcache_debug, NULL, &debug_fops);
>>  }
>>  #endif
> 
> Do you test your change with upstream kernel ? Or at least you should
> try to apply and compile the patch with latest upstream kernel.

I withdraw the above wrong word, the -next tag in patch subject was
overlooked by me. Next time I will try to avoid such mistake.

Coly Li



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

* Re: [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE
  2020-07-17  2:22   ` Coly Li
@ 2020-07-17  2:42     ` miaoqinglang
  2020-09-17 12:20     ` miaoqinglang
  1 sibling, 0 replies; 5+ messages in thread
From: miaoqinglang @ 2020-07-17  2:42 UTC (permalink / raw)
  To: Coly Li
  Cc: Greg Kroah-Hartman, Kent Overstreet, linux-tegra, linux-kernel,
	liuyongqiang13



在 2020/7/17 10:22, Coly Li 写道:
> On 2020/7/16 17:54, Coly Li wrote:
>> On 2020/7/16 17:03, Qinglang Miao wrote:
>>> From: Yongqiang Liu <liuyongqiang13@huawei.com>
>>>
>>
>> Hi Qianlang and Yongqiang,
>>
>>> Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.
>>>
>>> Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com>
>>> ---
>>>   drivers/md/bcache/closure.c | 16 +++-------------
>>>   1 file changed, 3 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
>>> index 99222aa5d..37b9c5d49 100644
>>> --- a/drivers/md/bcache/closure.c
>>> +++ b/drivers/md/bcache/closure.c
>>> @@ -159,7 +159,7 @@ void closure_debug_destroy(struct closure *cl)
>>>   
>>>   static struct dentry *closure_debug;
>>>   
>>> -static int debug_seq_show(struct seq_file *f, void *data)
>>> +static int debug_show(struct seq_file *f, void *data)
>>>   {
>>>   	struct closure *cl;
>>>   
>>> @@ -188,17 +188,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
>>>   	return 0;
>>>   }
>>>   
>>> -static int debug_seq_open(struct inode *inode, struct file *file)
>>> -{
>>> -	return single_open(file, debug_seq_show, NULL);
>>> -}
>>> -
>>
>> Here NULL is sent to single_open(), in DEFINE_SHOW_ATTRIBUTE()
>> inode->i_private is sent into single_open(). I don't see the commit log
>> mentions or estimates such change.
>>
> 
> Still this change modifies original code logic, I need to know the exact
> effect before taking this patch.I've noticed this diffrence and I'm testing bcache on a new qemu 
environment with this patch applied.
> 
>>
>>> -static const struct file_operations debug_ops = {
>>> -	.owner		= THIS_MODULE,
>>> -	.open		= debug_seq_open,
>>> -	.read_iter		= seq_read_iter,
>>
>> I doubt this patch applies to Linux v5.8-rc, this is how debug_ops is
>> defined in Linux v5.8-rc5,
>>
> 
> I realize your patch is against linux-next, which is ahead of both
> linux-block and mainline tree. So this patch does not apply to
> linux-block tree, which is my upstream for bcache going to upstream.
> 
> I suggest to generate the patch against latest mainline kernel, or
> linux-block branch for next merge window (for 5.9 it is branch
> remotes/origin/for-5.9/drivers).
> 
Yes you're right, this patch is based on linux-next with commit 
<4d4901c6d7>. Sorry I didn't mention it in commit log.
> 
>> 196 static const struct file_operations debug_ops = {
>> 197         .owner          = THIS_MODULE,
>> 198         .open           = debug_seq_open,
>> 199         .read           = seq_read,
>> 200         .release        = single_release
>> 201 };
>>
>>> -	.release	= single_release
>>> -};
>>> +DEFINE_SHOW_ATTRIBUTE(debug);
>>>   
>>>   void  __init closure_debug_init(void)
>>>   {
>>> @@ -209,7 +199,7 @@ void  __init closure_debug_init(void)
>>>   		 * about this.
>>>   		 */
>>>   		closure_debug = debugfs_create_file(
>>> -			"closures", 0400, bcache_debug, NULL, &debug_ops);
>>> +				"closures", 0400, bcache_debug, NULL, &debug_fops);
>>>   }
>>>   #endif
>>
>> Do you test your change with upstream kernel ? Or at least you should
>> try to apply and compile the patch with latest upstream kernel.
> 
> I withdraw the above wrong word, the -next tag in patch subject was
> overlooked by me. Next time I will try to avoid such mistake.
> 
> Coly Li
> 
> 
> .
> 
I will send a new patch based on 5.9 mainline after more detailed 
analysis and test.

Thanks.

Qinglang

.


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

* Re: [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE
  2020-07-17  2:22   ` Coly Li
  2020-07-17  2:42     ` miaoqinglang
@ 2020-09-17 12:20     ` miaoqinglang
  1 sibling, 0 replies; 5+ messages in thread
From: miaoqinglang @ 2020-09-17 12:20 UTC (permalink / raw)
  To: Coly Li
  Cc: Greg Kroah-Hartman, Kent Overstreet, linux-tegra, linux-kernel,
	liuyongqiang13



在 2020/7/17 10:22, Coly Li 写道:
> On 2020/7/16 17:54, Coly Li wrote:
>> On 2020/7/16 17:03, Qinglang Miao wrote:
>>> From: Yongqiang Liu <liuyongqiang13@huawei.com>
>>>
>>
>> Hi Qianlang and Yongqiang,
>>
>>> Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.
>>>
>>> Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com>
>>> ---
>>>   drivers/md/bcache/closure.c | 16 +++-------------
>>>   1 file changed, 3 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
>>> index 99222aa5d..37b9c5d49 100644
>>> --- a/drivers/md/bcache/closure.c
>>> +++ b/drivers/md/bcache/closure.c
>>> @@ -159,7 +159,7 @@ void closure_debug_destroy(struct closure *cl)
>>>   
>>>   static struct dentry *closure_debug;
>>>   
>>> -static int debug_seq_show(struct seq_file *f, void *data)
>>> +static int debug_show(struct seq_file *f, void *data)
>>>   {
>>>   	struct closure *cl;
>>>   
>>> @@ -188,17 +188,7 @@ static int debug_seq_show(struct seq_file *f, void *data)
>>>   	return 0;
>>>   }
>>>   
>>> -static int debug_seq_open(struct inode *inode, struct file *file)
>>> -{
>>> -	return single_open(file, debug_seq_show, NULL);
>>> -}
>>> -
>>
>> Here NULL is sent to single_open(), in DEFINE_SHOW_ATTRIBUTE()
>> inode->i_private is sent into single_open(). I don't see the commit log
>> mentions or estimates such change.
>>
> 
> Still this change modifies original code logic, I need to know the exact
> effect before taking this patch.
 >
It's equivalent to original code logic, because inode->iprivate equals 
to third parameter of debugfs_create_file() which is NULL.
> 
>>
>>> -static const struct file_operations debug_ops = {
>>> -	.owner		= THIS_MODULE,
>>> -	.open		= debug_seq_open,
>>> -	.read_iter		= seq_read_iter,
>>
>> I doubt this patch applies to Linux v5.8-rc, this is how debug_ops is
>> defined in Linux v5.8-rc5,
>>
> 
> I realize your patch is against linux-next, which is ahead of both
> linux-block and mainline tree. So this patch does not apply to
> linux-block tree, which is my upstream for bcache going to upstream.
> 
> I suggest to generate the patch against latest mainline kernel, or
> linux-block branch for next merge window (for 5.9 it is branch
> remotes/origin/for-5.9/drivers).
> 
I've sent a new patch against latest mainline kernel. Thanks.
> 
>> 196 static const struct file_operations debug_ops = {
>> 197         .owner          = THIS_MODULE,
>> 198         .open           = debug_seq_open,
>> 199         .read           = seq_read,
>> 200         .release        = single_release
>> 201 };
>>
>>> -	.release	= single_release
>>> -};
>>> +DEFINE_SHOW_ATTRIBUTE(debug);
>>>   
>>>   void  __init closure_debug_init(void)
>>>   {
>>> @@ -209,7 +199,7 @@ void  __init closure_debug_init(void)
>>>   		 * about this.
>>>   		 */
>>>   		closure_debug = debugfs_create_file(
>>> -			"closures", 0400, bcache_debug, NULL, &debug_ops);
>>> +				"closures", 0400, bcache_debug, NULL, &debug_fops);
>>>   }
>>>   #endif
>>
>> Do you test your change with upstream kernel ? Or at least you should
>> try to apply and compile the patch with latest upstream kernel.
> 
> I withdraw the above wrong word, the -next tag in patch subject was
> overlooked by me. Next time I will try to avoid such mistake.
> 
> Coly Li
> 
> 
> .
> 

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

end of thread, other threads:[~2020-09-17 12:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-16  9:03 [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE Qinglang Miao
2020-07-16  9:54 ` Coly Li
2020-07-17  2:22   ` Coly Li
2020-07-17  2:42     ` miaoqinglang
2020-09-17 12:20     ` miaoqinglang

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