From: Darrick J. Wong <djwong@xxxxxxxxxx> Add some sample mkfs configuration files that capture the mkfs feature defaults at the time of the release of the last four upstream LTS kernels. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> --- v2: add a config for 5.4, and remind people to update the config files when turning on a feature by default --- include/builddefs.in | 1 + mkfs/Makefile | 10 +++++++++- mkfs/lts_4.19.conf | 13 +++++++++++++ mkfs/lts_5.10.conf | 13 +++++++++++++ mkfs/lts_5.15.conf | 13 +++++++++++++ mkfs/lts_5.4.conf | 13 +++++++++++++ mkfs/xfs_mkfs.c | 4 ++++ 7 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 mkfs/lts_4.19.conf create mode 100644 mkfs/lts_5.10.conf create mode 100644 mkfs/lts_5.15.conf create mode 100644 mkfs/lts_5.4.conf diff --git a/include/builddefs.in b/include/builddefs.in index f10d1796..ca4b5fcc 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -66,6 +66,7 @@ DK_INC_DIR = @includedir@/disk PKG_MAN_DIR = @mandir@ PKG_DOC_DIR = @datadir@/doc/@pkg_name@ PKG_LOCALE_DIR = @datadir@/locale +PKG_DATA_DIR = @datadir@/@pkg_name@ CC = @cc@ BUILD_CC = @BUILD_CC@ diff --git a/mkfs/Makefile b/mkfs/Makefile index 811ba9db..1b866e3a 100644 --- a/mkfs/Makefile +++ b/mkfs/Makefile @@ -9,19 +9,27 @@ LTCOMMAND = mkfs.xfs HFILES = CFILES = proto.c xfs_mkfs.c +CFGFILES = \ + lts_4.19.conf \ + lts_5.4.conf \ + lts_5.10.conf \ + lts_5.15.conf LLDLIBS += $(LIBXFS) $(LIBXCMD) $(LIBFROG) $(LIBRT) $(LIBPTHREAD) $(LIBBLKID) \ $(LIBUUID) $(LIBINIH) $(LIBURCU) LTDEPENDENCIES += $(LIBXFS) $(LIBXCMD) $(LIBFROG) LLDFLAGS = -static-libtool-libs -default: depend $(LTCOMMAND) +default: depend $(LTCOMMAND) $(CFGFILES) include $(BUILDRULES) install: default $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR) $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR) + $(INSTALL) -m 755 -d $(PKG_DATA_DIR)/mkfs + $(INSTALL) -m 644 $(CFGFILES) $(PKG_DATA_DIR)/mkfs + install-dev: -include .dep diff --git a/mkfs/lts_4.19.conf b/mkfs/lts_4.19.conf new file mode 100644 index 00000000..d21fcb7e --- /dev/null +++ b/mkfs/lts_4.19.conf @@ -0,0 +1,13 @@ +# V5 features that were the mkfs defaults when the upstream Linux 4.19 LTS +# kernel was released at the end of 2018. + +[metadata] +bigtime=0 +crc=1 +finobt=1 +inobtcount=0 +reflink=0 +rmapbt=0 + +[inode] +sparse=1 diff --git a/mkfs/lts_5.10.conf b/mkfs/lts_5.10.conf new file mode 100644 index 00000000..ac00960e --- /dev/null +++ b/mkfs/lts_5.10.conf @@ -0,0 +1,13 @@ +# V5 features that were the mkfs defaults when the upstream Linux 5.10 LTS +# kernel was released at the end of 2020. + +[metadata] +bigtime=0 +crc=1 +finobt=1 +inobtcount=0 +reflink=1 +rmapbt=0 + +[inode] +sparse=1 diff --git a/mkfs/lts_5.15.conf b/mkfs/lts_5.15.conf new file mode 100644 index 00000000..32082958 --- /dev/null +++ b/mkfs/lts_5.15.conf @@ -0,0 +1,13 @@ +# V5 features that were the mkfs defaults when the upstream Linux 5.15 LTS +# kernel was released at the end of 2021. + +[metadata] +bigtime=1 +crc=1 +finobt=1 +inobtcount=1 +reflink=1 +rmapbt=0 + +[inode] +sparse=1 diff --git a/mkfs/lts_5.4.conf b/mkfs/lts_5.4.conf new file mode 100644 index 00000000..dd60b9f1 --- /dev/null +++ b/mkfs/lts_5.4.conf @@ -0,0 +1,13 @@ +# V5 features that were the mkfs defaults when the upstream Linux 5.4 LTS +# kernel was released at the end of 2019. + +[metadata] +bigtime=0 +crc=1 +finobt=1 +inobtcount=0 +reflink=1 +rmapbt=0 + +[inode] +sparse=1 diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index fcad6b55..af536a8a 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -3875,6 +3875,10 @@ main( .nodalign = false, .nortalign = false, .bigtime = false, + /* + * When we decide to enable a new feature by default, + * please remember to update the mkfs conf files. + */ }, };