From patchwork Sat Dec 18 00:19:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12685827 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 32028C433EF for ; Sat, 18 Dec 2021 00:19:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230039AbhLRATF (ORCPT ); Fri, 17 Dec 2021 19:19:05 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:48536 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229643AbhLRATF (ORCPT ); Fri, 17 Dec 2021 19:19:05 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 875A7B82B2B for ; Sat, 18 Dec 2021 00:19:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4628AC36AE2; Sat, 18 Dec 2021 00:19:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639786743; bh=02c4/FXR1sE3xrBEBQBoY5JgWTxagUWLAnu1O45Z02A=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=EW4izEfsDK6+xvsIoKNzvQG5nrPRwUB3L6eWYwJOaAYj8ku11CuUVSRdWNhMZipSz aD1gmJKL5mCmZ8aLbb7TFcCVkafzIS5j2i2zYILHPOa+deN5REYKk5GYIw+1H6fkKX SZfAhfb9rskEbM+kDNKsw1E98tgHIKV8/CZr/01/tWY+g9lNM2PKJsLK4Kcoa1VRKA orGZEZoE00zYVL8gYoP7Ly5mNvljwBHKnA17l8O53RWgCTTW8qqDEhcO0b8KvL2VN8 jsVC2H+no6AqLPY/ZkRnZGI8p9vBGErXBU84tfZbQ7BEHqPCl2XnWmPu9521ASvsPr 3FWyFrXecP+1g== Date: Fri, 17 Dec 2021 16:19:02 -0800 From: "Darrick J. Wong" To: Eric Sandeen Cc: xfs Subject: [PATCH 1/3] libxcmd: use emacs mode for command history editing Message-ID: <20211218001902.GS27664@magnolia> References: <20211218001616.GB27676@magnolia> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211218001616.GB27676@magnolia> Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Darrick J. Wong Prior to xfsprogs 5.7.0, we built xfsprogs with libreadline support by default. In its default configuration, that library interpreted various keystrokes in a direct manner (e.g. backspace deletes the character to the left of the cursor), which seems consistent with how emacs behaves. However, libeditline's default keybindings are consistent with vim, which means that suddenly users are presented with not the same line editing interface that they had before. Since libeditline is configurable (put "bind -v" in editrc if you really want vim mode), let's put things back the way they were. At least as much as we can. Fixes: bbe12eb9 ("xfsprogs: remove libreadline support") Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- db/input.c | 1 + libxcmd/input.c | 1 + 2 files changed, 2 insertions(+) diff --git a/db/input.c b/db/input.c index 448e84b0..d8113599 100644 --- a/db/input.c +++ b/db/input.c @@ -227,6 +227,7 @@ fetchline(void) el_set(el, EL_SIGNAL, 1); el_set(el, EL_PROMPT, el_get_prompt); el_set(el, EL_HIST, history, (const char *)hist); + el_set(el, EL_EDITOR, "emacs"); } if (inputstacksize == 1) { diff --git a/libxcmd/input.c b/libxcmd/input.c index e3fa626a..fa80e5ab 100644 --- a/libxcmd/input.c +++ b/libxcmd/input.c @@ -45,6 +45,7 @@ fetchline(void) el_set(el, EL_SIGNAL, 1); el_set(el, EL_PROMPT, el_get_prompt); el_set(el, EL_HIST, history, (const char *)hist); + el_set(el, EL_EDITOR, "emacs"); } cmd = el_gets(el, &count); if (!cmd) From patchwork Sat Dec 18 00:20:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12685829 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3F13C433F5 for ; Sat, 18 Dec 2021 00:20:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229563AbhLRAUO (ORCPT ); Fri, 17 Dec 2021 19:20:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229470AbhLRAUO (ORCPT ); Fri, 17 Dec 2021 19:20:14 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB6ECC061574 for ; Fri, 17 Dec 2021 16:20:13 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 74EFAB82B2B for ; Sat, 18 Dec 2021 00:20:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32491C36AE2; Sat, 18 Dec 2021 00:20:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639786811; bh=DdbQKzu1p33hhtdqayI6sm066OqWi2K8bgimfW+pufM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mIwb+Z0UieRDinCiwo/TybUJ6fHJNjYsaKokq9lJYaIfzQ7P0CE51TpsgBewqhKsD I0xhzMl2f5uwU4DwadUKbti4p2xiz56JnCaxinS+4phn1xupwKddU56fpih5GyffcT oRk+RHlMP5lniqE1B3RtAZErpx6qBbdkkZDB/AKO8F3J3Qcs12896aiUg82LwrhbPU ZlbfIzAPLDqDbJnOVw7A6p87h1vcXbPpDHnO5yGB34U0d/+XWRsYMkKwToHGeMGBkc YXEjsiCdLjQajSSVBXuy2K1X/SkDi8omJP0FRimAz7PrVPMF41qYDE1AIbRabH0nBH +lJvPd+M8oIgw== Date: Fri, 17 Dec 2021 16:20:10 -0800 From: "Darrick J. Wong" To: Eric Sandeen Cc: xfs Subject: [PATCH 2/3] mkfs: prevent corruption of passed-in suboption string values Message-ID: <20211218002010.GT27664@magnolia> References: <20211218001616.GB27676@magnolia> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211218001616.GB27676@magnolia> Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Darrick J. Wong Eric and I were trying to play with mkfs.configuration files, when I spotted this (with the libini package from Ubuntu 20.04): # cat << EOF > /tmp/r [data] su=2097152 sw=1 EOF # mkfs.xfs -f -c options=/tmp/r /dev/sda Parameters parsed from config file /tmp/r successfully -d su option requires a value It turns out that libini's parser uses stack variables(!) to store the value of a key=value pair that it parses, and passes this stack array to the parse_cfgopt function. If the particular option calls getstr(), then we save the value of that pointer (not its contents) to the cli_params. Being a stack array, the contents will be overwritten by other function calls, which means that our value of '2097152' has been destroyed by the time we actually call getnum when we're validating the new fs config. We never noticed this until now because the only other caller was getsubopt on the argv array, which gets chopped up but left intact in memory. The solution is to make a private copy of those strings if we ever save them for later. For now we'll be lazy and let the memory leak, since mkfs is not a long-running process. Fixes: 33c62516 ("mkfs: add initial ini format config file parsing support") Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- mkfs/xfs_mkfs.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 3a41e17f..fcad6b55 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -1438,12 +1438,21 @@ getstr( struct opt_params *opts, int index) { + char *ret; + check_opt(opts, index, true); /* empty strings for string options are not valid */ if (!str || *str == '\0') reqval(opts->name, opts->subopts, index); - return (char *)str; + + ret = strdup(str); + if (!ret) { + fprintf(stderr, _("Out of memory while saving suboptions.\n")); + exit(1); + } + + return ret; } static int From patchwork Sat Dec 18 00:20:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12685831 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E16C2C433EF for ; Sat, 18 Dec 2021 00:20:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229451AbhLRAUy (ORCPT ); Fri, 17 Dec 2021 19:20:54 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:49416 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229449AbhLRAUy (ORCPT ); Fri, 17 Dec 2021 19:20:54 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 25968B82B2B for ; Sat, 18 Dec 2021 00:20:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB859C36AE5; Sat, 18 Dec 2021 00:20:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639786852; bh=M/1SgclBtbUvjPekK6rr4i7lEHRPTLhBgkAEqzWPoFQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ijh4s1bz2Z6SISMftTAay/KCev0WkXbvquUmWgUz9KFB1zlEzXFjoDsllLGfsc8RX gkxhtsC6SUNCingLyxPbLVsXzl1YaEj+8d9VYnejLOf6nsF4iFvye+liCf6OOHz49n fGfpNe3Mtpm0ObFOqT3XPQoD6ffvuZUQYgQPCyGycjue9QHkzgGc3xVsGN0lHrYFEa Wjh3okl6KiK2uo2I52dWcoeAWi9oxNSsIjU6nDn5jM3YFB52SF3lxUXpnlFuWL+vG+ Y4pL7acaiwFYRlFxJj0jJLUO3gRkzcG+GrxGSUQ4zpF4N34wvtKJP0R+iK6OC0Fb+L H97DTWvKq5Zow== Date: Fri, 17 Dec 2021 16:20:51 -0800 From: "Darrick J. Wong" To: Eric Sandeen Cc: xfs Subject: [PATCH v3 3/3] mkfs: add configuration files for the last few LTS kernels Message-ID: <20211218002051.GU27664@magnolia> References: <20211218001616.GB27676@magnolia> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211218001616.GB27676@magnolia> Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Darrick J. Wong 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 Reviewed-by: Christoph Hellwig --- v3: make it easier to substitute the mkfs config dir with a single variable v2: add missing config file for 5.4 kernel --- include/builddefs.in | 2 ++ 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, 67 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..0d3a4d17 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -66,6 +66,8 @@ 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@ +MKFS_CFG_DIR = @datadir@/@pkg_name@/mkfs CC = @cc@ BUILD_CC = @BUILD_CC@ diff --git a/mkfs/Makefile b/mkfs/Makefile index 811ba9db..009f6742 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 $(MKFS_CFG_DIR) + $(INSTALL) -m 644 $(CFGFILES) $(MKFS_CFG_DIR) + 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. + */ }, }; From patchwork Sat Dec 18 00:23:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12685833 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 35C6DC433EF for ; Sat, 18 Dec 2021 00:23:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229573AbhLRAXH (ORCPT ); Fri, 17 Dec 2021 19:23:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229449AbhLRAXH (ORCPT ); Fri, 17 Dec 2021 19:23:07 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2502DC061574 for ; Fri, 17 Dec 2021 16:23:07 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AA9E3623C0 for ; Sat, 18 Dec 2021 00:23:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09777C36AE5; Sat, 18 Dec 2021 00:23:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639786986; bh=HEZL3NHLYHkjgeD3ukkhWdwgBC6Qu5w9Hd+n5CLNTTQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CUG9AsXBV1Sgy/YPAg6HzveTLQWgT5nV3SC2qA/NOlyftqB/VZ4aKVk5H2MSPU/GF r0xF1nc5lRd6+7JYyMsVfPlLLX/ANi+ytxiuZyKPqTq5OEj/7MO5Hnh652bSAC9rAj LEZKh6zoWltxaNeCzxXI7ZbsOg40ZX66Vlb9xMKB2SGawJIINJ7HyXBbDaXb/YifSv ogogPLvagUoRmtLeTHurpAkHbJnGaKbx9K7kkDYagDjFZrYuaG9+QmrnLXWuiq4+1X avEIcgkstTejS+UiZpEz8ZzNJei2Xtt1pJDSxggo3nX9y4T3NQri3hZEQj2YtfSmcv 0x38yUlh0ZWsw== Date: Fri, 17 Dec 2021 16:23:05 -0800 From: "Darrick J. Wong" To: Eric Sandeen Cc: xfs Subject: [PATCH v2 4/3] mkfs: document sample configuration file location Message-ID: <20211218002305.GV27664@magnolia> References: <20211218001616.GB27676@magnolia> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211218001616.GB27676@magnolia> Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org From: Darrick J. Wong Update the documentation to note where one can find sample configuration files. While we're at it, add -c to the topmost list of mkfs.xfs options. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- v2: use the mkfs config file directory from the build system --- man/man8/Makefile | 7 +++++++ man/man8/mkfs.xfs.8.in | 4 ++++ 2 files changed, 11 insertions(+) rename man/man8/{mkfs.xfs.8 => mkfs.xfs.8.in} (99%) diff --git a/man/man8/Makefile b/man/man8/Makefile index e6a55729..272e45ae 100644 --- a/man/man8/Makefile +++ b/man/man8/Makefile @@ -12,8 +12,10 @@ ifneq ("$(ENABLE_SCRUB)","yes") else MAN_PAGES = $(shell echo *.$(MAN_SECTION)) endif +MAN_PAGES += mkfs.xfs.8 MAN_DEST = $(PKG_MAN_DIR)/man$(MAN_SECTION) LSRCFILES = $(MAN_PAGES) +DIRT = mkfs.xfs.8 default : $(MAN_PAGES) @@ -22,4 +24,9 @@ include $(BUILDRULES) install : default $(INSTALL) -m 755 -d $(MAN_DEST) $(INSTALL_MAN) + +mkfs.xfs.8: mkfs.xfs.8.in + @echo " [SED] $@" + $(Q)$(SED) -e 's|@mkfs_cfg_dir@|$(MKFS_CFG_DIR)|g' < $^ > $@ + install-dev : diff --git a/man/man8/mkfs.xfs.8 b/man/man8/mkfs.xfs.8.in similarity index 99% rename from man/man8/mkfs.xfs.8 rename to man/man8/mkfs.xfs.8.in index 880e949b..a3526753 100644 --- a/man/man8/mkfs.xfs.8 +++ b/man/man8/mkfs.xfs.8.in @@ -7,6 +7,9 @@ mkfs.xfs \- construct an XFS filesystem .B \-b .I block_size_options ] [ +.B \-c +.I config_file_options +] [ .B \-m .I global_metadata_options ] [ @@ -159,6 +162,7 @@ The configuration options will be sourced from the file specified by the option string. This option can be use either an absolute or relative path to the configuration file to be read. +Sample configuration files can be found in @mkfs_cfg_dir@. .RE .PP .PD 0