Subject: linux-next: build failure after merge of the block tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 10 May 2024 13:10:03 +1000

Hi all,

After merging the block tree, today's linux-next build (x86_64
allmodconfig) failed like this:

block/blk-zoned.c: In function 'blk_zone_write_plug_bio_endio':
block/blk-zoned.c:1260:25: error: 'struct block_device' has no member named 'bd_has_submit_bio'
 1260 |         if (bio->bi_bdev->bd_has_submit_bio)
      |                         ^~
block/blk-zoned.c: In function 'blk_zone_wplug_bio_work':
block/blk-zoned.c:1329:17: error: 'struct block_device' has no member named 'bd_has_submit_bio'
 1329 |         if (bdev->bd_has_submit_bio)
      |                 ^~

Caused by commit

  dd291d77cc90 ("block: Introduce zone write plugging")

interacting with commit

  ac2b6f9dee8f ("bdev: move ->bd_has_subit_bio to ->__bd_flags")

from the vfs tree.

I have applied the following merge resolution patch.

From: Stephen Rothwell <[email-masked]>
Date: Fri, 10 May 2024 12:59:09 +1000
Subject: [PATCH] fix up for "bdev: move ->bd_has_subit_bio to ->__bd_flags"

interacting with "block: Introduce zone write plugging".

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 block/blk-zoned.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 57d367ada1f2..03aa4eead39e 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -1257,7 +1257,7 @@ void blk_zone_write_plug_bio_endio(struct bio *bio)
 	 * is not called. So we need to schedule execution of the next
 	 * plugged BIO here.
 	 */
-	if (bio->bi_bdev->bd_has_submit_bio)
+	if (bdev_test_flag(bio->bi_bdev, BD_HAS_SUBMIT_BIO))
 		disk_zone_wplug_unplug_bio(disk, zwplug);
 
 	/* Drop the reference we took when entering this function. */
@@ -1326,7 +1326,7 @@ static void blk_zone_wplug_bio_work(struct work_struct *work)
 	 * path for BIO-based devices will not do that. So drop this extra
 	 * reference here.
 	 */
-	if (bdev->bd_has_submit_bio)
+	if (bdev_test_flag(bdev, BD_HAS_SUBMIT_BIO))
 		blk_queue_exit(bdev->bd_disk->queue);
 
 put_zwplug:
-- 
2.43.0

-- 
Cheers,
Stephen Rothwell