Re: [PATCH v5 3/5] dax: use sb_issue_zerout instead of calling dax_clear_sectors

From: Ross Zwisler
Date: Mon May 09 2016 - 10:55:40 EST


On Sun, May 08, 2016 at 06:46:13PM +0000, Verma, Vishal L wrote:
> On Sun, 2016-05-08 at 01:52 -0700, Christoph Hellwig wrote:
> > On Fri, May 06, 2016 at 03:53:09PM -0600, Vishal Verma wrote:
> > >
> > > From: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
> > >
> > > dax_clear_sectors() cannot handle poisoned blocks.  These must be
> > > zeroed using the BIO interface instead.  Convert ext2 and XFS to
> > > use
> > > only sb_issue_zerout().
> > >
> > > Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
> > > [vishal: Also remove the dax_clear_sectors function entirely]
> > > Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx>
> > Just to make sure:  the existing sb_issue_zerout as in 4.6-rc
> > is already doing the right thing for DAX?  I've got a pending
> > patchset
> > for XFS that introduces another dax_clear_sectors users, but if it's
> > already safe to use blkdev_issue_zeroout I can switch to that and
> > avoid
> > the merge conflict.
>
> I believe so - Jan has moved all unwritten extent conversions out of
> DAX with his patch set, and I believe zeroing through the driver is
> always fine. Ross or Jan could confirm though. 

Yep, I believe that the existing sb_issue_zeroout() as of v4.6-rc* does the
right thing. We'll end up calling sb_issue_zeroout() => blkdev_issue_zeroout()
=> __blkdev_issue_zeroout() because we don't have support for discard or
write_same in PMEM. This will send zero page BIOs to the PMEM driver, which
will do the zeroing as normal writes.