On Mon, Aug 17, 2020 at 01:30:45PM +0200, Carlos Maiolino wrote: > On Thu, Aug 13, 2020 at 04:27:44PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > > > Teach mkfs to set the DAX flag on the root directory so that all new > > files can be created in dax mode. This is a complement to removing the > > mount option. > > > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > --- > > man/man8/mkfs.xfs.8 | 10 ++++++++++ > > mkfs/xfs_mkfs.c | 14 ++++++++++++++ > > 2 files changed, 24 insertions(+) > > > > > > diff --git a/man/man8/mkfs.xfs.8 b/man/man8/mkfs.xfs.8 > > index 7d3f3552ff12..3ad9e5449f58 100644 > > --- a/man/man8/mkfs.xfs.8 > > +++ b/man/man8/mkfs.xfs.8 > > @@ -398,6 +398,16 @@ will have this extent size hint applied. > > The value must be provided in units of filesystem blocks. > > Directories will pass on this hint to newly created regular files and > > directories. > > +.TP > > +.BI daxinherit= value > > +If set, all inodes created by > > +.B mkfs.xfs > > +will be created with the DAX flag set. > > +Directories will pass on this flag on to newly created regular files > > I'm not English native speaker, but 'pass on this flag on' looks weird to me, > 'pass this flag on' sounds better, but again, I'm no native speaker, and I might > well be just adding noise here :) It /is/ strange, thanks for the correction and the review. --D > Other than that, everything else looks fine. > > Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> > > > +and directories. > > +By default, > > +.B mkfs.xfs > > +will not enable DAX mode. > > .RE > > .TP > > .B \-f > > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > > index 2e6cd280e388..a687f385a9c1 100644 > > --- a/mkfs/xfs_mkfs.c > > +++ b/mkfs/xfs_mkfs.c > > @@ -60,6 +60,7 @@ enum { > > D_PROJINHERIT, > > D_EXTSZINHERIT, > > D_COWEXTSIZE, > > + D_DAXINHERIT, > > D_MAX_OPTS, > > }; > > > > @@ -254,6 +255,7 @@ static struct opt_params dopts = { > > [D_PROJINHERIT] = "projinherit", > > [D_EXTSZINHERIT] = "extszinherit", > > [D_COWEXTSIZE] = "cowextsize", > > + [D_DAXINHERIT] = "daxinherit", > > }, > > .subopt_params = { > > { .index = D_AGCOUNT, > > @@ -369,6 +371,12 @@ static struct opt_params dopts = { > > .maxval = UINT_MAX, > > .defaultval = SUBOPT_NEEDS_VAL, > > }, > > + { .index = D_DAXINHERIT, > > + .conflicts = { { NULL, LAST_CONFLICT } }, > > + .minval = 0, > > + .maxval = 1, > > + .defaultval = 1, > > + }, > > }, > > }; > > > > @@ -1434,6 +1442,12 @@ data_opts_parser( > > cli->fsx.fsx_cowextsize = getnum(value, opts, subopt); > > cli->fsx.fsx_xflags |= FS_XFLAG_COWEXTSIZE; > > break; > > + case D_DAXINHERIT: > > + if (getnum(value, opts, subopt)) > > + cli->fsx.fsx_xflags |= FS_XFLAG_DAX; > > + else > > + cli->fsx.fsx_xflags &= ~FS_XFLAG_DAX; > > + break; > > default: > > return -EINVAL; > > } > > > > -- > Carlos >