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 second part refactors some of XFS's writeback code to use the new helpers introduced in the first part. 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. This has been lightly tested with fstests. Enjoy! Comments and questions are, as always, welcome. --D