On Thu, Feb 8, 2018 at 9:34 PM, Vishal Verma <[email protected]> wrote:
> Add an inject-smart command to ndctl to allow injection of smart fields,
> and setting of smart thresholds. If a field is injected that breaches
> the threshold, or sets a fatal flag, or if a new threshold is set that
> causes the same effect, generate an acpi health even notification.
>
> Cc: Dan Williams <[email protected]>
> Signed-off-by: Vishal Verma <[email protected]>
> ---
>  Documentation/ndctl/ndctl-inject-smart.txt | 102 +++++++
>  builtin.h                                  |   1 +
>  ndctl/Makefile.am                          |   3 +-
>  ndctl/inject-smart.c                       | 436 
> +++++++++++++++++++++++++++++
>  ndctl/ndctl.c                              |   1 +
>  5 files changed, 542 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/ndctl/ndctl-inject-smart.txt
>  create mode 100644 ndctl/inject-smart.c
>
> v2: Change inject-smart semantics to avoid sub-commands like --inject
> and --set. Instead allow injection and threshold setting all in one
> command by making each a distinct option. (Dan)
>
> diff --git a/Documentation/ndctl/ndctl-inject-smart.txt 
> b/Documentation/ndctl/ndctl-inject-smart.txt
> new file mode 100644
> index 0000000..212bca0
> --- /dev/null
> +++ b/Documentation/ndctl/ndctl-inject-smart.txt
> @@ -0,0 +1,102 @@
> +ndctl-inject-smart(1)
> +=====================
> +
> +NAME
> +----
> +ndctl-inject-smart - perform smart threshold/injection operations on a DIMM
> +
> +SYNOPSIS
> +--------
> +[verse]
> +'ndctl inject-smart' <dimm> [<options>]
> +
> +DESCRIPTION
> +-----------
> +A generic DIMM device object, named /dev/nmemX, is registered for each
> +memory device indicated in the ACPI NFIT table, or other platform NVDIMM
> +resource discovery mechanism.
> +
> +ndctl-inject-smart can be used to set smart thresholds, and inject smart
> +attributes.
> +
> +EXAMPLES
> +--------
> +
> +Set smart controller temperature and spares threshold for DIMM-0 to 32C, 
> spares
> +threshold to 8, and enable the spares alarm.
> +[verse]
> +ndctl inject-smart --ctrl-temperature-threshold=32 --spares-threshold=8 
> --spares-alarm nmem0
> +
> +Inject a media temperature value of 52 and fatal health status flag for 
> DIMM-0
> +[verse]
> +ndctl inject-smart --media-temperature=52 --health=fatal nmem0
> +
> +
> +OPTIONS
> +-------
> +-b::
> +--bus=::
> +       Enforce that the operation only be carried on devices that are
> +       attached to the given bus. Where 'bus' can be a provider name or a bus
> +       id number.
> +
> +-m::
> +--media-temperature=::
> +       Inject <value> for the media temperature smart attribute.
> +
> +-M::
> +--media-temperature-threshold=::
> +       Set <value> for the smart media temperature threshold.
> +
> +--media-temperature-alarm=::
> +       Enable or disable the smart media temperature alarm. Options are
> +       'on' or 'off'.
> +
> +-c::
> +--ctrl-temperature=::
> +       Inject <value> for the controller temperature smart attribute.
> +
> +-C::
> +--ctrl-temperature-threshold=::
> +       Set <value> for the smart controller temperature threshold.
> +
> +--ctrl-temperature-alarm=::
> +       Enable or disable the smart controller temperature alarm. Options are
> +       'on' or 'off'.
> +
> +-s::
> +--spares=::
> +       Inject <value> for the spares smart attribute.
> +
> +-S::
> +--spares-threshold=::
> +       Set <value> for the smart spares threshold.
> +
> +--spares-alarm=::
> +       Enable or disable the smart spares alarm. Options are 'on' or 'off'.
> +
> +-H::
> +--health=::
> +       Smart attribute for health status. Provide either 'fatal' or 'nominal'
> +       to set the state of the attribute.
> +
> +-U::
> +--unsafe-shutdown=::
> +       Set the flag to spoof an unsafe shutdown on the next power down.
> +
> +-v::
> +--verbose::
> +       Emit debug messages for the error injection process

Nice, and I like your short option choices too.
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to