]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
fs/ntfs3: implement iomap-based file operations
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Fri, 26 Dec 2025 13:45:19 +0000 (16:45 +0300)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Mon, 29 Dec 2025 13:33:32 +0000 (13:33 +0000)
commit099ef9ab9203dff327f2d61e44773f9acbc01f13
treeebb67aa87c285c3ff16dc1fd71444c28a7e656b2
parente37a75bb866c29da954b51d0dd7670406246d9ee
fs/ntfs3: implement iomap-based file operations

This patch modifies the ntfs3 driver by replacing the buffer_head-based
operations with the iomap ones.

Implementation details:
- Implements core iomap operations (ntfs_iomap_begin/end) for block mapping:
    Proper handling of resident attributes via IOMAP_INLINE.
    Support for sparse files through IOMAP_HOLE semantics.
    Correct unwritten extent handling for zeroing operations.
- Replaces custom implementations with standardized iomap helpers:
    Converts buffered reads to use iomap_read_folio and iomap_readahead.
    Implements iomap_file_buffered_write for write operations.
    Uses iomap_dio_rw for direct I/O paths.
    Migrates zero range operations to iomap_zero_range.
- Preserves special handling paths for compressed files
- Implements proper EOF/valid data size management during writes

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/attrib.c
fs/ntfs3/file.c
fs/ntfs3/frecord.c
fs/ntfs3/fslog.c
fs/ntfs3/fsntfs.c
fs/ntfs3/inode.c
fs/ntfs3/ntfs_fs.h
fs/ntfs3/super.c