f2fs: set FMODE_CAN_ODIRECT instead of a dummy direct_IO method
authorChristoph Hellwig <hch@lst.de>
Mon, 12 Jun 2023 05:37:11 +0000 (07:37 +0200)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 26 Jun 2023 13:07:09 +0000 (06:07 -0700)
Since commit a2ad63daa88b ("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 f2fs so that noop_direct_IO can eventually be removed.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c
fs/f2fs/file.c

index 3fad7a2..5882afe 100644 (file)
@@ -4129,7 +4129,6 @@ const struct address_space_operations f2fs_dblock_aops = {
        .migrate_folio  = filemap_migrate_folio,
        .invalidate_folio = f2fs_invalidate_folio,
        .release_folio  = f2fs_release_folio,
-       .direct_IO      = noop_direct_IO,
        .bmap           = f2fs_bmap,
        .swap_activate  = f2fs_swap_activate,
        .swap_deactivate = f2fs_swap_deactivate,
index 23c68ee..b8a6267 100644 (file)
@@ -547,6 +547,7 @@ static int f2fs_file_open(struct inode *inode, struct file *filp)
                return err;
 
        filp->f_mode |= FMODE_NOWAIT | FMODE_BUF_RASYNC;
+       filp->f_mode |= FMODE_CAN_ODIRECT;
 
        return dquot_file_open(inode, filp);
 }