[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@gmail.com> for doggedly chasing this one down. Acked-by: Jens Axboe <axboe@suse.de> Cc: <linux-raid@vger.kernel.org> Cc: <dm-devel@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
577a4f8102
commit
a5453be48e
1
fs/bio.c
1
fs/bio.c
@@ -261,6 +261,7 @@ inline void __bio_clone(struct bio *bio, struct bio *bio_src)
|
|||||||
*/
|
*/
|
||||||
bio->bi_vcnt = bio_src->bi_vcnt;
|
bio->bi_vcnt = bio_src->bi_vcnt;
|
||||||
bio->bi_size = bio_src->bi_size;
|
bio->bi_size = bio_src->bi_size;
|
||||||
|
bio->bi_idx = bio_src->bi_idx;
|
||||||
bio_phys_segments(q, bio);
|
bio_phys_segments(q, bio);
|
||||||
bio_hw_segments(q, bio);
|
bio_hw_segments(q, bio);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user