Re: [PATCH -next] bcache: Convert to DEFINE_SHOW_ATTRIBUTE
From: Coly Li <hidden>
Date: 2020-07-16 09:54:25
Also in:
lkml
On 2020/7/16 17:03, Qinglang Miao wrote:
From: Yongqiang Liu <redacted>
Hi Qianlang and Yongqiang,
quoted hunk
Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code. Signed-off-by: Yongqiang Liu <redacted> --- 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 };
quoted hunk
- .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