Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zpool/zfs: allow --json wherever -j is allowed #16632

Merged
merged 1 commit into from
Oct 11, 2024

Conversation

robn
Copy link
Member

@robn robn commented Oct 10, 2024

[Sponsors: Klara, Inc., Wasabi Technology, Inc.]

Motivation and Context

Mostly so that with the JSON formatting options are also used, they all look the same. To my eye, -j --json-flat-vdevs suggests that they are different or unrelated, while --json --json-flat-vdevs invites no further questions.

Description

Anywhere -j is accepted, also allow --json. For a couple of things, this means changing to getopt_long(), but its no big deal.

I have left the usage doc using -j, and added --json to the flag descriptions in the manpages only. This is roughly in keeping with existing practice (zpool initialize). Trying to express both just clutters it up, and I'm not some longopt absolutist!

How Has This Been Tested?

By hand. For all commands change, made sure -j and --json appear to do the same thing. Special double-check for zfs mount and zfs unmount, which is slightly twisted. Everything looks good to me!

Update: json_sanity updated by request, now checking both forms.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

Copy link
Contributor

@behlendorf behlendorf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, let's just add some usage of the long option to json/json_sanity.ksh.

@behlendorf behlendorf added the Status: Code Review Needed Ready for review and testing label Oct 10, 2024
@behlendorf behlendorf added Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Oct 10, 2024
Mostly so that with the JSON formatting options are also used, they all
look the same. To my eye, `-j --json-flat-vdevs` suggests that they are
different or unrelated, while `--json --json-flat-vdevs` invites no
further questions.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
@robn
Copy link
Member Author

robn commented Oct 10, 2024

Oh neat, I missed that test. Updated, thanks!

@behlendorf behlendorf merged commit 7bf5255 into openzfs:master Oct 11, 2024
18 of 20 checks passed
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Oct 11, 2024
Mostly so that with the JSON formatting options are also used, they all
look the same. To my eye, `-j --json-flat-vdevs` suggests that they are
different or unrelated, while `--json --json-flat-vdevs` invites no
further questions.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Umer Saleem <usaleem@ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes openzfs#16632
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants