lkml.org 
[lkml]   [2013]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm: Fix a regression where MS_SNAP_STABLE (stable pages snapshotting) was ignored
On Fri, Sep 20, 2013 at 09:54:07AM -0700, Darrick J. Wong wrote:
> On Fri, Sep 20, 2013 at 09:28:07AM +0100, Mel Gorman wrote:
> > On Fri, Sep 20, 2013 at 09:06:37AM +0100, Mel Gorman wrote:
> > > On Thu, Sep 19, 2013 at 08:06:02PM -0700, Darrick J. Wong wrote:
> > > > 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 6bc454d1 (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>
> > >
> > > I have no means of testing it but it looks right and thanks for checking
> > > DIF disks.
> > >
> > > Acked-by: Mel Gorman <mgorman@suse.de>
> > >
> >
> > That said the two checks are now redundant. They could just be deleted
> > and depend entirely on the following check within the loop
> >
> > if (page_to_pfn(page) <= queue_bounce_pfn(q) && !force)
> > continue;
> >
> > with an update to the comment explaining that the check is for pages
> > below the bounce pfn or for bios that require stable writes
>
> I'm under the impression that the point of the first looping-check is to avoid
> the bio_clone_bioset() if we're not going to bounce anything. But I could be
> wrong.

I doubt it, avoiding the clone makes sense and I was wrong about the
check being redundant anyway. Trying to do the clone within the loop
when the first bio that needs bouncing is encountered turns into a
mess.

--
Mel Gorman
SUSE Labs


\
 
 \ /
  Last update: 2013-09-24 11:01    [W:0.034 / U:0.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site