Hi folks, The iomap-for-next branch of the xfs-linux repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git has just been updated. Patches often get missed, so please check if your outstanding patches were in this update. If they have not been in this update, please resubmit them to linux-xfs@xxxxxxxxxxxxxxx so they can be picked up in the next update. The branch now contains three major API changes for 5.5: Jan's explicit synchronous iomap_dio_rw parameter; Christoph's porting of the xfs writeback implementation to iomap; and Goldwyn/Christoph's addition of srcmap support to iomap_begin for COW staging. I think this is it for 5.5, modulo any bug fixes anyone wants to submit. If anyone sees anything bad enough to warrant a push -f, please scream quickly, otherwise I'll consider this branch a stable working branch on 22 Oct 2019 at 00:00 UTC. (Extra time because I'm sending this late on a Friday afternoon.) The new head of the iomap-for-next branch is commit: b7b293bdaaf4 iomap: use a srcmap for a read-modify-write I/O New Commits: Christoph Hellwig (20): [5d816b81d09d] xfs: initialize iomap->flags in xfs_bmbt_to_iomap [34c8fe914a5c] xfs: set IOMAP_F_NEW more carefully [17950b4e5396] xfs: use a struct iomap in xfs_writepage_ctx [207e86dd487d] xfs: refactor the ioend merging code [be0bbd4c6859] xfs: turn io_append_trans into an io_private void pointer [b931cda62c8c] xfs: remove the fork fields in the writepage_ctx and ioend [786717533e97] iomap: zero newly allocated mapped blocks [f9208606ee98] iomap: lift common tracing code from xfs to iomap [21ae4d097bb2] iomap: lift the xfs writeback code to iomap [f0c130fd34f2] iomap: warn on inline maps in iomap_writepage_map [4e29ff8b6f00] iomap: move struct iomap_page out of iomap.h [e09ffca48f47] iomap: cleanup iomap_ioend_compare [1ccb2c4a5415] iomap: pass a struct page to iomap_finish_page_writeback [b28d0615b4ec] iomap: better document the IOMAP_F_* flags [f47fd1f1f5bd] iomap: remove the unused iomap argument to __iomap_write_end [0d84ea778c24] iomap: always use AOP_FLAG_NOFS in iomap_write_begin [213c6dfea828] iomap: ignore non-shared or non-data blocks in xfs_file_dirty [1c979fce8c91] iomap: move the zeroing case out of iomap_read_page_sync [c47007977d2e] iomap: use write_begin to read pages to unshare [37370b729fbd] iomap: renumber IOMAP_HOLE to 0 Darrick J. Wong (1): [a936fb253791] iomap: enhance writeback error message Dave Chinner (1): [8a23414ee345] iomap: iomap that extends beyond EOF should be marked dirty Goldwyn Rodrigues (1): [b7b293bdaaf4] iomap: use a srcmap for a read-modify-write I/O Jan Kara (2): [13ef954445df] iomap: Allow forcing of waiting for running DIO in iomap_dio_rw() [906753befc4d] xfs: Use iomap_dio_rw to wait for unaligned direct IO Code Diffstat: fs/dax.c | 13 +- fs/ext2/inode.c | 2 +- fs/ext4/inode.c | 2 +- fs/gfs2/bmap.c | 3 +- fs/gfs2/file.c | 6 +- fs/iomap/Makefile | 16 +- fs/iomap/apply.c | 25 +- fs/iomap/buffered-io.c | 749 ++++++++++++++++++++++++++++++++++++++++------ fs/iomap/direct-io.c | 9 +- fs/iomap/fiemap.c | 4 +- fs/iomap/seek.c | 4 +- fs/iomap/swapfile.c | 3 +- fs/iomap/trace.c | 12 + fs/iomap/trace.h | 88 ++++++ fs/xfs/libxfs/xfs_bmap.c | 14 +- fs/xfs/libxfs/xfs_bmap.h | 3 +- fs/xfs/xfs_aops.c | 754 ++++++++--------------------------------------- fs/xfs/xfs_aops.h | 17 -- fs/xfs/xfs_file.c | 13 +- fs/xfs/xfs_iomap.c | 51 +++- fs/xfs/xfs_iomap.h | 2 +- fs/xfs/xfs_pnfs.c | 2 +- fs/xfs/xfs_reflink.c | 2 +- fs/xfs/xfs_super.c | 11 +- fs/xfs/xfs_trace.h | 65 ---- include/linux/iomap.h | 129 +++++--- 26 files changed, 1085 insertions(+), 914 deletions(-) create mode 100644 fs/iomap/trace.c create mode 100644 fs/iomap/trace.h