Thread (27 messages) read the whole thread 27 messages, 9 authors, 2020-12-03

Re: [PATCH 2/2] statx: move STATX_ATTR_DAX attribute handling to filesystems

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2020-12-01 20:05:59
Also in: linux-fsdevel, linux-man, linux-xfs, lkml

On Tue, Dec 1, 2020 at 8:59 AM Eric Sandeen [off-list ref] wrote:
It's a bit odd to set STATX_ATTR_DAX into the statx attributes in the VFS;
while the VFS can detect the current DAX state, it is the filesystem which
actually sets S_DAX on the inode, and the filesystem is the place that
knows whether DAX is something that the "filesystem actually supports" [1]
so that the statx attributes_mask can be properly set.

So, move STATX_ATTR_DAX attribute setting to the individual dax-capable
filesystems, and update the attributes_mask there as well.
I'm not really understanding the logic behind this.

The whole IS_DAX(inode) thing exists in various places outside the
low-level filesystem, why shouldn't stat() do this?

If IS_DAX() is incorrect, then we have much bigger problems than some
stat results. We have core functions like generic_file_read_iter() etc
all making actual behavioral judgements on IS_DAX().

And if IS_DAX() is correct, then why shouldn't this just be done in
generic code? Why move it to every individual filesystem?

               Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help