Dan Williams wrote on 2016-10-13:
> On Wed, Oct 12, 2016 at 1:40 PM, Dan Williams <dan.j.willi...@intel.com> 
> wrote:
>> Fix warnings of the form:
>> 
>>     libndctl-hpe1.c: In function 'hpe1_smart_valid':
>>     libndctl-hpe1.c:78:15: warning: dereferencing type-punned pointer will
>>         break strict-aliasing rules [-Wstrict-aliasing]
>>         CMD_HPE1(cmd)->gen.nd_family != NVDIMM_FAMILY_HPE1 ||
>>         ^
>>     libndctl-hpe1.c:79:15: warning: dereferencing type-punned pointer will
>>         break strict-aliasing rules [-Wstrict-aliasing]
>>         CMD_HPE1(cmd)->gen.nd_command != NDN_HPE1_CMD_SMART ||
>>         ^
>>     libndctl-hpe1.c: In function 'hpe1_cmd_smart_get_flags':
>>     libndctl-hpe1.c:93:55: warning: dereferencing type-punned pointer will
>>         break strict-aliasing rules [-Wstrict-aliasing]
>>     libndctl-hpe1.c:93:55: warning: dereferencing type-punned pointer will
>>         break strict-aliasing rules [-Wstrict-aliasing]
>>     libndctl-hpe1.c: In function 'hpe1_cmd_smart_get_health':
>>     libndctl-hpe1.c:121:56: warning: dereferencing type-punned pointer will
>>         break strict-aliasing rules [-Wstrict-aliasing]
>>     libndctl-hpe1.c:121:56: warning: dereferencing type-punned pointer will
>>         break strict-aliasing rules [-Wstrict-aliasing]
>> ...for distributions that include "-Wstrict-aliasing" in CFLAGS.
>> 
>> Cc: Brian Boylston <brian.boyls...@hpe.com>
>> Signed-off-by: Dan Williams <dan.j.willi...@intel.com>
> 
> Brian, it occurs to me that I do not have unit test coverage for hpe1
> command functionality.  Can you confirm that this patch does not break
> anything?

Yes!  I actually tested this earlier today using the pending branch,
and it seems to work fine:

# ndctl --version
54.44.g4a4c09e
# ndctl list -D -i -H
[
  {
    "dev":"nmem1",
    "id":"802c-0f-1612-122f8182",
    "state":"disabled",
    "health":{
      "health_state":"fatal",
      "temperature_celsius":25.000000,
      "spares_percentage":99,
      "alarm_temperature":false,
      "alarm_spares":false,
      "temperature_threshold":50.000000,
      "spares_threshold":20,
      "life_used_percentage":29,
      "shutdown_state":"dirty"
    }
  },
  {
    "dev":"nmem3",
    "id":"802c-0f-1612-122f81da",
    "state":"disabled",
    "health":{
      "health_state":"ok",
      "temperature_celsius":25.000000,
      "spares_percentage":99,
      "alarm_temperature":false,
      "alarm_spares":false,
      "temperature_threshold":50.000000,
      "spares_threshold":20,
      "life_used_percentage":29,
      "shutdown_state":"clean"
    }
  },
...

nmem1 here has an injected error.

> 
> For extra credit, I wouldn't say no if you instrumented the kernel's
> nfit_test infrastructure to provide sample hpe1 data payload results.

Sure, when I get a chance, I'll take a look.


Thanks!
Brian

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to