linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).