fs: Lift XFS_IDONTCACHE to the VFS layer
authorIra Weiny <ira.weiny@intel.com>
Thu, 30 Apr 2020 14:41:37 +0000 (07:41 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 13 May 2020 15:44:35 +0000 (08:44 -0700)
commitdae2f8ed7992e88c8d62c54e8295ffc8475b4a80
tree7d199574fcae172238c4312e8b98feb9cfe2e138
parent83d9088659e8f113741bb197324bd9554d159657
fs: Lift XFS_IDONTCACHE to the VFS layer

DAX effective mode (S_DAX) changes requires inode eviction.

XFS has an advisory flag (XFS_IDONTCACHE) to prevent caching of the
inode if no other additional references are taken.  We lift this flag to
the VFS layer and change the behavior slightly by allowing the flag to
remain even if multiple references are taken.

This will expedite the eviction of inodes to change S_DAX.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_icache.c
fs/xfs/xfs_inode.h
fs/xfs/xfs_super.c
include/linux/fs.h