pmem: add proper fencing to pmem_rw_page()
pmem_rw_page() needs to call wmb_pmem() on writes to make sure that the
newly written data is durable. This flow was added to pmem_rw_bytes()
and pmem_make_request() with this commit:
commit 61031952f4
("arch, x86: pmem api for ensuring durability of
persistent memory updates")
...the pmem_rw_page() path was missed.
Cc: <stable@vger.kernel.org>
Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
4ca8b57a0a
commit
ba8fe0f85e
1 changed files with 2 additions and 0 deletions
|
@ -92,6 +92,8 @@ static int pmem_rw_page(struct block_device *bdev, sector_t sector,
|
|||
struct pmem_device *pmem = bdev->bd_disk->private_data;
|
||||
|
||||
pmem_do_bvec(pmem, page, PAGE_CACHE_SIZE, 0, rw, sector);
|
||||
if (rw & WRITE)
|
||||
wmb_pmem();
|
||||
page_endio(page, rw & WRITE, 0);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue