dax, iomap: Add support for synchronous faults
authorJan Kara <jack@suse.cz>
Wed, 1 Nov 2017 15:36:42 +0000 (16:36 +0100)
committerDan Williams <dan.j.williams@intel.com>
Fri, 3 Nov 2017 13:26:25 +0000 (06:26 -0700)
commitcaa51d26f85c248f1c4f43a870ad3ef84bf9eb8f
tree1949315570cf10dc95ebf1dde715cc1abaf81a2f
parentb6fb293f2497a9841d94f6b57bd2bb2cd222da43
dax, iomap: Add support for synchronous faults

Add a flag to iomap interface informing the caller that inode needs
fdstasync(2) for returned extent to become persistent and use it in DAX
fault code so that we don't map such extents into page tables
immediately. Instead we propagate the information that fdatasync(2) is
necessary from dax_iomap_fault() with a new VM_FAULT_NEEDDSYNC flag.
Filesystem fault handler is then responsible for calling fdatasync(2)
and inserting pfn into page tables.

Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
fs/dax.c
include/linux/iomap.h
include/linux/mm.h