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

Stephen Rothwell posted 1 patch 1 year, 7 months ago
There is a newer version of this series
block/blk-zoned.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
linux-next: build failure after merge of the block tree
Posted by Stephen Rothwell 1 year, 7 months ago
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 <sfr@canb.auug.org.au>
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 <sfr@canb.auug.org.au>
---
 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
Re: linux-next: build failure after merge of the block tree
Posted by Stephen Rothwell 1 year, 7 months ago
Hi all,

On Fri, 10 May 2024 13:10:03 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> 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 <sfr@canb.auug.org.au>
> 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 <sfr@canb.auug.org.au>
> ---
>  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

This is now a semantic conflict between the vfs tree and Linus' tree.

-- 
Cheers,
Stephen Rothwell
Re: linux-next: build failure after merge of the block tree
Posted by Damien Le Moal 1 year, 7 months ago
On 5/10/24 12:10, Stephen Rothwell wrote:
> 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.

Looks good to me. Thanks Stephen !

> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> 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 <sfr@canb.auug.org.au>
> ---
>  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:

-- 
Damien Le Moal
Western Digital Research