All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [PATCH 07/27] qemu-img: check: refresh options/--help
Date: Tue, 13 May 2025 17:54:54 +0200	[thread overview]
Message-ID: <aCNrThMpezno1o1Z@redhat.com> (raw)
In-Reply-To: <20240927061121.573271-8-mjt@tls.msk.ru>

Am 27.09.2024 um 08:11 hat Michael Tokarev geschrieben:
> Add missing long options and --help output.
> 
> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
> ---
>  qemu-img.c | 38 ++++++++++++++++++++++++++++++--------
>  1 file changed, 30 insertions(+), 8 deletions(-)
> 
> diff --git a/qemu-img.c b/qemu-img.c
> index 08536553c7..1bd88fcf63 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -805,7 +805,9 @@ static int img_check(const img_cmd_t *ccmd, int argc, char **argv)
>          int option_index = 0;
>          static const struct option long_options[] = {
>              {"help", no_argument, 0, 'h'},
> +            {"quiet", no_argument, 0, 'q'},
>              {"format", required_argument, 0, 'f'},
> +            {"cache", required_argument, 0, 'T'},
>              {"repair", required_argument, 0, 'r'},
>              {"output", required_argument, 0, OPTION_OUTPUT},
>              {"object", required_argument, 0, OPTION_OBJECT},
> @@ -813,20 +815,38 @@ static int img_check(const img_cmd_t *ccmd, int argc, char **argv)
>              {"force-share", no_argument, 0, 'U'},
>              {0, 0, 0, 0}
>          };
> -        c = getopt_long(argc, argv, ":hf:r:T:qU",
> +        c = getopt_long(argc, argv, "hf:r:T:qU",
>                          long_options, &option_index);
>          if (c == -1) {
>              break;
>          }
>          switch(c) {
> -        case ':':
> -            missing_argument(argv[optind - 1]);
> -            break;
> -        case '?':
> -            unrecognized_option(argv[optind - 1]);
> -            break;
>          case 'h':
> -            help();
> +            cmd_help(ccmd,
> +"[-f FMT | --image-opts] [-T CACHE_MODE] [-r] [-u]\n"
> +"        [--output human|json] [--object OBJDEF] FILENAME\n"
> +,
> +"  -q, --quiet\n"
> +"     quiet operations\n"

Let's keep the help text more in line with the terminology used in the
man page, even if shorter at times.

I would use the first sentence from it here: "Quiet mode - do not print
any output (except errors)"

> +"  -f, --format FMT\n"
> +"     specifies format of the image explicitly\n"

Maybe "format of the image (default: probing is used)"?

> +"  --image-opts\n"
> +"     indicates that FILENAME is a complete image specification\n"
> +"     instead of a file name (incompatible with --format)\n"

The man page has:

  Indicates that the source *FILENAME* parameter is to be interpreted as a
  full option string, not a plain filename. This parameter is mutually
  exclusive with the *-f* parameter.

A possible adaptation for qemu-img check specially:

  indicates that FILENAME is a full option string, not a plain filename
  (incompatible with --format)

> +"  -T, --cache CACHE_MODE\n"
> +"     image cache mode (" BDRV_DEFAULT_CACHE ")\n"

+"     image cache mode (default: " BDRV_DEFAULT_CACHE ")\n"

> +"  -U, --force-share\n"
> +"     open image in shared mode for concurrent access\n"
> +"  --output human|json\n"
> +"     output format\n"
> +"  -r, --repair leaks|all\n"
> +"     repair particular aspect of the image\n"

"repair errors of the given category in the image"?

> +"     (image will be open in read-write mode, incompatible with --force-share)\n"
> +"  --object OBJDEF\n"
> +"     QEMU user-creatable object (eg encryption key)\n"

"e.g."

> +"  FILENAME\n"
> +"     the image file (or image specification) to operate on\n"

To keep consistency with the above suggestion: "(or option string)"

> +);
>              break;
>          case 'f':
>              fmt = optarg;
> @@ -861,6 +881,8 @@ static int img_check(const img_cmd_t *ccmd, int argc, char **argv)
>          case OPTION_IMAGE_OPTS:
>              image_opts = true;
>              break;
> +        default:
> +            tryhelp(argv[0]);
>          }
>      }
>      if (optind != argc - 1) {

Kevin



  reply	other threads:[~2025-05-13 15:55 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-27  6:10 [PATCH resend v3 00/27] qemu-img: refersh options and --help handling, cleanups Michael Tokarev
2024-09-27  6:10 ` [PATCH 01/27] qemu-img: measure: convert img_size to signed, simplify handling Michael Tokarev
2024-11-05 19:27   ` Kevin Wolf
2024-09-27  6:10 ` [PATCH 02/27] qemu-img: create: " Michael Tokarev
2024-11-05 19:27   ` Kevin Wolf
2024-09-27  6:10 ` [PATCH 03/27] qemu-img: global option processing and error printing Michael Tokarev
2024-11-05 19:29   ` Kevin Wolf
2024-09-27  6:10 ` [PATCH 04/27] qemu-img: pass current cmd info into command handlers Michael Tokarev
2024-11-05 19:29   ` Kevin Wolf
2024-09-27  6:10 ` [PATCH 05/27] qemu-img: create: refresh options/--help Michael Tokarev
2024-11-05 19:57   ` Kevin Wolf
2024-09-27  6:11 ` [PATCH 06/27] qemu-img: factor out parse_output_format() and use it in the code Michael Tokarev
2025-05-13 15:25   ` Kevin Wolf
2024-09-27  6:11 ` [PATCH 07/27] qemu-img: check: refresh options/--help Michael Tokarev
2025-05-13 15:54   ` Kevin Wolf [this message]
2025-05-15  6:50     ` Michael Tokarev
2025-05-15  7:53       ` Kevin Wolf
2025-05-31 16:51     ` Michael Tokarev
2025-06-02 10:44       ` Kevin Wolf
2024-09-27  6:11 ` [PATCH 08/27] qemu-img: simplify --repair error message Michael Tokarev
2025-05-13 16:05   ` Kevin Wolf
2024-09-27  6:11 ` [PATCH 09/27] qemu-img: commit: refresh options/--help Michael Tokarev
2025-05-13 16:24   ` Kevin Wolf
2024-09-27  6:11 ` [PATCH 10/27] qemu-img: compare: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 11/27] qemu-img: convert: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 12/27] qemu-img: info: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 13/27] qemu-img: map: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 14/27] qemu-img: snapshot: allow specifying -f fmt Michael Tokarev
2024-09-27  6:11 ` [PATCH 15/27] qemu-img: snapshot: make -l (list) the default, simplify option handling Michael Tokarev
2024-09-27  6:11 ` [PATCH 16/27] qemu-img: snapshot: refresh options/--help Michael Tokarev
2024-09-27  6:11 ` [PATCH 17/27] qemu-img: rebase: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 18/27] qemu-img: resize: do not always eat last argument Michael Tokarev
2024-09-27  6:11 ` [PATCH 19/27] qemu-img: resize: refresh options/--help Michael Tokarev
2024-09-27  6:11 ` [PATCH 20/27] qemu-img: amend: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 21/27] qemu-img: bench: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 22/27] qemu-img: bitmap: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 23/27] qemu-img: dd: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 24/27] qemu-img: measure: " Michael Tokarev
2024-09-27  6:11 ` [PATCH 25/27] qemu-img: implement short --help, remove global help() function Michael Tokarev
2024-09-27  6:11 ` [PATCH 26/27] qemu-img: inline list of supported commands, remove qemu-img-cmds.h include Michael Tokarev
2024-09-27  6:11 ` [PATCH 27/27] qemu-img: extend cvtnum() and use it in more places Michael Tokarev
2024-10-23  6:15 ` [PATCH resend v3 00/27] qemu-img: refersh options and --help handling, cleanups Michael Tokarev
  -- strict thread matches above, loose matches on Subject: below --
2025-05-31 17:15 [PATCH v4 00/27] refresh qemu-img options handling Michael Tokarev
2025-05-31 17:15 ` [PATCH 07/27] qemu-img: check: refresh options/--help Michael Tokarev
2024-04-24  8:50 [PATCH v3 00/27] qemu-img: refersh options and --help handling, cleanups Michael Tokarev
2024-04-24  8:50 ` [PATCH 07/27] qemu-img: check: refresh options/--help Michael Tokarev

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=aCNrThMpezno1o1Z@redhat.com \
    --to=kwolf@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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.