Bug 1779547

Summary: pvck settings documentation and usage
Product: Red Hat Enterprise Linux 8 Reporter: Marian Csontos <mcsontos>
Component: lvm2Assignee: David Teigland <teigland>
lvm2 sub component: Command-line tools QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: agk, heinzm, jbrassow, msnitzer, pasik, prajnoha, rbednar, rhandlin, thornber, zkabelac
Version: 8.1   
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lvm2-2.03.08-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 02:00:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marian Csontos 2019-12-04 08:33:58 UTC
1. There is some inconsistency in the man page:

--settings String
Specifies command specific settings in "Key = Value" form. Repeat this option to specify multiple values.

While at another place it says `--settings "mda_offset=0 mda_size=0"`.

So, it seems to be white space separated list.

Also it is not clear, are the spaces in the above `Key = Value` significant? Would it work with spaces at all, when it is space separated list?

2. Can one use units with e.g. mda_size, or is the size in bytes? Or is the only supported value 0?

3. Repair is specified as `--repairtype pv_header|metadata|label_header`, but dump as `--dump String`. 
Why not `--dump headers|metadata|metadata_all|metadata_search|metadata_area`? IMO this would be much more useful in help output, than just `-- dump String`.

4. Some commands take --metadata_offset, some --mda_offset. Are both correct and the same thing, or is this correct but different meaning, or is this a mistake?

5. If settings are command specific, would it make more sense to make these regular options, and have man page, help page, and option suggestions work with them, like with any other options?

Comment 1 David Teigland 2019-12-06 22:25:16 UTC
(In reply to Marian Csontos from comment #0)
> 1. There is some inconsistency in the man page:
> 
> --settings String
> Specifies command specific settings in "Key = Value" form. Repeat this
> option to specify multiple values.
> 
> While at another place it says `--settings "mda_offset=0 mda_size=0"`.
> 
> So, it seems to be white space separated list.

Either or both works (like cachesettings.)  To help clarify that flexibility,
I updated the description to:

    "Specifies command specific settings in \"Key = Value\" form.\n"
    "Combine multiple settings in quotes, or repeat the settings\n"
    "option for each.\n")

> Also it is not clear, are the spaces in the above `Key = Value` significant?
> Would it work with spaces at all, when it is space separated list?

It works with or without spaces.

> 2. Can one use units with e.g. mda_size, or is the size in bytes? Or is the
> only supported value 0?

All offset or size values are in bytes, no unit specifications allowed.
I've updated the man page with more info about the settings.

> 3. Repair is specified as `--repairtype pv_header|metadata|label_header`,
> but dump as `--dump String`. 
> Why not `--dump
> headers|metadata|metadata_all|metadata_search|metadata_area`? IMO this would
> be much more useful in help output, than just `-- dump String`.

I'll get back to this at some point, I wasn't sure which ones to list, and I have an interest in keeping some of these informal, i.e. they might go away or change.  As internal debugging features they are at a different level than a functional interface.

> 4. Some commands take --metadata_offset, some --mda_offset. Are both correct
> and the same thing, or is this correct but different meaning, or is this a
> mistake?

mda refers to the offset/size of the metadata area, and metadata refers to the location of one instance of metadata text.

> 5. If settings are command specific, would it make more sense to make these
> regular options, and have man page, help page, and option suggestions work
> with them, like with any other options?

I consider these to be informal / unstable / subject to change, since they relate to internal details which we are free to change at any time.  They may be also be added/removed as our debugging needs change (kind of like our -vvvv debug output.)

Comment 2 Marian Csontos 2020-02-11 09:42:20 UTC
Comments were addressed on master branch. Thanks

Comment 3 Roman Bednář 2020-04-14 07:38:44 UTC
Can you please post a link to the commits related to this manpage update?

Comment 4 David Teigland 2020-04-14 14:02:29 UTC
https://sourceware.org/git/?p=lvm2.git;a=history;f=man/pvck.8_des;h=b87345e3ab3caf94badaaa2710f18cbb96c0f2a6;hb=HEAD

but I don't think the purpose of this bz was for QE as much as it was for Marian to offer some suggestions.

Comment 10 errata-xmlrpc 2020-11-04 02:00:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (lvm2 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4546