Commit ee7a491e authored by Milan Broz's avatar Milan Broz Committed by Alasdair G Kergon

dm crypt: tidy crypt_endio

Simplify crypt_endio function.
Signed-off-by: default avatarMilan Broz <mbroz@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent 5742fd77
...@@ -504,7 +504,7 @@ static void crypt_endio(struct bio *clone, int error) ...@@ -504,7 +504,7 @@ static void crypt_endio(struct bio *clone, int error)
{ {
struct dm_crypt_io *io = clone->bi_private; struct dm_crypt_io *io = clone->bi_private;
struct crypt_config *cc = io->target->private; struct crypt_config *cc = io->target->private;
unsigned read_io = bio_data_dir(clone) == READ; unsigned rw = bio_data_dir(clone);
if (unlikely(!bio_flagged(clone, BIO_UPTODATE) && !error)) if (unlikely(!bio_flagged(clone, BIO_UPTODATE) && !error))
error = -EIO; error = -EIO;
...@@ -512,20 +512,15 @@ static void crypt_endio(struct bio *clone, int error) ...@@ -512,20 +512,15 @@ static void crypt_endio(struct bio *clone, int error)
/* /*
* free the processed pages * free the processed pages
*/ */
if (!read_io) { if (rw == WRITE)
crypt_free_buffer_pages(cc, clone); crypt_free_buffer_pages(cc, clone);
goto out;
}
if (unlikely(error))
goto out;
bio_put(clone); bio_put(clone);
kcryptd_queue_crypt(io);
return;
out: if (rw == READ && !error) {
bio_put(clone); kcryptd_queue_crypt(io);
return;
}
if (unlikely(error)) if (unlikely(error))
io->error = error; io->error = error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment