Thread (5 messages) 5 messages, 2 authors, 2016-01-15

Re: [PATCH 3/3] libnvdimm: use enums for ARS statuses

From: Dan Williams <hidden>
Date: 2016-01-15 04:29:27

On Thu, Jan 14, 2016 at 5:31 PM, Vishal Verma [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Replace the status checking in ARS_START, ARS_STATUS with enums for
readability.

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 drivers/nvdimm/core.c    | 17 +++++++----------
 drivers/nvdimm/nd-core.h | 13 +++++++++++++
 2 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c
index 69994036..489414f 100644
--- a/drivers/nvdimm/core.c
+++ b/drivers/nvdimm/core.c
@@ -542,15 +542,14 @@ static int ars_do_start(struct nvdimm_bus_descriptor *nd_desc,
                if (rc)
                        return rc;
                switch (cmd->status) {
-               case 0:
+               case ND_ARS_START_SUCCESS:
                        return 0;
-               case 1:
+               case ND_ARS_START_UNSUPP:
                        /* ARS unsupported, but we should never get here */
                        return 0;
-               case 2:
+               case ND_ARS_START_INVALID_PARAM:
                        return -EINVAL;
-               case 3:
-                       /* ARS is in progress */
+               case ND_ARS_START_IN_PROGRESS:
                        msleep(1000);
                        break;
These status codes are dsm spec specific.  I think we should have the
conversion of dsm cmd status to Linux error code happen in the bus
provider.  Currently the status returned from ->ndctl() is the
execution status of the command.  I think we want to change the
definition of ->ndctl_fn to take a pointer to an additional  command
status integer.  That way the core only needs to deal in standard
errno codes and the dsm-status to errno conversion can remain in the
bus-provider-specific code where it belongs.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help