From 7ad599af2a5622b3806d15ed9701c25744ddbc8f Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Thu, 13 Dec 2007 14:15:51 +0000 Subject: [PATCH] --- yaml --- r: 75103 b: refs/heads/master c: adfe47702c4726b3e045f9f83178def02833be4c h: refs/heads/master i: 75101: 37ba5e3dd6c1bbe46bf226559d7d108b7ae5d41f 75099: 2d1633cd7b0e97a9363dea3d09d55879ccee5ace 75095: 3798e57ba03ac9854746c689b281ab3356426400 75087: c5fab569df50222a7d73496a4e22177d052999a7 75071: bb3ee8ae3dc87c1bfe420058bc3e9145a0ab2899 v: v3 --- [refs] | 2 +- trunk/drivers/md/dm-crypt.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 22ce02d46038..a6de917a2c34 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1622e89099b7cdda20d95a68940067bdddda03c +refs/heads/master: adfe47702c4726b3e045f9f83178def02833be4c diff --git a/trunk/drivers/md/dm-crypt.c b/trunk/drivers/md/dm-crypt.c index 28c6ae095c56..30d51a0c0116 100644 --- a/trunk/drivers/md/dm-crypt.c +++ b/trunk/drivers/md/dm-crypt.c @@ -511,6 +511,9 @@ static void crypt_endio(struct bio *clone, int error) struct crypt_config *cc = io->target->private; unsigned read_io = bio_data_dir(clone) == READ; + if (unlikely(!bio_flagged(clone, BIO_UPTODATE) && !error)) + error = -EIO; + /* * free the processed pages */ @@ -519,10 +522,8 @@ static void crypt_endio(struct bio *clone, int error) goto out; } - if (unlikely(!bio_flagged(clone, BIO_UPTODATE))) { - error = -EIO; + if (unlikely(error)) goto out; - } bio_put(clone); kcryptd_queue_crypt(io);