]> git.baikalelectronics.ru Git - kernel.git/commit
libnvdimm: re-enable deep flush for pmem devices via fsync()
authorDave Jiang <dave.jiang@intel.com>
Sat, 3 Mar 2018 03:31:40 +0000 (19:31 -0800)
committerDan Williams <dan.j.williams@intel.com>
Sat, 3 Mar 2018 03:31:40 +0000 (19:31 -0800)
commit2d45264b3d299bd8394803f8169a57a4a69fc25d
treebf20c5c1811f57796205c0da20132387698d9925
parentac97f6cc19d01486d8603cfe04325d3d5e970b9e
libnvdimm: re-enable deep flush for pmem devices via fsync()

Re-enable deep flush so that users always have a way to be sure that a
write makes it all the way out to media. Writes from the PMEM driver
always arrive at the NVDIMM since movnt is used to bypass the cache, and
the driver relies on the ADR (Asynchronous DRAM Refresh) mechanism to
flush write buffers on power failure. The Deep Flush mechanism is there
to explicitly write buffers to protect against (rare) ADR failure.  This
change prevents a regression in deep flush behavior so that applications
can continue to depend on fsync() as a mechanism to trigger deep flush
in the filesystem-DAX case.

Fixes: c464227fc3ae5 ("acpi: nfit: Add support for detect platform CPU cache...")
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/pmem.c