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

Damien Le Moal
2024-05-10T07:22:26Z

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