On Mittwoch, 6. April 2016 17:53:49 CEST Dan Williams wrote:
Provide simulated SMART data to enable the ndctl implementation of
SMART
data retrieval and parsing.
The payload is defined here, "Section 4.1 SMART and Health Info
(Function Index 1)":
http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
[...]
@@ -20,6 +20,35 @@ struct nd_cmd_smart {
__u8 data[128];
} __packed;
+enum {
+ ND_SMART_HEALTH_VALID = 1 << 0,
+ ND_SMART_TEMP_VALID = 1 << 1,
+ ND_SMART_SPARES_VALID = 1 << 2,
+ ND_SMART_ALARM_VALID = 1 << 3,
+ ND_SMART_USED_VALID = 1 << 4,
+ ND_SMART_SHUTDOWN_VALID = 1 << 5,
+ ND_SMART_VENDOR_VALID = 1 << 6,
+ ND_SMART_TEMP_TRIP = 1 << 0,
+ ND_SMART_SPARE_TRIP = 1 << 1,
+ ND_SMART_NON_CRITICAL_HEALTH = 1 << 0,
+ ND_SMART_CRITICAL_HEALTH = 1 << 1,
+ ND_SMART_FATAL_HEALTH = 1 << 2,
+};
Why not use BIT() instead of that 1 << x stuff and #define instead of the
abstract enum?
--
Johannes Thumshirn Storage
jthumshirn(a)suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850