Hi all, Today's linux-next merge of the gfs2 tree got a conflict in: include/linux/iomap.h between commit: d7b64041164c ("iomap: write iomap validity checks") from Linus' tree and commit: 2057bcfa562b ("iomap: Move page_done callback under the folio lock") from the gfs2 tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc include/linux/iomap.h index 0983dfc9a203,bd6d80453726..000000000000 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@@ -137,24 -127,7 +137,24 @@@ static inline bool iomap_inline_data_va struct iomap_page_ops { int (*page_prepare)(struct inode *inode, loff_t pos, unsigned len); void (*page_done)(struct inode *inode, loff_t pos, unsigned copied, - struct page *page); + struct folio *folio); + + /* + * Check that the cached iomap still maps correctly to the filesystem's + * internal extent map. FS internal extent maps can change while iomap + * is iterating a cached iomap, so this hook allows iomap to detect that + * the iomap needs to be refreshed during a long running write + * operation. + * + * The filesystem can store internal state (e.g. a sequence number) in + * iomap->validity_cookie when the iomap is first mapped to be able to + * detect changes between mapping time and whenever .iomap_valid() is + * called. + * + * This is called with the folio over the specified file position held + * locked by the iomap code. + */ + bool (*iomap_valid)(struct inode *inode, const struct iomap *iomap); }; /*