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 first part builds out the new iomap writeback infrastructure needed for gfs2 and zonedfs. The second part will refactor some of XFS's writeback code to use the new helpers introduced in the first part; and the 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 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=iomap-writeback