summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2013-09-30 13:45:09 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-13 18:14:30 -0700
commit3e446da23ffc230fbd3d9cf52f2a2d94ba8e941c (patch)
treedb864a2e3a0261a37e803793d81dd0ed1498aea6
parentb8a118efef12f11e6f726d46b9d918200d59e479 (diff)
downloadkernel-common-3e446da23ffc230fbd3d9cf52f2a2d94ba8e941c.tar.gz
kernel-common-3e446da23ffc230fbd3d9cf52f2a2d94ba8e941c.tar.bz2
kernel-common-3e446da23ffc230fbd3d9cf52f2a2d94ba8e941c.zip
mm/bounce.c: fix a regression where MS_SNAP_STABLE (stable pages snapshotting) was ignored
commit 83b2944fd2532b92db099cb3ada12df32a05b368 upstream. 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> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--mm/bounce.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/bounce.c b/mm/bounce.c
index c9f0a4339a7d..5a7d58fb883b 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;