From: Dave Chinner <david@fromorbit.com>
To: Eric Sandeen <sandeen@sandeen.net>
Cc: xfs-oss <xfs@oss.sgi.com>
Subject: Re: [PATCH] mkfs.xfs: fix ftype-vs-crc option combination testing
Date: Tue, 18 Aug 2015 16:53:41 +1000 [thread overview]
Message-ID: <20150818065341.GI714@dastard> (raw)
In-Reply-To: <55C43FBA.1080408@sandeen.net>
On Thu, Aug 06, 2015 at 10:18:50PM -0700, Eric Sandeen wrote:
> mkfs.xfs got weird along the way; today it has different outcomes
> depending on the order of option specification:
>
> $ mkfs/mkfs.xfs -n ftype=1 -m crc=0 -dfile,name=fsfile,size=16g
> cannot specify both crc and ftype
> $ mkfs/mkfs.xfs -m crc=0 -n ftype=1 -dfile,name=fsfile,size=16g
> <succeeds>
>
> Somehow the tests got written as being constrained on what options
> are specified - and in what order! - vs actually testing for
> incompatible feature sets.
>
> It's fine to specify both crc & ftype options, as long as it's an
> allowed combination, so just test for the incompatible combination
> (crc=1 and ftype=0) after all options have been processed.
>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Did you test this, Eric?
$ mkfs.xfs /dev/sdc
cannot disable ftype with crcs enabled
Usage: mkfs.xfs
/* blocksize */ [-b log=n|size=num]
.....
> ---
>
> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
> index 69d61c7..9042796 100644
> --- a/mkfs/xfs_mkfs.c
> +++ b/mkfs/xfs_mkfs.c
> @@ -1477,11 +1477,6 @@ main(
> if (c < 0 || c > 1)
> illegal(value, "m crc");
> crcs_enabled = c;
> - if (nftype && crcs_enabled) {
> - fprintf(stderr,
> -_("cannot specify both crc and ftype\n"));
> - usage();
> - }
> break;
> case M_FINOBT:
> if (!value || *value == '\0')
> @@ -1555,11 +1550,6 @@ _("cannot specify both crc and ftype\n"));
> if (nftype)
> respec('n', nopts, N_FTYPE);
> dirftype = atoi(value);
> - if (crcs_enabled) {
> - fprintf(stderr,
> -_("cannot specify both crc and ftype\n"));
> - usage();
> - }
> nftype = 1;
> break;
> default:
> @@ -1714,6 +1704,10 @@ _("Minimum block size for CRC enabled filesystems is %d bytes.\n"),
> XFS_MIN_CRC_BLOCKSIZE);
> usage();
> }
> + if (crcs_enabled && !dirftype) {
> + fprintf(stderr, _("cannot disable ftype with crcs enabled\n"));
> + usage();
> + }
nftype = dirftype = 0; /* inode type information in the dir */
So we enable crcs by default and do not enable dirftype/nftype by
default, and so by default mkfs now fails. I'll fix it to always
default to ftype=1 for both v4 and v5 filesystems as there is no go
reason not to enable it.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2015-08-18 7:02 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 5:18 [PATCH] mkfs.xfs: fix ftype-vs-crc option combination testing Eric Sandeen
2015-08-07 11:37 ` Brian Foster
2015-08-07 16:42 ` Eric Sandeen
2015-08-13 11:14 ` Jan Tulak
2015-08-14 1:57 ` Dave Chinner
2015-08-14 6:12 ` Jan Tulak
2015-08-18 6:53 ` Dave Chinner [this message]
2015-08-18 15:36 ` Eric Sandeen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150818065341.GI714@dastard \
--to=david@fromorbit.com \
--cc=sandeen@sandeen.net \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.