diff options
| author | Viacheslav Dubeyko <slava@dubeyko.com> | 2026-08-12 15:11:54 -0700 |
|---|---|---|
| committer | Viacheslav Dubeyko <slava@dubeyko.com> | 2026-09-21 11:40:24 -0700 |
| commit | 081653dbead3aa92f9f3bf303ed9c71b35484c85 (patch) | |
| tree | 80037064638ab75681b90cf92e614ff788603533 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 89eebc9b5f476f47a03a2313f8f21b222e0208fe (diff) | |
| download | linux-081653dbead3aa92f9f3bf303ed9c71b35484c85.tar.gz linux-081653dbead3aa92f9f3bf303ed9c71b35484c85.zip | |
nilfs2: switch O_DIRECT to iomap based operations
The patch eliminates blockdev_direct_IO() from
nilfs2 entirely:
- nilfs_file_open() now sets FMODE_CAN_ODIRECT explicitly, since
permission to open the file O_DIRECT was previously implied by
aops->direct_IO being non-NULL.
- nilfs_file_read_iter() dispatches O_DIRECT reads to iomap_dio_rw()
using nilfs_iomap_ops; everything else still goes through
generic_file_read_iter() as before.
- nilfs_file_write_iter() strips IOCB_DIRECT and falls through to
generic_file_write_iter()'s ordinary buffered path. NILFS2 cannot
perform true direct I/O writes: new blocks are delay-allocated and
only given a real disk address by the segment constructor, which
works on buffer_head lists, not iomap. This reproduces today's
actual behavior: the old nilfs_direct_IO() already just returned 0
for WRITE.
- nilfs_direct_IO() and the .direct_IO callback on nilfs_aops are
removed.
- drop the unnecessary "select LEGACY_DIRECT_IO" from Kconfig
in favor of "select FS_IOMAP".
cc: Christoph Hellwig <hch@lst.de>
cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
cc: linux-nilfs@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Viacheslav Dubeyko <slava@dubeyko.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
