Messages in this thread Patch in this message | | | Date | Wed, 6 Feb 2008 15:50:55 -0800 | From | Greg KH <> | Subject | [patch 03/73] dm crypt: fix write endio |
| |
2.6.23-stable review patch. If anyone has any objections, please let us know. ------------------ From: Milan Broz <mbroz@redhat.com>
patch adfe47702c4726b3e045f9f83178def02833be4c in mainline.
Fix BIO_UPTODATE test for write io.
Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/md/dm-crypt.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
--- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -515,6 +515,9 @@ static int crypt_endio(struct bio *clone 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, even if * it's only a partially completed write @@ -529,10 +532,8 @@ static int crypt_endio(struct bio *clone if (!read_io) goto out; - if (unlikely(!bio_flagged(clone, BIO_UPTODATE))) { - error = -EIO; + if (unlikely(error)) goto out; - } bio_put(clone); io->post_process = 1; --
| |