Hi all, Today's linux-next merge of the block tree got a conflict in: include/linux/uio.h between commit: 58194689921d8 ("iov_iter: Remove ITER_FOLIOQ") from the vfs-brauner tree and commit: f41f84796a112 ("iov_iter: add iterator type for dmabuf maps") from the block 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. diff --cc include/linux/uio.h index 8d82a8258ef11,638c1116e912e..0000000000000 --- a/include/linux/uio.h +++ b/include/linux/uio.h @@@ -11,6 -11,8 +11,7 @@@ #include struct page; -struct folio_queue; + struct dma_buf_io_map; typedef unsigned int __bitwise iov_iter_extraction_t; @@@ -25,9 -27,10 +26,10 @@@ enum iter_type ITER_IOVEC, ITER_BVEC, ITER_KVEC, - ITER_FOLIOQ, + ITER_BVECQ, ITER_XARRAY, ITER_DISCARD, + ITER_DMABUF_MAP, }; #define ITER_SOURCE 1 // == WRITE @@@ -67,9 -70,10 +69,10 @@@ struct iov_iter const struct iovec *__iov; const struct kvec *kvec; const struct bio_vec *bvec; - const struct folio_queue *folioq; + const struct bvecq *bvecq; struct xarray *xarray; void __user *ubuf; + struct dma_buf_io_map *dmabuf_map; }; size_t count; }; @@@ -294,11 -303,14 +302,14 @@@ void iov_iter_kvec(struct iov_iter *i, void iov_iter_bvec(struct iov_iter *i, unsigned int direction, const struct bio_vec *bvec, unsigned long nr_segs, size_t count); void iov_iter_discard(struct iov_iter *i, unsigned int direction, size_t count); -void iov_iter_folio_queue(struct iov_iter *i, unsigned int direction, - const struct folio_queue *folioq, - unsigned int first_slot, unsigned int offset, size_t count); +void iov_iter_bvec_queue(struct iov_iter *i, unsigned int direction, + const struct bvecq *bvecq, + unsigned int first_slot, unsigned int offset, size_t count); void iov_iter_xarray(struct iov_iter *i, unsigned int direction, struct xarray *xarray, loff_t start, size_t count); + void iov_iter_dmabuf_map(struct iov_iter *i, unsigned int direction, + struct dma_buf_io_map *map, + loff_t off, size_t count); ssize_t iov_iter_get_pages2(struct iov_iter *i, struct page **pages, size_t maxsize, unsigned maxpages, size_t *start); ssize_t iov_iter_get_pages_alloc2(struct iov_iter *i, struct page ***pages,