* [ndctl PATCH] ndctl: add an api for getting ars_status flags
@ 2018-06-06 0:00 Vishal Verma
2018-06-06 2:07 ` Dan Williams
0 siblings, 1 reply; 3+ messages in thread
From: Vishal Verma @ 2018-06-06 0:00 UTC (permalink / raw)
To: linux-nvdimm; +Cc: Jacek Zloch
The ARS status command defines a 'flags' field that wasn't being exposed
via an API yet. Add a new ndctl_cmd_ars_get_flags() helper to retrieve
this field.
Reported-by: Jacek Zloch <jacek.zloch@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
ndctl/lib/ars.c | 10 ++++++++++
ndctl/lib/libndctl.sym | 1 +
ndctl/libndctl.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/ndctl/lib/ars.c b/ndctl/lib/ars.c
index e04b51e..b0a7ae6 100644
--- a/ndctl/lib/ars.c
+++ b/ndctl/lib/ars.c
@@ -269,6 +269,16 @@ NDCTL_EXPORT unsigned long long ndctl_cmd_ars_get_record_len(
return ars_stat->ars_status->records[rec_index].length;
}
+NDCTL_EXPORT unsigned int ndctl_cmd_ars_get_flags(struct ndctl_cmd *ars_stat)
+{
+ struct ndctl_ctx *ctx = ndctl_bus_get_ctx(cmd_to_bus(ars_stat));
+
+ if (!validate_ars_stat(ctx, ars_stat))
+ return 0;
+
+ return ars_stat->ars_status->flags;
+}
+
NDCTL_EXPORT struct ndctl_cmd *ndctl_bus_cmd_new_clear_error(
unsigned long long address, unsigned long long len,
struct ndctl_cmd *ars_cap)
diff --git a/ndctl/lib/libndctl.sym b/ndctl/lib/libndctl.sym
index c1228e5..9940c7a 100644
--- a/ndctl/lib/libndctl.sym
+++ b/ndctl/lib/libndctl.sym
@@ -365,4 +365,5 @@ global:
ndctl_cmd_ars_cap_get_clear_unit;
ndctl_namespace_inject_error2;
ndctl_namespace_uninject_error2;
+ ndctl_cmd_ars_get_flags;
} LIBNDCTL_15;
diff --git a/ndctl/libndctl.h b/ndctl/libndctl.h
index be997ac..99218e6 100644
--- a/ndctl/libndctl.h
+++ b/ndctl/libndctl.h
@@ -210,6 +210,7 @@ struct ndctl_cmd *ndctl_bus_cmd_new_clear_error(unsigned long long address,
unsigned long long ndctl_cmd_clear_error_get_cleared(
struct ndctl_cmd *clear_err);
unsigned int ndctl_cmd_ars_cap_get_clear_unit(struct ndctl_cmd *ars_cap);
+unsigned int ndctl_cmd_ars_get_flags(struct ndctl_cmd *ars_stat);
/*
* Note: ndctl_cmd_smart_get_temperature is an alias for
--
2.17.0
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [ndctl PATCH] ndctl: add an api for getting ars_status flags
2018-06-06 0:00 [ndctl PATCH] ndctl: add an api for getting ars_status flags Vishal Verma
@ 2018-06-06 2:07 ` Dan Williams
2018-06-06 5:09 ` Verma, Vishal L
0 siblings, 1 reply; 3+ messages in thread
From: Dan Williams @ 2018-06-06 2:07 UTC (permalink / raw)
To: Vishal Verma; +Cc: Jacek Zloch, linux-nvdimm
On Tue, Jun 5, 2018 at 5:00 PM, Vishal Verma <vishal.l.verma@intel.com> wrote:
> The ARS status command defines a 'flags' field that wasn't being exposed
> via an API yet. Add a new ndctl_cmd_ars_get_flags() helper to retrieve
> this field.
>
> Reported-by: Jacek Zloch <jacek.zloch@intel.com>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
I'm wondering if we should add a 'get' routine for each flag value as
to not expose the binary representation of the flags in case they ever
change. The hope is that if some other platform added their own
ARS-like facility that we would be able to reuse these routines and
translate between ACPI and a theoretical Open Firmware implementation,
for example.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ndctl PATCH] ndctl: add an api for getting ars_status flags
2018-06-06 2:07 ` Dan Williams
@ 2018-06-06 5:09 ` Verma, Vishal L
0 siblings, 0 replies; 3+ messages in thread
From: Verma, Vishal L @ 2018-06-06 5:09 UTC (permalink / raw)
To: Williams, Dan J; +Cc: Zloch, Jacek, linux-nvdimm@lists.01.org
On Tue, 2018-06-05 at 19:07 -0700, Dan Williams wrote:
> On Tue, Jun 5, 2018 at 5:00 PM, Vishal Verma <vishal.l.verma@intel.com>
> wrote:
> > The ARS status command defines a 'flags' field that wasn't being
> > exposed
> > via an API yet. Add a new ndctl_cmd_ars_get_flags() helper to retrieve
> > this field.
> >
> > Reported-by: Jacek Zloch <jacek.zloch@intel.com>
> > Cc: Dan Williams <dan.j.williams@intel.com>
> > Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
>
> I'm wondering if we should add a 'get' routine for each flag value as
> to not expose the binary representation of the flags in case they ever
> change. The hope is that if some other platform added their own
> ARS-like facility that we would be able to reuse these routines and
> translate between ACPI and a theoretical Open Firmware implementation,
> for example.
Yes that makes sense, I'll routines for all the flags we have today.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-06-06 5:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-06 0:00 [ndctl PATCH] ndctl: add an api for getting ars_status flags Vishal Verma
2018-06-06 2:07 ` Dan Williams
2018-06-06 5:09 ` Verma, Vishal L
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).