diff options
author | Vishal Verma <vishal.l.verma@intel.com> | 2016-07-23 21:51:42 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2016-07-23 21:51:42 -0700 |
commit | 37b137ff8c833385b75ff2baf4bace25e52247d2 (patch) | |
tree | 7bf79dcc785820ed90a02874c4c9119e528da3c4 /drivers/acpi/nfit.h | |
parent | 18515942d61bdfd4b31ea13f9fbb9c18650c6818 (diff) | |
download | lwn-37b137ff8c833385b75ff2baf4bace25e52247d2.tar.gz lwn-37b137ff8c833385b75ff2baf4bace25e52247d2.zip |
nfit, libnvdimm: allow an ARS scrub to be triggered on demand
Normally, an ARS (Address Range Scrub) only happens at
boot/initialization time. There can however arise situations where a
bus-wide rescan is needed - notably, in the case of discovering a latent
media error, we should do a full rescan to figure out what other sectors
are bad, and thus potentially avoid triggering an mce on them in the
future. Also provide a sysfs trigger to start a bus-wide scrub.
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/acpi/nfit.h')
-rw-r--r-- | drivers/acpi/nfit.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/acpi/nfit.h b/drivers/acpi/nfit.h index b63a583a678f..6ecf337c97aa 100644 --- a/drivers/acpi/nfit.h +++ b/drivers/acpi/nfit.h @@ -80,7 +80,7 @@ enum { struct nfit_spa { struct list_head list; struct nd_region *nd_region; - unsigned int ars_done:1; + unsigned int ars_required:1; u32 clear_err_unit; u32 max_ars; struct acpi_nfit_system_address spa[0]; @@ -148,6 +148,8 @@ struct acpi_nfit_desc { struct nd_cmd_ars_status *ars_status; size_t ars_status_size; struct work_struct work; + struct kernfs_node *scrub_count_state; + unsigned int scrub_count; unsigned int cancel:1; unsigned long dimm_cmd_force_en; unsigned long bus_cmd_force_en; |