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

Darrick J. Wong
2021-10-26T15:48:40Z

On Tue, Oct 26, 2021 at 10:12:17PM +0800, JeffleXu wrote:
> Hi,
>
> Recently I'm working on supporting per-file DAX for virtiofs [1]. Vivek
> Goyal and I are interested [2] why the default behavior has changed
> since introduction of per-file DAX on ext4 and xfs [3][4].
>
> That is, before the introduction of per-file DAX, when user doesn't
> specify '-o dax', DAX is disabled for all files. After supporting
> per-file DAX, when neither '-o dax' nor '-o dax=always|inode|never' is
> specified, it actually works in a '-o dax=inode' way if the underlying
> blkdev is DAX capable, i.e. depending on the persistent inode flag. That
> is, the default behavior has changed from user's perspective.
>
> We are not sure if this is intentional or not. Appreciate if anyone
> could offer some hint.

Yes, that was an intentional change to all three filesystems to make the
steps we expose to sysadmins/users consistent and documented officially:

https://lore.kernel.org/linux-fsdevel/20200429043328.411431-1-ira.weiny@intel.com/

(This was the first step; ext* were converted as separate series around
the same time.)

--D

>
>
> [1] https://lore.kernel.org/all/YW2Oj4FrIB8do3zX@redhat.com/T/
> [2]
> https://lore.kernel.org/all/YW2Oj4FrIB8do3zX@redhat.com/T/#mf067498887ca2023c64c8b8f6aec879557eb28f8
> [3] 9cb20f94afcd2964944f9468e38da736ee855b19 ("fs/ext4: Make DAX mount
> option a tri-state")
> [4] 02beb2686ff964884756c581d513e103542dcc6a ("fs/xfs: Make DAX mount
> option a tri-state")
>
>
> --
> Thanks,
> Jeffle