Fw: [PATCH] bio_clone fix

From: Andrew Morton
Date: Thu Jul 28 2005 - 13:09:17 EST



This is an important fix affecting both 2.6.11 and 2.6.12. Anyone who is
experiencing data loss issues on MD or DM setups with those kernels should
apply.


Begin forwarded message:

Date: Thu, 28 Jul 2005 10:31:10 -0700
From: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
To: bk-commits-head@xxxxxxxxxxxxxxx
Subject: [PATCH] bio_clone fix


tree c1d224f0fb4db22e87567e1eea45001a7b11e51f
parent 577a4f8102d54b504cb22eb021b89e957e8df18f
author Andrew Morton <akpm@xxxxxxxx> Thu, 28 Jul 2005 15:07:18 -0700
committer Linus Torvalds <torvalds@xxxxxxxxxxx> Thu, 28 Jul 2005 22:38:59 -0700

[PATCH] bio_clone fix

Fix bug introduced in 2.6.11-rc2: when we clone a BIO we need to copy over the
current index into it as well.

It corrupts data with some MD setups.

See http://bugzilla.kernel.org/show_bug.cgi?id=4946

Huuuuuuuuge thanks to Matthew Stapleton <matthew4196@xxxxxxxxx> for doggedly
chasing this one down.

Acked-by: Jens Axboe <axboe@xxxxxxx>
Cc: <linux-raid@xxxxxxxxxxxxxxx>
Cc: <dm-devel@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxx>

fs/bio.c | 1 +
1 files changed, 1 insertion(+)

diff --git a/fs/bio.c b/fs/bio.c
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -261,6 +261,7 @@ inline void __bio_clone(struct bio *bio,
*/
bio->bi_vcnt = bio_src->bi_vcnt;
bio->bi_size = bio_src->bi_size;
+ bio->bi_idx = bio_src->bi_idx;
bio_phys_segments(q, bio);
bio_hw_segments(q, bio);
}
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/