On 11/1/19 11:18 PM, David Sterba wrote:
On Wed, Oct 30, 2019 at 03:42:56AM +0800, Anand Jain wrote:
Question: command -v -q -v should be equal to command -v, right?
No, that would be equivalent to the default level:
verbose starts with 1 ()
verbose++ (-v)
verbose = 0 (-q)
verbose++ is now 1, which is not -v ()
Oh I was thinking its a bug, and no need to carry forward to the global
verbose. Will make it look like this.
What do you think should be the final %verbose value when both
local and global verbose and or quiet options are specified?
For example:
btrfs -v -q sub-command -v
btrfs -q sub-command -v
btrfs -vv sub-command -q
etc..
Ah that's the conflicting part.
I'd say treat all -v and -q equal,
Umm I don't understand what is treating equal here.
The sub-command already treats differently under sub-command options.
As shown below.
case 'v':
bconf.verbose++;
break;
case 'q':
bconf.verbose = 0;
break;
so
modify the bconf.verbose variable, and it's straightforward to document.
Some time in the future we should also issue a warning for 'sub-command
-v'.
I am guessing you mean:- Warning option is deprecated ?
The order makes it unintuitive so
btrfs -q command -v
is going to be the default verbosity.
default verbosity is 0? 1 ?
As of now in send/receive default verbosity is 1. And rest
of the sub-commands its 0.
And as the -v is last to appear the command will be
equivalent to 'btrfs sub-command -q -v' which is verbosity level 1.
I hope this is reasonable.
We can't ignore the sub-command
part, and making it conditionally work in case there's no global
verbosity setting is kind of complicating it.
Umm. As of now in v1.1, the sub-command continues to operate on the
global bconf.verbose values, which works very well. Please see v1.1
in the ML.
So let's take the simple approach, maybe we'll have second thought on
that before release.
Sure. To simplify the discussion, in v1.1 cover-letter I have included
verbosity implementation code sample, hope this helps.
verbosity code sample as in v1.1
Thanks, Anand