The dax support for a raw block device did not account for page cache
entries established by the kernel for partition reads.  This breaks dax
as it assumes that page cache entries are limited to covering holes in
files, or are exceptional entries marking dirty pages.

Additionally, the facility to toggle dax at runtime fails to handle
evacuating the page cache when switching from non-dax-mode to dax-mode.
It needs to be rethought as enabling dax needs to be atomic with
flushing the page cache.

---

Dan Williams (2):
      block: revert runtime dax control of the raw block device
      block: use DAX for partition table reads


 block/ioctl.c             |   38 --------------------------------------
 block/partition-generic.c |   18 +++++++++++++++---
 fs/block_dev.c            |   28 ----------------------------
 fs/dax.c                  |   20 ++++++++++++++++++++
 include/linux/blkdev.h    |   10 ++++++++++
 include/linux/fs.h        |    3 ---
 include/uapi/linux/fs.h   |    1 -
 7 files changed, 45 insertions(+), 73 deletions(-)

Reply via email to