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
> > > 
> > > 
> > 
> > 
> > .
> > 
> 
> 
> 

Reply via email to