Blame SOURCES/0029-ndctl-namespace-Suppress-ENXIO-when-processing-all-n.patch

26ccd9
From 07011a334fd1e4b641cdbfaf5de7500f7bdc941d Mon Sep 17 00:00:00 2001
26ccd9
From: Michal Suchanek <msuchanek@suse.de>
26ccd9
Date: Wed, 6 Jan 2021 14:17:41 +0100
26ccd9
Subject: [PATCH 029/217] ndctl/namespace: Suppress -ENXIO when processing all
26ccd9
 namespaces.
0670da
26ccd9
When processing all namespaces and no namespaces exist user gets the
26ccd9
default -ENXIO. Set default rc to 0 when processing all namespaces.
26ccd9
This avoids confusing error message printed in addition to the message
26ccd9
saying 0 namespaces were affected.
0670da
26ccd9
Before:
0670da
26ccd9
 # ndctl check-namespace all
26ccd9
namespace0.0: namespace_check: namespace0.0: check aborted, namespace online
26ccd9
error checking namespaces: Device or resource busy
26ccd9
checked 0 namespaces
26ccd9
 # ndctl disable-namespace all
26ccd9
disabled 1 namespace
26ccd9
 # ndctl check-namespace all
26ccd9
namespace0.0: namespace_check: Unable to recover any BTT info blocks
26ccd9
error checking namespaces: No such device or address
26ccd9
checked 0 namespaces
26ccd9
 # ndctl destroy-namespace all
26ccd9
destroyed 1 namespace
26ccd9
 # ndctl check-namespace all
26ccd9
error checking namespaces: No such device or address
26ccd9
checked 0 namespaces
26ccd9
 # ndctl destroy-namespace all
26ccd9
error destroying namespaces: No such device or address
26ccd9
destroyed 0 namespaces
26ccd9
26ccd9
After:
26ccd9
26ccd9
 # ndctl check-namespace all
26ccd9
namespace0.0: namespace_check: namespace0.0: check aborted, namespace online
26ccd9
error checking namespaces: Device or resource busy
26ccd9
checked 0 namespaces
26ccd9
 # ndctl disable-namespace namespace0.0
26ccd9
disabled 1 namespace
26ccd9
 # ndctl check-namespace all
26ccd9
namespace0.0: namespace_check: Unable to recover any BTT info blocks
26ccd9
error checking namespaces: No such device or address
26ccd9
checked 0 namespaces
26ccd9
 # ndctl destroy-namespace all
26ccd9
destroyed 1 namespace
26ccd9
 # ndctl check-namespace all
26ccd9
checked 0 namespaces
26ccd9
 # ndctl destroy-namespace all
26ccd9
destroyed 0 namespaces
26ccd9
 # ndctl destroy-namespace all
26ccd9
destroyed 0 namespaces
26ccd9
26ccd9
Note: this does change the return value from -ENXIO to 0 in the cases
26ccd9
when no namespaces exist and processing all namespaces was requested.
26ccd9
26ccd9
Link: https://patchwork.kernel.org/patch/11681431/
26ccd9
Link: https://lore.kernel.org/r/32c8cd8d2716f5e52aebea4e4d303eeb4e0550f9.1609938610.git.msuchanek@suse.de
26ccd9
Reviewed-by: Santosh S <santosh@fossix.org>
26ccd9
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
26ccd9
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
26ccd9
---
26ccd9
 ndctl/namespace.c | 3 +++
26ccd9
 1 file changed, 3 insertions(+)
0670da
0670da
diff --git a/ndctl/namespace.c b/ndctl/namespace.c
0670da
index 5e65ed5..cd822b3 100644
0670da
--- a/ndctl/namespace.c
0670da
+++ b/ndctl/namespace.c
0670da
@@ -2151,6 +2151,9 @@ static int do_xaction_namespace(const char *namespace,
0670da
 	if (!namespace && action != ACTION_CREATE)
0670da
 		return rc;
0670da
 
0670da
+	if (namespace && (strcmp(namespace, "all") == 0))
0670da
+		rc = 0;
0670da
+
0670da
 	if (verbose)
0670da
 		ndctl_set_log_priority(ctx, LOG_DEBUG);
0670da
 
26ccd9
-- 
26ccd9
2.27.0
26ccd9