Hi all, >From Christoph: This series cleans up the xfs writepage code and then lifts it to fs/iomap/ so that it could be use by other file systems. I've been wanting to [do] this for a while so that I could eventually convert gfs2 over to it, but I never got to it. Now Damien has a new zonefs file system for semi-raw access to zoned block devices that would like to use the iomap code instead of reinventing it, so I finally had to do the work. >From Darrick: For v4, split the series into smaller pieces. This third part converts XFS to use the iomap writeback code. Changes since v2: - rebased to v5.3-rc1 - folded in a few changes from the gfs2 enablement series Changes since v1: - rebased to the latest xfs for-next tree - keep the preallocated transactions for size updates - rename list_pop to list_pop_entry and related cleanups - better document the nofs context handling - document that the iomap tracepoints are not a stable API This series breaks up fs/iomap.c by grouping the functions by major functional area (swapfiles, fiemap, seek hole/data, directio, buffered io, and page migration) in separate source code files under fs/iomap/. No functional changes have been made. Please check the copyrights to make sure the attribution is correct. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This has been lightly tested with fstests. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git/log/?h=xfs-iomap-writeback