summaryrefslogtreecommitdiffstats
path: root/block/bio.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-07-04 00:58:43 +0200
committerJens Axboe <axboe@kernel.dk>2017-07-04 01:00:59 +0200
commit7c20f11680a441df09de7235206f70115fbf6290 (patch)
tree90d50d07813a45cc1454b730a76a85a92a0cdd5a /block/bio.c
parentbio-integrity: Restore original iterator on verify stage (diff)
downloadlinux-7c20f11680a441df09de7235206f70115fbf6290.tar.xz
linux-7c20f11680a441df09de7235206f70115fbf6290.zip
bio-integrity: stop abusing bi_end_io
And instead call directly into the integrity code from bio_end_io. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bio.c')
-rw-r--r--block/bio.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/block/bio.c b/block/bio.c
index a6b225324a61..9cabf5d0be20 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -243,9 +243,6 @@ fallback:
void bio_uninit(struct bio *bio)
{
bio_disassociate_task(bio);
-
- if (bio_integrity(bio))
- bio_integrity_free(bio);
}
EXPORT_SYMBOL(bio_uninit);
@@ -1813,6 +1810,8 @@ void bio_endio(struct bio *bio)
again:
if (!bio_remaining_done(bio))
return;
+ if (!bio_integrity_endio(bio))
+ return;
/*
* Need to have a real endio function for chained bios, otherwise