On 2020/7/16 17:03, Qinglang Miao wrote: > From: Yongqiang Liu <liuyongqiang13@xxxxxxxxxx> > Hi Qianlang and Yongqiang, > Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code. > > Signed-off-by: Yongqiang Liu <liuyongqiang13@xxxxxxxxxx> > --- > 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