[PATCH v2 0/2] f2fs: use iomap for direct I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series makes f2fs use the iomap direct I/O implementation instead
of the fs/direct-io.c one.  In order to do this, it adds f2fs_iomap_ops,
since this is the first use of iomap in f2fs.

The iomap direct I/O implementation is more efficient than
fs/direct-io.c.  Switching to iomap also avoids the need to add new
features and optimizations to the old implementation; e.g., see
https://lore.kernel.org/r/20200710053406.GA25530@xxxxxxxxxxxxx and
https://lore.kernel.org/r/YKJBWClI7sUeABDs@xxxxxxxxxxxxx.

Patch 1 adds f2fs_iomap_ops, and patch 2 switches direct I/O reads and
writes to iomap.

Careful review is appreciated, as I'm not an expert in all areas here.

This series applies to commit 0de0db9b033a of f2fs.git#dev
(https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/log/?h=dev).

Changed since v1:
   - Dropped the preparatory cleanups/fixes for f2fs_file_write_iter(),
     since they have been applied.
   - Merged the last three patches into one.
   - Implemented iomap_dio_ops::end_io() and switched to
     __iomap_dio_rw() to simplify updating of f2fs's in-flight DIO
     counters, as suggested by Christoph.

Eric Biggers (2):
  f2fs: implement iomap operations
  f2fs: use iomap for direct I/O

 fs/f2fs/Kconfig |   1 +
 fs/f2fs/data.c  | 260 +++++++++---------------------------
 fs/f2fs/f2fs.h  |  22 +--
 fs/f2fs/file.c  | 346 ++++++++++++++++++++++++++++++++++++++++++------
 4 files changed, 370 insertions(+), 259 deletions(-)


base-commit: 0de0db9b033af99f494c9ee4a2c9bac6456da1eb
-- 
2.32.0




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux