linux-next: manual merge of the gfs2 tree with Linus' tree

From: Stephen Rothwell
Date: Wed Dec 14 2022 - 16:36:15 EST


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);
};

/*

Attachment: pgpvv_42wg_sA.pgp
Description: OpenPGP digital signature