On Sat, 27 Jul 2019 at 01:38, Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote: > On Mon, Jul 23, 2019 at 11:50:12AM +0200, Christoph Hellwig wrote: > > Hi all, > > > > this series cleans up the xfs writepage code and then lifts it to > > fs/iomap.c so that it could be use by other file system. I've been > > wanting to 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. > > Hmm... I don't like how there are xfs changes mixed in with the iomap > changes, because were I to take this series as-is then I'd have to > commit both to adding iomap writeback code /and/ converting xfs at the > same time. > > I think I'd be more comfortable creating a branch to merge the changes > to list.h and fs/iomap/, and then gfs2/zonefs/xfs can sprout their own > branches from there to do whatever conversions are necessary. > > To me what that means is splitting patch 7 into 7a which does the iomap > changes and 7b which does the xfs changes. To get there, I'd create a > iomap-writeback branch containing: > > 1 7a 8 9 10 11 12 > > and then a new xfs-iomap-writeback branch containing: > > 2 4 7b > > This eliminates the need for patches 3, 5, and 6, though the cost is > that it's less clear from the history that we did some reorganizing of > the xfs writeback code and then moved it over to iomap. OTOH, I also > see this as a way to lower risk because if some patch in the > xfs-iomap-writeback branch shakes loose a bug that doesn't affect gfs2 > or zonedfs we don't have to hold them up. > > I'll try to restructure this series along those lines and report back > how it went. Keeping the infrastructure changes in separate commits would certainly make the patches easier to work with for me. Keeping the commits interleaved should be fine though: patch "iomap: zero newly allocated mapped blocks" depends on "xfs: set IOMAP_F_NEW more carefully", so a pure infrastructure branch without "xfs: set IOMAP_F_NEW more carefully" probably wouldn't be correct. Thanks, Andreas