Re: [RFC PATCH V2 01/12] fs/stat: Define DAX statx attribute

From: Dan Williams
Date: Thu Jan 16 2020 - 01:25:59 EST


On Wed, Jan 15, 2020 at 10:18 PM Darrick J. Wong
<darrick.wong@xxxxxxxxxx> wrote:
>
> On Wed, Jan 15, 2020 at 10:05:00PM -0800, Dan Williams wrote:
> > On Wed, Jan 15, 2020 at 9:39 PM Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote:
> > [..]
> > > > attempts to minimize software cache effects for both I/O and
> > > > memory mappings of this file. It requires a file system which
> > > > has been configured to support DAX.
> > > >
> > > > DAX generally assumes all accesses are via cpu load / store
> > > > instructions which can minimize overhead for small accesses, but
> > > > may adversely affect cpu utilization for large transfers.
> > > >
> > > > File I/O is done directly to/from user-space buffers and memory
> > > > mapped I/O may be performed with direct memory mappings that
> > > > bypass kernel page cache.
> > > >
> > > > While the DAX property tends to result in data being transferred
> > > > synchronously, it does not give the same guarantees of
> > > > synchronous I/O where data and the necessary metadata are
> > > > transferred together.
> > >
> > > (I'm frankly not sure that synchronous I/O actually guarantees that the
> > > metadata has hit stable storage...)
> >
> > Oh? That text was motivated by the open(2) man page description of O_SYNC.
>
> Eh, that's just me being cynical about software. Yes, the O_SYNC docs
> say that data+metadata are supposed to happen; that's good enough for
> another section in the man pages. :)
>

Ah ok, yes, "all storage is a lie".