summaryrefslogtreecommitdiffstats
path: root/block/bio.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-07-03 16:58:43 -0600
committerJens Axboe <axboe@kernel.dk>2017-07-03 17:00:59 -0600
commit7c20f11680a441df09de7235206f70115fbf6290 (patch)
tree90d50d07813a45cc1454b730a76a85a92a0cdd5a /block/bio.c
parent63573e359d052e506d305c263576499f06355985 (diff)
downloadlinux-7c20f11680a441df09de7235206f70115fbf6290.tar.gz
linux-7c20f11680a441df09de7235206f70115fbf6290.tar.bz2
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