Commit b2943499 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Darrick J. Wong

xfs: set FMODE_CAN_ODIRECT instead of a dummy direct_IO method

Since commit a2ad63da ("VFS: add FMODE_CAN_ODIRECT file flag") file
systems can just set the FMODE_CAN_ODIRECT flag at open time instead of
wiring up a dummy direct_IO method to indicate support for direct I/O.
Do that for xfs so that noop_direct_IO can eventually be removed.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
parent 61d7e827
...@@ -582,7 +582,6 @@ const struct address_space_operations xfs_address_space_operations = { ...@@ -582,7 +582,6 @@ const struct address_space_operations xfs_address_space_operations = {
.release_folio = iomap_release_folio, .release_folio = iomap_release_folio,
.invalidate_folio = iomap_invalidate_folio, .invalidate_folio = iomap_invalidate_folio,
.bmap = xfs_vm_bmap, .bmap = xfs_vm_bmap,
.direct_IO = noop_direct_IO,
.migrate_folio = filemap_migrate_folio, .migrate_folio = filemap_migrate_folio,
.is_partially_uptodate = iomap_is_partially_uptodate, .is_partially_uptodate = iomap_is_partially_uptodate,
.error_remove_page = generic_error_remove_page, .error_remove_page = generic_error_remove_page,
...@@ -591,7 +590,6 @@ const struct address_space_operations xfs_address_space_operations = { ...@@ -591,7 +590,6 @@ const struct address_space_operations xfs_address_space_operations = {
const struct address_space_operations xfs_dax_aops = { const struct address_space_operations xfs_dax_aops = {
.writepages = xfs_dax_writepages, .writepages = xfs_dax_writepages,
.direct_IO = noop_direct_IO,
.dirty_folio = noop_dirty_folio, .dirty_folio = noop_dirty_folio,
.swap_activate = xfs_iomap_swapfile_activate, .swap_activate = xfs_iomap_swapfile_activate,
}; };
...@@ -1172,7 +1172,7 @@ xfs_file_open( ...@@ -1172,7 +1172,7 @@ xfs_file_open(
if (xfs_is_shutdown(XFS_M(inode->i_sb))) if (xfs_is_shutdown(XFS_M(inode->i_sb)))
return -EIO; return -EIO;
file->f_mode |= FMODE_NOWAIT | FMODE_BUF_RASYNC | FMODE_BUF_WASYNC | file->f_mode |= FMODE_NOWAIT | FMODE_BUF_RASYNC | FMODE_BUF_WASYNC |
FMODE_DIO_PARALLEL_WRITE; FMODE_DIO_PARALLEL_WRITE | FMODE_CAN_ODIRECT;
return generic_file_open(inode, file); return generic_file_open(inode, file);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment