Re: [PATCH 2/2] dm log writes: add support for DAX

From: Josef Bacik
Date: Mon Oct 23 2017 - 13:34:20 EST


On Thu, Oct 19, 2017 at 11:24:04PM -0600, Ross Zwisler wrote:
> Now that we have the ability log filesystem writes using a flat buffer, add
> support for DAX. Unfortunately we can't easily track data that has been
> written via mmap() now that the dax_flush() abstraction was removed by this
> commit:
>
> 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.
>
> 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.
>
> Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
> ---

Ok this is just my ignorance of how DAX works shining through, but do we need a
new flag to indicate this is DAX data? You are logging it like it's just normal
data going to a certain sector, is that good enough? If it is then hooray this
looks fine to me, I'm just slightly confused. Thanks,

Josef