anitazha / rpms / ndctl

Forked from rpms/ndctl a year ago
Clone
0dc130
namespace-action: Drop zero namespace checks.
0dc130
0dc130
BZ: 
0dc130
Brew: 
0dc130
0dc130
commit 80e0d88c3098bd419e26146a8cb3b693fdd06417
0dc130
Author: Santosh Sivaraj <santosh@fossix.org>
0dc130
Date:   Wed Jan 6 14:17:42 2021 +0100
0dc130
0dc130
    namespace-action: Drop zero namespace checks.
0dc130
    
0dc130
    With seed namespaces catched early on these checks for sizes in enable
0dc130
    and destroy namespace code path are not needed.
0dc130
    
0dc130
    Reverts commit b9cb03f6d5a8 ("ndctl/namespace: Fix enable-namespace
0dc130
    error for seed namespaces")
0dc130
    
0dc130
    Reverts commit e01045e58ad5 ("ndctl/namespace: Fix destroy-namespace
0dc130
    accounting relative to seed devices")
0dc130
    
0dc130
    Link: https://patchwork.kernel.org/patch/11739975/
0dc130
    Link: https://lore.kernel.org/r/eb4bc7885708fa13e3d37286bc4a4219b1e4e5b6.1609938610.git.msuchanek@suse.de
0dc130
    Fixes: b9cb03f6d5a8 ("ndctl/namespace: Fix enable-namespace error for seed namespaces")
0dc130
    Fixes: e01045e58ad5 ("ndctl/namespace: Fix destroy-namespace accounting relative to seed devices")
0dc130
    Signed-off-by: Santosh Sivaraj <santosh@fossix.org>
0dc130
    [rebased on top of the previous patches]
0dc130
    Signed-off-by: Michal Suchanek <msuchanek@suse.de>
0dc130
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
0dc130
0dc130
diff --git a/ndctl/lib/libndctl.c b/ndctl/lib/libndctl.c
0dc130
index 536e142..87f60b9 100644
0dc130
--- a/ndctl/lib/libndctl.c
0dc130
+++ b/ndctl/lib/libndctl.c
0dc130
@@ -4531,16 +4531,11 @@ NDCTL_EXPORT int ndctl_namespace_enable(struct ndctl_namespace *ndns)
0dc130
 	const char *devname = ndctl_namespace_get_devname(ndns);
0dc130
 	struct ndctl_ctx *ctx = ndctl_namespace_get_ctx(ndns);
0dc130
 	struct ndctl_region *region = ndns->region;
0dc130
-	unsigned long long size = ndctl_namespace_get_size(ndns);
0dc130
 	int rc;
0dc130
 
0dc130
 	if (ndctl_namespace_is_enabled(ndns))
0dc130
 		return 0;
0dc130
 
0dc130
-	/* Don't try to enable idle namespace (no capacity allocated) */
0dc130
-	if (size == 0)
0dc130
-		return -ENXIO;
0dc130
-
0dc130
 	rc = ndctl_bind(ctx, ndns->module, devname);
0dc130
 
0dc130
 	/*
0dc130
diff --git a/ndctl/namespace.c b/ndctl/namespace.c
0dc130
index cd822b3..c67c086 100644
0dc130
--- a/ndctl/namespace.c
0dc130
+++ b/ndctl/namespace.c
0dc130
@@ -1164,15 +1164,12 @@ static int namespace_destroy(struct ndctl_region *region,
0dc130
 		struct ndctl_namespace *ndns)
0dc130
 {
0dc130
 	const char *devname = ndctl_namespace_get_devname(ndns);
0dc130
-	unsigned long long size;
0dc130
 	int rc;
0dc130
 
0dc130
 	rc = namespace_prep_reconfig(region, ndns);
0dc130
 	if (rc < 0)
0dc130
 		return rc;
0dc130
 
0dc130
-	size = ndctl_namespace_get_size(ndns);
0dc130
-
0dc130
 	/* Labeled namespace, destroy label / allocation */
0dc130
 	if (rc == 2) {
0dc130
 		rc = ndctl_namespace_delete(ndns);
0dc130
@@ -1180,13 +1177,6 @@ static int namespace_destroy(struct ndctl_region *region,
0dc130
 			debug("%s: failed to reclaim\n", devname);
0dc130
 	}
0dc130
 
0dc130
-	/*
0dc130
-	 * Don't report a destroyed namespace when no capacity was
0dc130
-	 * allocated.
0dc130
-	 */
0dc130
-	if (size == 0 && rc == 0)
0dc130
-		rc = 1;
0dc130
-
0dc130
 	return rc;
0dc130
 }
0dc130