Hi folks, The iomap-5.4-merge branch of the xfs-linux repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git has just been updated. This is a rebase to remove the list_pop bits that killed the previous pull request. I removed patches 1 and 9 from the branch and made the following modifications to patch #2: diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 051b8ec326ba..558d09bc5024 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -1156,10 +1156,11 @@ void iomap_finish_ioends(struct iomap_ioend *ioend, int error) { struct list_head tmp; + struct iomap_ioend *next; list_replace_init(&ioend->io_list, &tmp); iomap_finish_ioend(ioend, error); - while ((ioend = list_pop_entry(&tmp, struct iomap_ioend, io_list))) + list_for_each_entry_safe(ioend, next, &tmp, io_list) iomap_finish_ioend(ioend, error); } EXPORT_SYMBOL_GPL(iomap_finish_ioends); I'm not thrilled to be rebasing a work branch in the middle of the merge window, but I think the changes are simple enough that we might be able to try again next week. Damien, if you have the time can you please rebase zonefs atop this and make sure buffered writing to a conventional zone still works? It should, since the _finish_ioends loop is identical between iomap and xfs. The new head of the iomap-5.4-merge branch is commit: 1b4fdf4f30db iomap: move the iomap_dio_rw ->end_io callback into a structure New Commits: Andreas Gruenbacher (1): [be942954d7ad] iomap: Fix trivial typo Christoph Hellwig (7): [9544e58e466f] iomap: copy the xfs writeback code to iomap.c [668931192d9d] iomap: add tracing for the address space operations [ca6de3a5b6f4] iomap: warn on inline maps in iomap_writepage_map [4df389276768] xfs: set IOMAP_F_NEW more carefully [5f1f62a3f64c] iomap: zero newly allocated mapped blocks [0b98e70d9586] xfs: initialize iomap->flags in xfs_bmbt_to_iomap [1b4fdf4f30db] iomap: move the iomap_dio_rw ->end_io callback into a structure Matthew Bobrowski (1): [da078883a85d] iomap: split size and error for iomap_dio_rw ->end_io Randy Dunlap (1): [239b92845737] tracing: fix iomap.h build warnings Code Diffstat: fs/iomap/buffered-io.c | 576 ++++++++++++++++++++++++++++++++++++++++++- fs/iomap/direct-io.c | 24 +- fs/xfs/xfs_file.c | 14 +- fs/xfs/xfs_iomap.c | 35 ++- fs/xfs/xfs_iomap.h | 2 +- fs/xfs/xfs_pnfs.c | 2 +- include/linux/iomap.h | 53 +++- include/trace/events/iomap.h | 87 +++++++ 8 files changed, 754 insertions(+), 39 deletions(-) create mode 100644 include/trace/events/iomap.h