libnvdimm: introduce 'flags' attribute for DIMM 'lock' and 'alias' status
Given that we now how have two mechanisms for a DIMM to indicate that it is locked: * NVDIMM_FAMILY_INTEL 'get_config_size' _DSM command * ACPI 6.2 Label Storage Read / Write commands ...export the generic libnvdimm DIMM status in a new 'flags' attribute. This attribute can also reflect the 'alias' state which indicates whether the nvdimm core is enforcing labels for aliased-region-capacity that the given dimm is an interleave-set member. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
4b27db7e26
commit
efbf6f50ad
@ -331,6 +331,17 @@ static ssize_t commands_show(struct device *dev,
|
|||||||
}
|
}
|
||||||
static DEVICE_ATTR_RO(commands);
|
static DEVICE_ATTR_RO(commands);
|
||||||
|
|
||||||
|
static ssize_t flags_show(struct device *dev,
|
||||||
|
struct device_attribute *attr, char *buf)
|
||||||
|
{
|
||||||
|
struct nvdimm *nvdimm = to_nvdimm(dev);
|
||||||
|
|
||||||
|
return sprintf(buf, "%s%s\n",
|
||||||
|
test_bit(NDD_ALIASING, &nvdimm->flags) ? "alias " : "",
|
||||||
|
test_bit(NDD_LOCKED, &nvdimm->flags) ? "lock " : "");
|
||||||
|
}
|
||||||
|
static DEVICE_ATTR_RO(flags);
|
||||||
|
|
||||||
static ssize_t state_show(struct device *dev, struct device_attribute *attr,
|
static ssize_t state_show(struct device *dev, struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@ -372,6 +383,7 @@ static DEVICE_ATTR_RO(available_slots);
|
|||||||
|
|
||||||
static struct attribute *nvdimm_attributes[] = {
|
static struct attribute *nvdimm_attributes[] = {
|
||||||
&dev_attr_state.attr,
|
&dev_attr_state.attr,
|
||||||
|
&dev_attr_flags.attr,
|
||||||
&dev_attr_commands.attr,
|
&dev_attr_commands.attr,
|
||||||
&dev_attr_available_slots.attr,
|
&dev_attr_available_slots.attr,
|
||||||
NULL,
|
NULL,
|
||||||
|
Loading…
Reference in New Issue
Block a user