Thread (14 messages) 14 messages, 6 authors, 2021-10-28

Re: [Question] ext4/xfs: Default behavior changed after per-file DAX

From: "Darrick J. Wong" <djwong@kernel.org>
Date: 2021-10-28 16:42:49
Also in: linux-fsdevel, linux-xfs

On Thu, Oct 28, 2021 at 11:29:08AM -0500, Eric Sandeen wrote:
On 10/27/21 8:14 AM, Vivek Goyal wrote:
quoted
On Wed, Oct 27, 2021 at 09:33:17AM +1100, Dave Chinner wrote:
...
quoted
Hi Dave,

Thanks for all the explanaiton and background. It helps me a lot in
wrapping my head around the rationale for current design.
quoted
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/ (local)
[2] (reflink + dax V10)
https://lore.kernel.org/linux-xfs/20210928062311.4012070-1-ruansy.fnst@fujitsu.com/ (local)

(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
quoted
quoted
IO
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help