On 2019/09/19 17:37, Darrick J. Wong wrote: > 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. OK. Will do, but traveling this week so I will not be able to test until next week. Thanks ! > > 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 > -- Damien Le Moal Western Digital Research