* [PATCH v3 0/2] fault-inject: Simplify and clean up
@ 2019-10-31 1:56 zhong jiang
2019-10-31 1:56 ` [PATCH v3 1/2] fault-inject: Use debugfs_create_ulong() instead of debugfs_create_ul() zhong jiang
2019-10-31 1:56 ` [PATCH v3 2/2] fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops zhong jiang
0 siblings, 2 replies; 5+ messages in thread
From: zhong jiang @ 2019-10-31 1:56 UTC (permalink / raw)
To: akinobu.mita, gregkh; +Cc: linux-kernel, zhongjiang
v3 -> v2:
Add another patch to use DEFINE_DEBUGFS_ATTRIBUTE and replace
debugfs_create_file with debugfs_create_file_unsafe.
v1 -> v2:
According to Akinobu's suggestion, Use debugfs_create_ulong to
simplify the code.
zhong jiang (2):
fault-inject: Use debugfs_create_ulong() instead of
debugfs_create_ul()
fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops
lib/fault-inject.c | 45 +++++++++++++++------------------------------
1 file changed, 15 insertions(+), 30 deletions(-)
--
1.7.12.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/2] fault-inject: Use debugfs_create_ulong() instead of debugfs_create_ul()
2019-10-31 1:56 [PATCH v3 0/2] fault-inject: Simplify and clean up zhong jiang
@ 2019-10-31 1:56 ` zhong jiang
2019-11-02 17:10 ` Greg KH
2019-10-31 1:56 ` [PATCH v3 2/2] fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops zhong jiang
1 sibling, 1 reply; 5+ messages in thread
From: zhong jiang @ 2019-10-31 1:56 UTC (permalink / raw)
To: akinobu.mita, gregkh; +Cc: linux-kernel, zhongjiang
debugfs_create_ulong() has implemented the function of debugfs_create_ul()
in lib/fault-inject.c. hence we can replace it.
Suggested-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
lib/fault-inject.c | 39 ++++++++++++---------------------------
1 file changed, 12 insertions(+), 27 deletions(-)
diff --git a/lib/fault-inject.c b/lib/fault-inject.c
index 8186ca8..430b3ac 100644
--- a/lib/fault-inject.c
+++ b/lib/fault-inject.c
@@ -151,10 +151,13 @@ bool should_fail(struct fault_attr *attr, ssize_t size)
EXPORT_SYMBOL_GPL(should_fail);
#ifdef CONFIG_FAULT_INJECTION_DEBUG_FS
+#ifdef CONFIG_FAULT_INJECTION_STACKTRACE_FILTER
-static int debugfs_ul_set(void *data, u64 val)
+static int debugfs_stacktrace_depth_set(void *data, u64 val)
{
- *(unsigned long *)data = val;
+ *(unsigned long *)data =
+ min_t(unsigned long, val, MAX_STACK_TRACE_DEPTH);
+
return 0;
}
@@ -164,24 +167,6 @@ static int debugfs_ul_get(void *data, u64 *val)
return 0;
}
-DEFINE_SIMPLE_ATTRIBUTE(fops_ul, debugfs_ul_get, debugfs_ul_set, "%llu\n");
-
-static void debugfs_create_ul(const char *name, umode_t mode,
- struct dentry *parent, unsigned long *value)
-{
- debugfs_create_file(name, mode, parent, value, &fops_ul);
-}
-
-#ifdef CONFIG_FAULT_INJECTION_STACKTRACE_FILTER
-
-static int debugfs_stacktrace_depth_set(void *data, u64 val)
-{
- *(unsigned long *)data =
- min_t(unsigned long, val, MAX_STACK_TRACE_DEPTH);
-
- return 0;
-}
-
DEFINE_SIMPLE_ATTRIBUTE(fops_stacktrace_depth, debugfs_ul_get,
debugfs_stacktrace_depth_set, "%llu\n");
@@ -204,11 +189,11 @@ struct dentry *fault_create_debugfs_attr(const char *name,
if (IS_ERR(dir))
return dir;
- debugfs_create_ul("probability", mode, dir, &attr->probability);
- debugfs_create_ul("interval", mode, dir, &attr->interval);
+ debugfs_create_ulong("probability", mode, dir, &attr->probability);
+ debugfs_create_ulong("interval", mode, dir, &attr->interval);
debugfs_create_atomic_t("times", mode, dir, &attr->times);
debugfs_create_atomic_t("space", mode, dir, &attr->space);
- debugfs_create_ul("verbose", mode, dir, &attr->verbose);
+ debugfs_create_ulong("verbose", mode, dir, &attr->verbose);
debugfs_create_u32("verbose_ratelimit_interval_ms", mode, dir,
&attr->ratelimit_state.interval);
debugfs_create_u32("verbose_ratelimit_burst", mode, dir,
@@ -218,10 +203,10 @@ struct dentry *fault_create_debugfs_attr(const char *name,
#ifdef CONFIG_FAULT_INJECTION_STACKTRACE_FILTER
debugfs_create_stacktrace_depth("stacktrace-depth", mode, dir,
&attr->stacktrace_depth);
- debugfs_create_ul("require-start", mode, dir, &attr->require_start);
- debugfs_create_ul("require-end", mode, dir, &attr->require_end);
- debugfs_create_ul("reject-start", mode, dir, &attr->reject_start);
- debugfs_create_ul("reject-end", mode, dir, &attr->reject_end);
+ debugfs_create_ulong("require-start", mode, dir, &attr->require_start);
+ debugfs_create_ulong("require-end", mode, dir, &attr->require_end);
+ debugfs_create_ulong("reject-start", mode, dir, &attr->reject_start);
+ debugfs_create_ulong("reject-end", mode, dir, &attr->reject_end);
#endif /* CONFIG_FAULT_INJECTION_STACKTRACE_FILTER */
attr->dname = dget(dir);
--
1.7.12.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops
2019-10-31 1:56 [PATCH v3 0/2] fault-inject: Simplify and clean up zhong jiang
2019-10-31 1:56 ` [PATCH v3 1/2] fault-inject: Use debugfs_create_ulong() instead of debugfs_create_ul() zhong jiang
@ 2019-10-31 1:56 ` zhong jiang
2019-11-02 17:10 ` Greg KH
1 sibling, 1 reply; 5+ messages in thread
From: zhong jiang @ 2019-10-31 1:56 UTC (permalink / raw)
To: akinobu.mita, gregkh; +Cc: linux-kernel, zhongjiang
It is more clearly to use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs file
operation rather than DEFINE_SIMPLE_ATTRIBUTE.
Meanwhile, debugfs_create_file() in debugfs_create_stacktrace_depth() can
be replaced by debugfs_create_file_unsafe().
Suggested-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
lib/fault-inject.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/fault-inject.c b/lib/fault-inject.c
index 430b3ac..2655bfd 100644
--- a/lib/fault-inject.c
+++ b/lib/fault-inject.c
@@ -167,14 +167,14 @@ static int debugfs_ul_get(void *data, u64 *val)
return 0;
}
-DEFINE_SIMPLE_ATTRIBUTE(fops_stacktrace_depth, debugfs_ul_get,
- debugfs_stacktrace_depth_set, "%llu\n");
+DEFINE_DEBUGFS_ATTRIBUTE(fops_stacktrace_depth, debugfs_ul_get,
+ debugfs_stacktrace_depth_set, "%llu\n");
static void debugfs_create_stacktrace_depth(const char *name, umode_t mode,
struct dentry *parent,
unsigned long *value)
{
- debugfs_create_file(name, mode, parent, value, &fops_stacktrace_depth);
+ debugfs_create_file_unsafe(name, mode, parent, value, &fops_stacktrace_depth);
}
#endif /* CONFIG_FAULT_INJECTION_STACKTRACE_FILTER */
--
1.7.12.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3 1/2] fault-inject: Use debugfs_create_ulong() instead of debugfs_create_ul()
2019-10-31 1:56 ` [PATCH v3 1/2] fault-inject: Use debugfs_create_ulong() instead of debugfs_create_ul() zhong jiang
@ 2019-11-02 17:10 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2019-11-02 17:10 UTC (permalink / raw)
To: zhong jiang; +Cc: akinobu.mita, linux-kernel
On Thu, Oct 31, 2019 at 09:56:16AM +0800, zhong jiang wrote:
> debugfs_create_ulong() has implemented the function of debugfs_create_ul()
> in lib/fault-inject.c. hence we can replace it.
>
> Suggested-by: Akinobu Mita <akinobu.mita@gmail.com>
> Signed-off-by: zhong jiang <zhongjiang@huawei.com>
> ---
> lib/fault-inject.c | 39 ++++++++++++---------------------------
> 1 file changed, 12 insertions(+), 27 deletions(-)
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3 2/2] fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops
2019-10-31 1:56 ` [PATCH v3 2/2] fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops zhong jiang
@ 2019-11-02 17:10 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2019-11-02 17:10 UTC (permalink / raw)
To: zhong jiang; +Cc: akinobu.mita, linux-kernel
On Thu, Oct 31, 2019 at 09:56:17AM +0800, zhong jiang wrote:
> It is more clearly to use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs file
> operation rather than DEFINE_SIMPLE_ATTRIBUTE.
>
> Meanwhile, debugfs_create_file() in debugfs_create_stacktrace_depth() can
> be replaced by debugfs_create_file_unsafe().
Why is it ok to do this replacement? You should describe in detail how
you determined this was ok to do.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-11-02 17:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-31 1:56 [PATCH v3 0/2] fault-inject: Simplify and clean up zhong jiang
2019-10-31 1:56 ` [PATCH v3 1/2] fault-inject: Use debugfs_create_ulong() instead of debugfs_create_ul() zhong jiang
2019-11-02 17:10 ` Greg KH
2019-10-31 1:56 ` [PATCH v3 2/2] fault-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops zhong jiang
2019-11-02 17:10 ` Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.