On Wed, Jan 21, 2026 at 07:43:12AM +0100, Christoph Hellwig wrote:
> Return the status from verify instead of directly stashing it in the bio,
> and rename the helpers to use the usual bio_ prefix for things operating
> on a bio.
> 
> Signed-off-by: Christoph Hellwig <[email protected]>

LGTM,
Reviewed-by: "Darrick J. Wong" <[email protected]>

--D

> ---
>  block/bio-integrity-auto.c |  4 ++--
>  block/blk.h                |  6 ++++--
>  block/t10-pi.c             | 12 ++++++------
>  3 files changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/block/bio-integrity-auto.c b/block/bio-integrity-auto.c
> index 5345d55b9998..f68a17a8dbc2 100644
> --- a/block/bio-integrity-auto.c
> +++ b/block/bio-integrity-auto.c
> @@ -39,7 +39,7 @@ static void bio_integrity_verify_fn(struct work_struct 
> *work)
>               container_of(work, struct bio_integrity_data, work);
>       struct bio *bio = bid->bio;
>  
> -     blk_integrity_verify_iter(bio, &bid->saved_bio_iter);
> +     bio->bi_status = bio_integrity_verify(bio, &bid->saved_bio_iter);
>       bio_integrity_finish(bid);
>       bio_endio(bio);
>  }
> @@ -100,7 +100,7 @@ void bio_integrity_prep(struct bio *bio, unsigned int 
> action)
>  
>       /* Auto-generate integrity metadata if this is a write */
>       if (bio_data_dir(bio) == WRITE && bip_should_check(&bid->bip))
> -             blk_integrity_generate(bio);
> +             bio_integrity_generate(bio);
>       else
>               bid->saved_bio_iter = bio->bi_iter;
>  }
> diff --git a/block/blk.h b/block/blk.h
> index 886238cae5f1..d222ce4b6dfc 100644
> --- a/block/blk.h
> +++ b/block/blk.h
> @@ -695,8 +695,10 @@ int bdev_open(struct block_device *bdev, blk_mode_t 
> mode, void *holder,
>             const struct blk_holder_ops *hops, struct file *bdev_file);
>  int bdev_permission(dev_t dev, blk_mode_t mode, void *holder);
>  
> -void blk_integrity_generate(struct bio *bio);
> -void blk_integrity_verify_iter(struct bio *bio, struct bvec_iter 
> *saved_iter);
> +void bio_integrity_generate(struct bio *bio);
> +blk_status_t bio_integrity_verify(struct bio *bio,
> +             struct bvec_iter *saved_iter);
> +
>  void blk_integrity_prepare(struct request *rq);
>  void blk_integrity_complete(struct request *rq, unsigned int nr_bytes);
>  
> diff --git a/block/t10-pi.c b/block/t10-pi.c
> index 0c4ed9702146..d27be6041fd3 100644
> --- a/block/t10-pi.c
> +++ b/block/t10-pi.c
> @@ -372,7 +372,7 @@ static void ext_pi_type1_complete(struct request *rq, 
> unsigned int nr_bytes)
>       }
>  }
>  
> -void blk_integrity_generate(struct bio *bio)
> +void bio_integrity_generate(struct bio *bio)
>  {
>       struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk);
>       struct bio_integrity_payload *bip = bio_integrity(bio);
> @@ -404,7 +404,7 @@ void blk_integrity_generate(struct bio *bio)
>       }
>  }
>  
> -void blk_integrity_verify_iter(struct bio *bio, struct bvec_iter *saved_iter)
> +blk_status_t bio_integrity_verify(struct bio *bio, struct bvec_iter 
> *saved_iter)
>  {
>       struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk);
>       struct bio_integrity_payload *bip = bio_integrity(bio);
> @@ -439,11 +439,11 @@ void blk_integrity_verify_iter(struct bio *bio, struct 
> bvec_iter *saved_iter)
>               }
>               kunmap_local(kaddr);
>  
> -             if (ret) {
> -                     bio->bi_status = ret;
> -                     return;
> -             }
> +             if (ret)
> +                     return ret;
>       }
> +
> +     return BLK_STS_OK;
>  }
>  
>  void blk_integrity_prepare(struct request *rq)
> -- 
> 2.47.3
> 
> 

Reply via email to