dm log writes: add support for DAX
commit98d82f48f1983ceef5c8d2f6c87bfee2918790ee
authorRoss Zwisler <ross.zwisler@linux.intel.com>
Fri, 20 Oct 2017 05:24:04 +0000 (19 23:24 -0600)
committerMike Snitzer <snitzer@redhat.com>
Fri, 10 Nov 2017 20:44:51 +0000 (10 15:44 -0500)
tree05d32dc5ad91f6d22e21bcba40fde515964fa128
parente5a20660a15d1c4c15f3aad92b3bac3d56042870
dm log writes: add support for DAX

Now that we have the ability log filesystem writes using a flat buffer, add
support for DAX.

The motivation for this support is the need for an xfstest that can test
the new MAP_SYNC DAX flag.  By logging the filesystem activity with
dm-log-writes we can show that the MAP_SYNC page faults are writing out
their metadata as they happen, instead of requiring an explicit
msync/fsync.

Unfortunately we can't easily track data that has been written via
mmap() now that the dax_flush() abstraction was removed by commit
c3ca015fab6d ("dax: remove the pmem_dax_ops->flush abstraction").
Otherwise we could just treat each flush as a big write, and store the
data that is being synced to media.  It may be worthwhile to add the
dax_flush() entry point back, just as a notifier so we can do this
logging.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-log-writes.c