]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - block/bio-integrity.c
bio-integrity: only verify integrity on the lowest stacked driver
[karo-tx-linux.git] / block / bio-integrity.c
index 0fd9604974da903089f7d5ac8f01ce876c097a08..9b1ea478577b033195f34b457c85ad16eb759c6a 100644 (file)
@@ -388,11 +388,10 @@ static void bio_integrity_verify_fn(struct work_struct *work)
 bool __bio_integrity_endio(struct bio *bio)
 {
        struct blk_integrity *bi = bdev_get_integrity(bio->bi_bdev);
+       struct bio_integrity_payload *bip = bio_integrity(bio);
 
        if (bio_op(bio) == REQ_OP_READ && !bio->bi_status &&
-           bi->profile->verify_fn) {
-               struct bio_integrity_payload *bip = bio_integrity(bio);
-
+           (bip->bip_flags & BIP_BLOCK_INTEGRITY) && bi->profile->verify_fn) {
                INIT_WORK(&bip->bip_work, bio_integrity_verify_fn);
                queue_work(kintegrityd_wq, &bip->bip_work);
                return false;