[GIT PULL] vfs: improve DAX behavior for 5.8, part 2
From: Darrick J. Wong
Date: Tue Jun 02 2020 - 13:25:53 EST
Hi Linus,
Please pull this second part of the 5.8 DAX changes. This time around,
we're hoisting the DONTCACHE flag from XFS into the VFS so that we can
make the incore DAX mode changes become effective sooner.
We can't change the file data access mode on a live inode because we
don't have a safe way to change the file ops pointers. The incore state
change becomes effective at inode loading time, which can happen if the
inode is evicted. Therefore, we're making it so that filesystems can
ask the VFS to evict the inode as soon as the last holder drops. The
per-fs changes to make this call this will be in subsequent pull
requests from Ted and myself.
I did a test merge of this branch against upstream this morning and
there weren't any conflicts. Please let us know if you have any
complaints about pulling this.
--D
The following changes since commit 83d9088659e8f113741bb197324bd9554d159657:
Documentation/dax: Update Usage section (2020-05-04 08:49:39 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-5.8-merge-2
for you to fetch changes up to 2c567af418e3f9380c2051aada58b4e5a4b5c2ad:
fs: Introduce DCACHE_DONTCACHE (2020-05-13 08:44:35 -0700)
----------------------------------------------------------------
(More) new code for 5.8:
- Introduce DONTCACHE flags for dentries and inodes. This hint will
cause the VFS to drop the associated objects immediately after the
last put, so that we can change the file access mode (DAX or page
cache) on the fly.
----------------------------------------------------------------
Ira Weiny (2):
fs: Lift XFS_IDONTCACHE to the VFS layer
fs: Introduce DCACHE_DONTCACHE
fs/dcache.c | 19 +++++++++++++++++++
fs/xfs/xfs_icache.c | 4 ++--
fs/xfs/xfs_inode.h | 3 +--
fs/xfs/xfs_super.c | 2 +-
include/linux/dcache.h | 2 ++
include/linux/fs.h | 7 ++++++-
6 files changed, 31 insertions(+), 6 deletions(-)