Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -504,7 +504,7 @@ static void crypt_endio(struct bio *clone, int error)
{
	struct dm_crypt_io *io = clone->bi_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))
		error = -EIO;
@@ -512,20 +512,15 @@ static void crypt_endio(struct bio *clone, int error)
	/*
	 * free the processed pages
	 */
	if (!read_io) {
	if (rw == WRITE)
		crypt_free_buffer_pages(cc, clone);
		goto out;
	}

	if (unlikely(error))
		goto out;

	bio_put(clone);

	if (rw == READ && !error) {
		kcryptd_queue_crypt(io);
		return;

out:
	bio_put(clone);
	}

	if (unlikely(error))
		io->error = error;