From: Chris Wright Date: Thu, 28 Jul 2005 18:19:33 +0000 (-0700) Subject: Add bio_clone fix for md/dm data loss issue, fwd from akpm. X-Git-Tag: v2.6.12.4~4^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64b0c8c81e88340257d5722112017ed5faaccb77;p=thirdparty%2Fkernel%2Fstable-queue.git Add bio_clone fix for md/dm data loss issue, fwd from akpm. --- diff --git a/queue/bio_clone-fix.patch b/queue/bio_clone-fix.patch new file mode 100644 index 00000000000..6267a6b8da4 --- /dev/null +++ b/queue/bio_clone-fix.patch @@ -0,0 +1,42 @@ +From stable-bounces@linux.kernel.org Thu Jul 28 11:03:43 2005 +Date: Thu, 28 Jul 2005 11:02:26 -0700 +From: Andrew Morton +To: stable@kernel.org, linux-kernel@vger.kernel.org +Cc: +Subject: [stable] Fw: [PATCH] bio_clone fix + +[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 for doggedly +chasing this one down. + +Acked-by: Jens Axboe +Cc: +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Chris Wright +--- + + 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); + } +- diff --git a/queue/series b/queue/series index 3a640fbaf22..f468ea1d11d 100644 --- a/queue/series +++ b/queue/series @@ -7,3 +7,4 @@ netfilter-deadlock-ip6_queue.patch netfilter-NAT-memory-corruption.patch netfilter-ip_conntrack_untracked-refcount.patch ipsec-array-overflow.patch +bio_clone-fix.patch