Re: [PATCH] xfs/XXX: Add xfs/XXX
From: Darrick J. Wong
Date: Tue Jun 02 2020 - 23:51:26 EST
On Wed, Jun 03, 2020 at 09:56:13AM +0800, Xiao Yang wrote:
> On 2020/6/3 2:14, Darrick J. Wong wrote:
> > On Tue, Jun 02, 2020 at 04:51:48PM +0800, Xiao Yang wrote:
> > > On 2020/4/14 0:30, Darrick J. Wong wrote:
> > > > This might be a good time to introduce a few new helpers:
> > > >
> > > > _require_scratch_dax ("Does $SCRATCH_DEV support DAX?")
> > > > _require_scratch_dax_mountopt ("Does the fs support the DAX mount options?")
> > > > _require_scratch_daX_iflag ("Does the fs support FS_XFLAG_DAX?")
> > > Hi Darrick,
> > >
> > > Now, I am trying to introduce these new helpers and have some questions:
> > > 1) There are five testcases related to old dax implementation, should we
> > > only convert them to new dax implementation or make them compatible with old
> > > and new dax implementation?
> >
> > What is the 'old' DAX implementation? ext2 XIP?
> Hi Darrick,
>
> Thanks for your quick feedback.
>
> Right, the 'old' DAX implementation means old dax mount option(i.e. -o dax)
>
> Compare new and old dax mount option on ext4 and xfs, is the following logic
> right?
> -o dax=always == -o dax
> -o dax=never == without dax
> -o dax=inode == nothing
No. -o dax=always is the same as -o dax.
dax=inode was and still is the behavior you got with no option at all.
-o dax=never is a new option.
> Of course, we should uses new option if ext4/xfs supports new dax mount
> option on distros. But should we fallback to use old option if ext4/xfs
> doesn't support new dax mount option on some old distros?
> btw:
> it seems hard for testcases to use two different sets of mount options(i.e.
> old and new) so do you have any suggestion?
Try dax=never, it should work on any type of storage device if the
kernel implements the "new" mount options at all.
--D
> >
> > > 2) I think _require_xfs_io_command "chattr" "x" is enough to check if fs
> > > supports FS_XFLAG_DAX. Is it necessary to add _require_scratch_dax_iflag()?
> > > like this:
> > > _require_scratch_dax_iflag()
> > > {
> > > _require_xfs_io_command "chattr" "x"
> > > }
> >
> > I suggested that list based on the major control knobs that will be
> > visible to userspace programs. Even if this is just a one-line helper,
> > its name is useful for recognizing which of those knobs we're looking
> > for.
> >
> > Yes, you could probably save a trivial amount of time by skipping one
> > iteration of bash function calling, but now everyone has to remember
> > that the xfs_io chattr "x" flag means the dax inode flag, and not
> > confuse it for chmod +x or something else.
>
> Got it, thanks for your detailed explanation.
>
> Best Regards,
> Xiao Yang
> >
> > --D
> >
> > > Best Regards,
> > > Xiao Yang
> > >
> > >
> >
> >
> > .
> >
>
>
>