On 2020/7/16 17:03, Qinglang Miao wrote:
> From: Yongqiang Liu <[email protected]>
> 

Hi Qianlang and Yongqiang,

> Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.
> 
> Signed-off-by: Yongqiang Liu <[email protected]>
> ---
>  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

Reply via email to