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 protected]>
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 protected]>
---
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
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 <[email protected]>
> 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 protected]>
> ---
> 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
Hi all,
On Fri, 10 May 2024 13:10:03 +1000 Stephen Rothwell <[email protected]> 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 <[email protected]>
> 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 protected]>
> ---
> 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