anitazha / rpms / ndctl

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