On 3/19/15 6:13 PM, Dave Chinner wrote:
> On Thu, Mar 19, 2015 at 09:55:25AM -0500, Eric Sandeen wrote:
...
>> Problem here is that if both are explicitly specified, one is ignored, rather
>> than letting the user know they've selected an invalid set of options:
>
> Yup, I explicitly made that choice: turning off CRCs immediately
> turns off all functionality dependent on it. Especially as the
> number of errors being thrown by xfstests when run with
> MKFS_OPTIONS="-m crc=0".
>
>> # mkfs/mkfs.xfs -dfile,name=fsfile,size=1g -m crc=0,finobt=1
>> meta-data=fsfile isize=256 agcount=4, agsize=65536 blks
>> = sectsz=512 attr=2, projid32bit=1
>> = crc=0 finobt=0
>> ...
>
>> This might require a "finobtflag" to keep track of whether it's
>> user-specified,
>> as we do with other options?
>
> I *hate* the profusion of flags in mkfs just to detect this sort of
> thing. This is a clear case where "do what I mean" rather than "do
> what I say" is the prefered behaviour - the current code is a
> horrible mess because it tries handle every weird combination of "do
> what I say" with some error message.
>
> I'll change it to add the stupid error message back in and go and
> write all the patches for xfstests not to fail because we changed
> mkfs defaults...
Oops, I accidentally missed reply-all last time.
I just think that silently changing an explicitly-specified option seems
like a bad idea.
Perhaps if defaults are specified before getopt, the getopt handlers can
flag the incorrect combination, and bail without the extra flag.
I don't see how this requires xfstests rework, though?
-Eric
|