On Mon, Jul 24, 2017 at 8:48 AM, Jan Kara <jack@xxxxxxx> wrote: > On Mon 24-07-17 08:10:05, Dan Williams wrote: >> On Mon, Jul 24, 2017 at 5:37 AM, Jan Kara <jack@xxxxxxx> wrote: [..] >> This approach would turn into a full fsync on the host. The question >> in my mind is whether there is any optimization to be had by trapping >> dax_flush() and calling msync() on host ranges, but Jan is right >> trapping blkdev_issue_flush() and turning around and calling host >> fsync() is the most straightforward approach that does not need driver >> interface changes. The dax_flush() approach would need to modify it >> into a async completion interface. > > If the backing device on the host is actually a normal block device or an > image file, doing full fsync() is the most efficient implementation > anyway... Ah, ok, great. That was the gap in my understanding.