diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2013-09-30 13:45:09 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-30 14:31:02 -0700 |
commit | 83b2944fd2532b92db099cb3ada12df32a05b368 (patch) | |
tree | 3968e259fe6bf9625da6c61266aa64d2ffa9c9e0 /mm | |
parent | 4c1c7be95c345cf2ad537a0c48e9aeadc7304527 (diff) | |
download | op-kernel-dev-83b2944fd2532b92db099cb3ada12df32a05b368.zip op-kernel-dev-83b2944fd2532b92db099cb3ada12df32a05b368.tar.gz |
mm/bounce.c: fix a regression where MS_SNAP_STABLE (stable pages snapshotting) was ignored
The "force" parameter in __blk_queue_bounce was being ignored, which
means that stable page snapshots are not always happening (on ext3).
This of course leads to DIF disks reporting checksum errors, so fix this
regression.
The regression was introduced in commit 6bc454d15004 ("bounce: Refactor
__blk_queue_bounce to not use bi_io_vec")
Reported-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Cc: Kent Overstreet <koverstreet@google.com>
Cc: <stable@vger.kernel.org> [3.10+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/bounce.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/bounce.c b/mm/bounce.c index c9f0a43..5a7d58f 100644 --- a/mm/bounce.c +++ b/mm/bounce.c @@ -204,6 +204,8 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, struct bio_vec *to, *from; unsigned i; + if (force) + goto bounce; bio_for_each_segment(from, *bio_orig, i) if (page_to_pfn(from->bv_page) > queue_bounce_pfn(q)) goto bounce; |