dax: unified host inode for device-dax mappings
From: | Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w-AT-public.gmane.org> | |
To: | linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw-AT-public.gmane.org | |
Subject: | [PATCH 0/7] dax: unified host inode for device-dax mappings | |
Date: | Mon, 15 Aug 2016 20:24:58 -0700 | |
Message-ID: | <147131789847.13727.7932192631919982514.stgit@dwillia2-desk3.amr.corp.intel.com> | |
Cc: | linux-fsdevel-u79uwXL29TY76Z2rM5mHXA-AT-public.gmane.org, viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn-AT-public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA-AT-public.gmane.org |
There are two scenarios where we need mappings of a /dev/dax device to share a single host inode, invalidating mappings at device shutdown, and coordinating resize of an actively mapped device. This series addresses the unmap-on-shutdown case and includes reworks, like the cdev api conversion, to prepare for a dynamic resize / allocation capability. Recall that device-DAX, introduced in v4.7 [1], is a mechanism to provide deterministic mapping behavior for performance- / feature-differentiated memory ranges. [1]: https://git.kernel.org/cgit/linux/kernel/git/torvalds/lin... --- Dan Williams (7): dax: cleanup needlessly global symbol warnings dax: reorder dax_fops function definitions dax: rename fops from dax_dev_ to dax_ dax: embed a struct device in dax_dev dax: convert to the cdev api dax: define a unified inode/address_space for device-dax mappings dax: unmap/truncate on device shutdown drivers/dax/Kconfig | 5 drivers/dax/dax.c | 555 ++++++++++++++++++++++++++------------------ drivers/dax/pmem.c | 2 fs/char_dev.c | 1 include/uapi/linux/magic.h | 1 5 files changed, 337 insertions(+), 227 deletions(-)