Linux v4.3-rc1-21-g865ca08
This commit is contained in:
parent
a2cb465af3
commit
d939515259
42
fix-bounce_end_io.patch
Normal file
42
fix-bounce_end_io.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 08df0db0be41e6bea306bcf5b4d325f5a79dc7a1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ming Lei <ming.lei@canonical.com>
|
||||||
|
Date: Sat, 12 Sep 2015 20:48:42 +0800
|
||||||
|
Subject: [PATCH] block: fix bounce_end_io
|
||||||
|
|
||||||
|
When bio bounce is involved, one new bio and its io vector are
|
||||||
|
cloned from the coming bio, which can be one fast-cloned bio
|
||||||
|
and its io vector can be shared with another bio too, especially
|
||||||
|
after bio_split() is introduced.
|
||||||
|
|
||||||
|
So it is obviously wrong to assume the start index of the original
|
||||||
|
bio's io vector is zero, which can be any value between 0 and
|
||||||
|
(bi_max_vecs - 1), especially in case of bio split.
|
||||||
|
|
||||||
|
Signed-off-by: Ming Lei <ming.lei@canonical.com>
|
||||||
|
---
|
||||||
|
block/bounce.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/block/bounce.c b/block/bounce.c
|
||||||
|
index 0611aea1cfe9..1cb5dd3a5da1 100644
|
||||||
|
--- a/block/bounce.c
|
||||||
|
+++ b/block/bounce.c
|
||||||
|
@@ -128,12 +128,14 @@ static void bounce_end_io(struct bio *bio, mempool_t *pool)
|
||||||
|
struct bio *bio_orig = bio->bi_private;
|
||||||
|
struct bio_vec *bvec, *org_vec;
|
||||||
|
int i;
|
||||||
|
+ int start = bio_orig->bi_iter.bi_idx;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* free up bounce indirect pages used
|
||||||
|
*/
|
||||||
|
bio_for_each_segment_all(bvec, bio, i) {
|
||||||
|
- org_vec = bio_orig->bi_io_vec + i;
|
||||||
|
+ org_vec = bio_orig->bi_io_vec + i + start;
|
||||||
|
+
|
||||||
|
if (bvec->bv_page == org_vec->bv_page)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.4.3
|
||||||
|
|
@ -67,7 +67,7 @@ Summary: The Linux kernel
|
|||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 1
|
%define rcrev 1
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 1
|
%define gitrev 2
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 4.%{upstream_sublevel}.0
|
%define rpmversion 4.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -594,6 +594,8 @@ Patch521: x86-alternatives-Make-optimize_nops-interrupt-safe-a.patch
|
|||||||
#rhbz 1237136
|
#rhbz 1237136
|
||||||
Patch522: block-blkg_destroy_all-should-clear-q-root_blkg-and-.patch
|
Patch522: block-blkg_destroy_all-should-clear-q-root_blkg-and-.patch
|
||||||
|
|
||||||
|
Patch523: fix-bounce_end_io.patch
|
||||||
|
|
||||||
Patch904: kdbus.patch
|
Patch904: kdbus.patch
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
@ -2039,6 +2041,9 @@ fi
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Sep 16 2015 Laura Abbott <labbott@redhat.com> - 4.3.0-0.rc1.git2.1
|
||||||
|
- Linux v4.3-rc1-21-g865ca08
|
||||||
|
|
||||||
* Tue Sep 15 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.3.0-0.rc1.git1.1
|
* Tue Sep 15 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.3.0-0.rc1.git1.1
|
||||||
- Linux v4.3-rc1-19-gd25ed277fbd4
|
- Linux v4.3-rc1-19-gd25ed277fbd4
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1,4 +1,4 @@
|
|||||||
3d5ea06d767e2f35c999eeadafc76523 linux-4.2.tar.xz
|
3d5ea06d767e2f35c999eeadafc76523 linux-4.2.tar.xz
|
||||||
4c964bfba54d65b5b54cc898baddecad perf-man-4.2.tar.gz
|
4c964bfba54d65b5b54cc898baddecad perf-man-4.2.tar.gz
|
||||||
45904fd88e2d6f79693abcce148a12fe patch-4.3-rc1.xz
|
45904fd88e2d6f79693abcce148a12fe patch-4.3-rc1.xz
|
||||||
b1923ca84c3582207a3aadb461abcfb0 patch-4.3-rc1-git1.xz
|
6a7a5f6a5a8370b9348da0757d23abd7 patch-4.3-rc1-git2.xz
|
||||||
|
Loading…
Reference in New Issue
Block a user