dax: remove the copy_from_iter and copy_to_iter methods
authorChristoph Hellwig <hch@lst.de>
Wed, 15 Dec 2021 08:45:08 +0000 (09:45 +0100)
committerDan Williams <dan.j.williams@intel.com>
Sat, 18 Dec 2021 16:04:53 +0000 (08:04 -0800)
commit7ac5360cd4d02cc7e0eaf10867f599e041822f12
tree995133c39f548b5ce8f01cc3a72f15d85838a630
parent30c6828a17a572aeb9e3a3bacce05fdcf1106541
dax: remove the copy_from_iter and copy_to_iter methods

These methods indirect the actual DAX read/write path.  In the end pmem
uses magic flush and mc safe variants and fuse and dcssblk use plain ones
while device mapper picks redirects to the underlying device.

Add set_dax_nocache() and set_dax_nomc() APIs to control which copy
routines are used to remove indirect call from the read/write fast path
as well as a lot of boilerplate code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Vivek Goyal <vgoyal@redhat.com> [virtiofs]
Link: https://lore.kernel.org/r/20211215084508.435401-5-hch@lst.de
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
12 files changed:
drivers/dax/bus.c
drivers/dax/super.c
drivers/md/dm-linear.c
drivers/md/dm-log-writes.c
drivers/md/dm-stripe.c
drivers/md/dm.c
drivers/nvdimm/pmem.c
drivers/s390/block/dcssblk.c
fs/dax.c
fs/fuse/virtio_fs.c
include/linux/dax.h
include/linux/device-mapper.h