xfs: set FMODE_CAN_ODIRECT instead of a dummy direct_IO method
Since commit a2ad63daa8
("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: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
parent
61d7e8274c
commit
b294349993
2 changed files with 1 additions and 3 deletions
|
@ -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 = {
|
||||||
|
|
||||||
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(
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue