Subject: linux-next: manual merge of the block tree with the mm-stable tree

From: Mark Brown <[email-masked]>
Date: Mon, 1 Jun 2026 17:58:58 +0100

Hi all,

Today's linux-next merge of the block tree got a conflict in:

  mm/page_io.c

between commit:

  d590df11be0f1 ("mm/page_io: rename swap_iocb fields for clarity")

from the mm-stable tree and commit:

  ca36c1aaee095 ("block: Add bvec_folio()")

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 mm/page_io.c
index f2d8fe7fd0574,a59b73f8bdd9d..0000000000000
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@@ -499,8 -489,8 +499,8 @@@ static void sio_read_complete(struct ki
  	int p;
  
  	if (ret == sio->len) {
 -		for (p = 0; p < sio->pages; p++) {
 -			struct folio *folio = bvec_folio(&sio->bvec[p]);
 +		for (p = 0; p < sio->nr_bvecs; p++) {
- 			struct folio *folio = page_folio(sio->bvecs[p].bv_page);
++			struct folio *folio = bvec_folio(&sio->bvecs[p]);
  
  			count_mthp_stat(folio_order(folio), MTHP_STAT_SWPIN);
  			count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio));
@@@ -509,8 -499,8 +509,8 @@@
  		}
  		count_vm_events(PSWPIN, sio->len >> PAGE_SHIFT);
  	} else {
 -		for (p = 0; p < sio->pages; p++) {
 -			struct folio *folio = bvec_folio(&sio->bvec[p]);
 +		for (p = 0; p < sio->nr_bvecs; p++) {
- 			struct folio *folio = page_folio(sio->bvecs[p].bv_page);
++			struct folio *folio = bvec_folio(&sio->bvecs[p]);
  
  			folio_unlock(folio);
  		}