[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211028164236.GD24307@magnolia>
Date: Thu, 28 Oct 2021 09:42:36 -0700
From: "Darrick J. Wong" <djwong@...nel.org>
To: Eric Sandeen <sandeen@...deen.net>
Cc: Vivek Goyal <vgoyal@...hat.com>,
Dave Chinner <david@...morbit.com>,
JeffleXu <jefflexu@...ux.alibaba.com>,
Theodore Ts'o <tytso@....edu>, adilger.kernel@...ger.ca,
ira.weiny@...el.com, linux-xfs@...r.kernel.org,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
linux-fsdevel@...r.kernel.org, dan.j.williams@...el.com,
Christoph Hellwig <hch@....de>,
Dave Chinner <dchinner@...hat.com>
Subject: Re: [Question] ext4/xfs: Default behavior changed after per-file DAX
On Thu, Oct 28, 2021 at 11:29:08AM -0500, Eric Sandeen wrote:
> On 10/27/21 8:14 AM, Vivek Goyal wrote:
> > On Wed, Oct 27, 2021 at 09:33:17AM +1100, Dave Chinner wrote:
>
> ...
>
> > Hi Dave,
> >
> > Thanks for all the explanaiton and background. It helps me a lot in
> > wrapping my head around the rationale for current design.
> >
> > > It's perfectly reasonable. If the hardware doesn't support DAX, then
> > > we just always behave as if dax=never is set.
> >
> > I tried mounting non-DAX block device with dax=always and it failed
> > saying DAX can't be used with reflink.
> >
> > [ 100.371978] XFS (vdb): DAX unsupported by block device. Turning off DAX.
> > [ 100.374185] XFS (vdb): DAX and reflink cannot be used together!
> >
> > So looks like first check tried to fallback to dax=never as device does
> > not support DAX. But later reflink check thought dax is enabled and
> > did not fallback to dax=never.
>
> We need to think hard about this stuff and audit it to be sure.
>
> But, I think that reflink check should probably just be removed, now that
> DAX files and reflinked files can co-exist on a filesystem - it's just
> that they can't both be active on the /same file/.
>
> I think that even "dax=always" is still just "advisory" - it means,
> try to enable dax on every file. It may still fail in the same ways as
> dax=inode (default) + flag set may fail.
>
> But ... we should go through the whole mount option / feature set /
> device capability logic to be sure this is all consistent. Thanks for
> pointing it out!
I was rather hoping that we'd solve this problem by helping Shiyang get
his two patchsets landed, and then we can eliminate the dax+reflink
check entirely.
[1] (dax poison notifications via rmap V7)
https://lore.kernel.org/linux-xfs/20210924130959.2695749-1-ruansy.fnst@fujitsu.com/
[2] (reflink + dax V10)
https://lore.kernel.org/linux-xfs/20210928062311.4012070-1-ruansy.fnst@fujitsu.com/
(The second patchset is AFAICT ready to go, but we still need to iron
out the difficulties pointed out in the last review of patchset #1)
--D
> -Eric
>
> > > IO
Powered by blists - more mailing lists