reconfig attempted to reuse the 'previous' value for sector-size when
reconfiguring to a BTT mode or blk type namespace, but this may not
always be valid (for example when coming from a memory mode namespace).
Instead, when reconfiguring to BTT or blk, always default to 4096
unless a sector size is explicitly provided.

Cc: Dan Williams <[email protected]>
Reported-by: Ross Zwisler <[email protected]>
Tested-by: Dave Jiang <[email protected]>
Reviewed-by: Dave Jiang <[email protected]>
Signed-off-by: Vishal Verma <[email protected]>
---
 ndctl/namespace.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/ndctl/namespace.c b/ndctl/namespace.c
index c793ba3..ceb9e7a 100644
--- a/ndctl/namespace.c
+++ b/ndctl/namespace.c
@@ -244,12 +244,10 @@ static int set_defaults(enum device_action mode)
                        error("invalid sector size: %s\n", param.sector_size);
                        rc = -EINVAL;
                }
-       } else if (!param.reconfig
-                       && ((param.type && strcmp(param.type, "blk") == 0)
-                               || (param.mode
-                                       && strcmp(param.mode, "safe") == 0))) {
-                       /* default sector size for blk-type or safe-mode */
-                       param.sector_size = "4096";
+       } else if (((param.type && strcmp(param.type, "blk") == 0)
+                       || (param.mode && strcmp(param.mode, "safe") == 0))) {
+               /* default sector size for blk-type or safe-mode */
+               param.sector_size = "4096";
        }
 
        return rc;
-- 
2.14.3

_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to