mbox series

[GIT,PULL] vfs: improve DAX behavior for 5.8, part 1

Message ID 20200602165852.GB8230@magnolia
State Not Applicable
Headers show
Series [GIT,PULL] vfs: improve DAX behavior for 5.8, part 1 | expand

Pull-request

git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-5.8-merge-1

Message

Darrick J. Wong June 2, 2020, 4:58 p.m. UTC
Hi Linus,

After many years of LKML-wrangling about how to enable programs to query
and influence the file data access mode (DAX) when a filesystem resides
on storage devices such as persistent memory, Ira Weiny has emerged with
a proposed set of standard behaviors that has not been shot down by
anyone!  We're more or less standardizing on the current XFS behavior
and adapting ext4 to do the same.

This pull request is the first of a handful that will make ext4 and XFS
present a consistent interface for user programs that care about DAX.
We add a statx attribute that programs can check to see if DAX is
enabled on a particular file.  Then, we update the DAX documentation to
spell out the user-visible behaviors that filesystems will guarantee
(until the next storage industry shakeup).  The on-disk inode flag has
been in XFS for a few years now.

Note that Stephen Rothwell reported a minor merge conflict[1] between
the first cleanup patch and a different change in the block layer.  The
resolution looks pretty straightforward, but let me know if you
encounter problems.

--D

[1] https://lore.kernel.org/linux-next/20200522145848.38cdcf54@canb.auug.org.au/

The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd:

  Linux 5.7-rc4 (2020-05-03 14:56:04 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-5.8-merge-1

for you to fetch changes up to 83d9088659e8f113741bb197324bd9554d159657:

  Documentation/dax: Update Usage section (2020-05-04 08:49:39 -0700)

----------------------------------------------------------------
New code for 5.8:
- Clean up io_is_direct.
- Add a new statx flag to indicate when file data access is being done
  via DAX (as opposed to the page cache).
- Update the documentation for how system administrators and application
  programmers can take advantage of the (still experimental DAX) feature.

----------------------------------------------------------------
Ira Weiny (3):
      fs: Remove unneeded IS_DAX() check in io_is_direct()
      fs/stat: Define DAX statx attribute
      Documentation/dax: Update Usage section

 Documentation/filesystems/dax.txt | 142 +++++++++++++++++++++++++++++++++++++-
 drivers/block/loop.c              |   6 +-
 fs/stat.c                         |   3 +
 include/linux/fs.h                |   7 +-
 include/uapi/linux/stat.h         |   1 +
 5 files changed, 147 insertions(+), 12 deletions(-)

Comments

Ira Weiny June 2, 2020, 11:53 p.m. UTC | #1
On Tue, Jun 02, 2020 at 09:58:52AM -0700, Darrick J. Wong wrote:
> Hi Linus,
> 
> After many years of LKML-wrangling about how to enable programs to query
> and influence the file data access mode (DAX) when a filesystem resides
> on storage devices such as persistent memory, Ira Weiny has emerged with
> a proposed set of standard behaviors that has not been shot down by
> anyone!  We're more or less standardizing on the current XFS behavior
> and adapting ext4 to do the same.

Also, for those interested: The corresponding man page change mentioned in the
commit has been submitted here:

https://lore.kernel.org/lkml/20200505002016.1085071-1-ira.weiny@intel.com/

Ira

> 
> This pull request is the first of a handful that will make ext4 and XFS
> present a consistent interface for user programs that care about DAX.
> We add a statx attribute that programs can check to see if DAX is
> enabled on a particular file.  Then, we update the DAX documentation to
> spell out the user-visible behaviors that filesystems will guarantee
> (until the next storage industry shakeup).  The on-disk inode flag has
> been in XFS for a few years now.
> 
> Note that Stephen Rothwell reported a minor merge conflict[1] between
> the first cleanup patch and a different change in the block layer.  The
> resolution looks pretty straightforward, but let me know if you
> encounter problems.
> 
> --D
> 
> [1] https://lore.kernel.org/linux-next/20200522145848.38cdcf54@canb.auug.org.au/
> 
> The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd:
> 
>   Linux 5.7-rc4 (2020-05-03 14:56:04 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-5.8-merge-1
> 
> for you to fetch changes up to 83d9088659e8f113741bb197324bd9554d159657:
> 
>   Documentation/dax: Update Usage section (2020-05-04 08:49:39 -0700)
> 
> ----------------------------------------------------------------
> New code for 5.8:
> - Clean up io_is_direct.
> - Add a new statx flag to indicate when file data access is being done
>   via DAX (as opposed to the page cache).
> - Update the documentation for how system administrators and application
>   programmers can take advantage of the (still experimental DAX) feature.
> 
> ----------------------------------------------------------------
> Ira Weiny (3):
>       fs: Remove unneeded IS_DAX() check in io_is_direct()
>       fs/stat: Define DAX statx attribute
>       Documentation/dax: Update Usage section
> 
>  Documentation/filesystems/dax.txt | 142 +++++++++++++++++++++++++++++++++++++-
>  drivers/block/loop.c              |   6 +-
>  fs/stat.c                         |   3 +
>  include/linux/fs.h                |   7 +-
>  include/uapi/linux/stat.h         |   1 +
>  5 files changed, 147 insertions(+), 12 deletions(-)
pr-tracker-bot@kernel.org June 3, 2020, 3:50 a.m. UTC | #2
The pull request you sent on Tue, 2 Jun 2020 09:58:52 -0700:

> git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-5.8-merge-1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/dae2f8ed7992e88c8d62c54e8295ffc8475b4a80

Thank you!