Messages in this thread | | | Subject | Re: [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE | From | miaoqinglang <> | Date | Fri, 17 Jul 2020 10:42:33 +0800 |
| |
在 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
.
| |