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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 15 Jul 2022 13:25:35 +1000

Hi all,

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

  fs/btrfs/compression.c
  fs/btrfs/extent_io.c
  fs/btrfs/raid56.c

between commits:

  7c16aa15d58b ("btrfs: simplify the pending I/O counting in struct compressed_bio")
  50d003d4254c ("btrfs: centralize setting REQ_META")
  9fab7af28df7 ("btrfs: raid56: use fixed stripe length everywhere")

from the btrfs tree and commit:

  bf9486d6dd23 ("fs/btrfs: Use the enum req_op and blk_opf_t types")

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.

-- 
Cheers,
Stephen Rothwell

diff --cc fs/btrfs/compression.c
index b6fb8b0682ba,a82b9f17f476..000000000000
--- a/fs/btrfs/compression.c
+++ b/fs/btrfs/compression.c
@@@ -394,10 -514,10 +394,10 @@@ blk_status_t btrfs_submit_compressed_wr
  	struct compressed_bio *cb;
  	u64 cur_disk_bytenr = disk_start;
  	u64 next_stripe_start;
 -	blk_status_t ret;
  	int skip_sum = inode->flags & BTRFS_INODE_NODATASUM;
  	const bool use_append = btrfs_use_zone_append(inode, disk_start);
- 	const unsigned int bio_op = use_append ? REQ_OP_ZONE_APPEND : REQ_OP_WRITE;
+ 	const enum req_op bio_op = use_append ? REQ_OP_ZONE_APPEND : REQ_OP_WRITE;
 +	blk_status_t ret = BLK_STS_OK;
  
  	ASSERT(IS_ALIGNED(start, fs_info->sectorsize) &&
  	       IS_ALIGNED(len, fs_info->sectorsize));
diff --cc fs/btrfs/extent_io.c
index db95de608ce3,60a20df353e7..000000000000
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@@ -4531,7 -4575,7 +4531,7 @@@ static int write_one_subpage_eb(struct 
  {
  	struct btrfs_fs_info *fs_info = eb->fs_info;
  	struct page *page = eb->pages[0];
- 	unsigned int write_flags = wbc_to_write_flags(wbc);
 -	blk_opf_t write_flags = wbc_to_write_flags(wbc) | REQ_META;
++	blk_opf_t write_flags = wbc_to_write_flags(wbc);
  	bool no_dirty_ebs = false;
  	int ret;
  
@@@ -4576,7 -4620,7 +4576,7 @@@ static noinline_for_stack int write_one
  {
  	u64 disk_bytenr = eb->start;
  	int i, num_pages;
- 	unsigned int write_flags = wbc_to_write_flags(wbc);
 -	blk_opf_t write_flags = wbc_to_write_flags(wbc) | REQ_META;
++	blk_opf_t write_flags = wbc_to_write_flags(wbc);
  	int ret = 0;
  
  	prepare_eb_write(eb);
diff --cc fs/btrfs/raid56.c
index 1afe32d5ab01,c520412d1f86..000000000000
--- a/fs/btrfs/raid56.c
+++ b/fs/btrfs/raid56.c
@@@ -1018,7 -1135,8 +1018,7 @@@ static int rbio_add_io_sector(struct bt
  			      struct sector_ptr *sector,
  			      unsigned int stripe_nr,
  			      unsigned int sector_nr,
- 			      unsigned int opf)
 -			      unsigned long bio_max_len,
+ 			      enum req_op op)
  {
  	const u32 sectorsize = rbio->bioc->fs_info->sectorsize;
  	struct bio *last = bio_list->tail;
@@@ -1062,9 -1180,8 +1062,9 @@@
  	}
  
  	/* put a new bio on the list */
 -	bio = bio_alloc(stripe->dev->bdev, max(bio_max_len >> PAGE_SHIFT, 1UL),
 +	bio = bio_alloc(stripe->dev->bdev,
 +			max(BTRFS_STRIPE_LEN >> PAGE_SHIFT, 1),
- 			opf, GFP_NOFS);
+ 			op, GFP_NOFS);
  	bio->bi_iter.bi_sector = disk_start >> 9;
  	bio->bi_private = rbio;