iomap: use a srcmap for a read-modify-write I/O
The srcmap is used to identify where the read is to be performed from. It is passed to ->iomap_begin, which can fill it in if we need to read data for partially written blocks from a different location than the write target. The srcmap is only supported for buffered writes so far. Signed-off-by:Goldwyn Rodrigues <rgoldwyn@suse.com> [hch: merged two patches, removed the IOMAP_F_COW flag, use iomap as srcmap if not set, adjust length down to srcmap end as well] Signed-off-by:
Christoph Hellwig <hch@lst.de> Reviewed-by:
Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by:
Darrick J. Wong <darrick.wong@oracle.com> Acked-by:
Goldwyn Rodrigues <rgoldwyn@suse.com>
Showing
- fs/dax.c 8 additions, 5 deletionsfs/dax.c
- fs/ext2/inode.c 1 addition, 1 deletionfs/ext2/inode.c
- fs/ext4/inode.c 1 addition, 1 deletionfs/ext4/inode.c
- fs/gfs2/bmap.c 2 additions, 1 deletionfs/gfs2/bmap.c
- fs/iomap/apply.c 19 additions, 6 deletionsfs/iomap/apply.c
- fs/iomap/buffered-io.c 35 additions, 30 deletionsfs/iomap/buffered-io.c
- fs/iomap/direct-io.c 1 addition, 1 deletionfs/iomap/direct-io.c
- fs/iomap/fiemap.c 2 additions, 2 deletionsfs/iomap/fiemap.c
- fs/iomap/seek.c 2 additions, 2 deletionsfs/iomap/seek.c
- fs/iomap/swapfile.c 2 additions, 1 deletionfs/iomap/swapfile.c
- fs/xfs/xfs_iomap.c 6 additions, 3 deletionsfs/xfs/xfs_iomap.c
- include/linux/iomap.h 3 additions, 2 deletionsinclude/linux/iomap.h
Loading
Please register or sign in to comment