Skip to content

Commit 3f00626

Browse files
Christoph Hellwigaxboe
authored andcommitted
block: prepare generation / verification helpers for fs usage
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]> Reviewed-by: Anuj Gupta <[email protected]> Reviewed-by: Kanchan Joshi <[email protected]> Reviewed-by: Martin K. Petersen <[email protected]> Reviewed-by: Darrick J. Wong <[email protected]> Tested-by: Anuj Gupta <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent 7afe939 commit 3f00626

3 files changed

Lines changed: 12 additions & 10 deletions

File tree

block/bio-integrity-auto.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ static void bio_integrity_verify_fn(struct work_struct *work)
3939
container_of(work, struct bio_integrity_data, work);
4040
struct bio *bio = bid->bio;
4141

42-
blk_integrity_verify_iter(bio, &bid->saved_bio_iter);
42+
bio->bi_status = bio_integrity_verify(bio, &bid->saved_bio_iter);
4343
bio_integrity_finish(bid);
4444
bio_endio(bio);
4545
}
@@ -100,7 +100,7 @@ void bio_integrity_prep(struct bio *bio, unsigned int action)
100100

101101
/* Auto-generate integrity metadata if this is a write */
102102
if (bio_data_dir(bio) == WRITE && bip_should_check(&bid->bip))
103-
blk_integrity_generate(bio);
103+
bio_integrity_generate(bio);
104104
else
105105
bid->saved_bio_iter = bio->bi_iter;
106106
}

block/blk.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -699,8 +699,10 @@ int bdev_open(struct block_device *bdev, blk_mode_t mode, void *holder,
699699
const struct blk_holder_ops *hops, struct file *bdev_file);
700700
int bdev_permission(dev_t dev, blk_mode_t mode, void *holder);
701701

702-
void blk_integrity_generate(struct bio *bio);
703-
void blk_integrity_verify_iter(struct bio *bio, struct bvec_iter *saved_iter);
702+
void bio_integrity_generate(struct bio *bio);
703+
blk_status_t bio_integrity_verify(struct bio *bio,
704+
struct bvec_iter *saved_iter);
705+
704706
void blk_integrity_prepare(struct request *rq);
705707
void blk_integrity_complete(struct request *rq, unsigned int nr_bytes);
706708

block/t10-pi.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ static void ext_pi_type1_complete(struct request *rq, unsigned int nr_bytes)
372372
}
373373
}
374374

375-
void blk_integrity_generate(struct bio *bio)
375+
void bio_integrity_generate(struct bio *bio)
376376
{
377377
struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk);
378378
struct bio_integrity_payload *bip = bio_integrity(bio);
@@ -404,7 +404,7 @@ void blk_integrity_generate(struct bio *bio)
404404
}
405405
}
406406

407-
void blk_integrity_verify_iter(struct bio *bio, struct bvec_iter *saved_iter)
407+
blk_status_t bio_integrity_verify(struct bio *bio, struct bvec_iter *saved_iter)
408408
{
409409
struct blk_integrity *bi = blk_get_integrity(bio->bi_bdev->bd_disk);
410410
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)
439439
}
440440
kunmap_local(kaddr);
441441

442-
if (ret) {
443-
bio->bi_status = ret;
444-
return;
445-
}
442+
if (ret)
443+
return ret;
446444
}
445+
446+
return BLK_STS_OK;
447447
}
448448

449449
void blk_integrity_prepare(struct request *rq)

0 commit comments

Comments
 (0)