Commit 83b2944fd2532b92db099cb3ada12df32a05b368

Authored by Darrick J. Wong
Committed by Linus Torvalds
1 parent 4c1c7be95c

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>

Showing 1 changed file with 2 additions and 0 deletions Side-by-side Diff

... ... @@ -204,6 +204,8 @@
204 204 struct bio_vec *to, *from;
205 205 unsigned i;
206 206  
  207 + if (force)
  208 + goto bounce;
207 209 bio_for_each_segment(from, *bio_orig, i)
208 210 if (page_to_pfn(from->bv_page) > queue_bounce_pfn(q))
209 211 goto bounce;