diff mbox

[v2] qemu-img: Document check exit codes

Message ID 1401740121-15506-1-git-send-email-mreitz@redhat.com
State New
Headers show

Commit Message

Max Reitz June 2, 2014, 8:15 p.m. UTC
The exit code 63 (check not supported by image format) was not even
documented in the comment above the check command in the source code;
add it, as it does indeed seem useful.

Also, document all of check's exit codes in the manpage.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reported-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
v2: Fixed spelling mistakes [Eric]
---
 qemu-img.c    |  9 +++++----
 qemu-img.texi | 23 +++++++++++++++++++++++
 2 files changed, 28 insertions(+), 4 deletions(-)

Comments

Benoît Canet June 3, 2014, 8:43 a.m. UTC | #1
The Monday 02 Jun 2014 à 22:15:21 (+0200), Max Reitz wrote :
> The exit code 63 (check not supported by image format) was not even
> documented in the comment above the check command in the source code;
> add it, as it does indeed seem useful.
> 
> Also, document all of check's exit codes in the manpage.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> Reported-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> v2: Fixed spelling mistakes [Eric]
> ---
>  qemu-img.c    |  9 +++++----
>  qemu-img.texi | 23 +++++++++++++++++++++++
>  2 files changed, 28 insertions(+), 4 deletions(-)
> 
> diff --git a/qemu-img.c b/qemu-img.c
> index b3d2bc6..aa89ba2 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -580,10 +580,11 @@ static int collect_image_check(BlockDriverState *bs,
>  /*
>   * Checks an image for consistency. Exit codes:
>   *
> - * 0 - Check completed, image is good
> - * 1 - Check not completed because of internal errors
> - * 2 - Check completed, image is corrupted
> - * 3 - Check completed, image has leaked clusters, but is good otherwise
> + *  0 - Check completed, image is good
> + *  1 - Check not completed because of internal errors
> + *  2 - Check completed, image is corrupted
> + *  3 - Check completed, image has leaked clusters, but is good otherwise
> + * 63 - Checks are not supported by the image format
>   */
>  static int img_check(int argc, char **argv)
>  {
> diff --git a/qemu-img.texi b/qemu-img.texi
> index f84590e..c68b541 100644
> --- a/qemu-img.texi
> +++ b/qemu-img.texi
> @@ -126,6 +126,29 @@ wrong fix or hiding corruption that has already occurred.
>  Only the formats @code{qcow2}, @code{qed} and @code{vdi} support
>  consistency checks.
>  
> +In case the image does not have any inconsistencies, check exits with @code{0}.
> +Other exit codes indicate the kind of inconsistency found or if another error
> +occurred. The following table summarizes all exit codes of the check subcommand:
> +
> +@table @option
> +
> +@item 0
> +Check completed, the image is (now) consistent
> +@item 1
> +Check not completed because of internal errors
> +@item 2
> +Check completed, image is corrupted
> +@item 3
> +Check completed, image has leaked clusters, but is not corrupted
> +@item 63
> +Checks are not supported by the image format
> +
> +@end table
> +
> +If @code{-r} is specified, exit codes representing the image state refer to the
> +state after (the attempt at) repairing it. That is, a successful @code{-r all}
> +will yield the exit code 0, independently of the image state before.
> +
>  @item create [-f @var{fmt}] [-o @var{options}] @var{filename} [@var{size}]
>  
>  Create the new disk image @var{filename} of size @var{size} and format
> -- 
> 1.9.3
> 
> 
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Kevin Wolf June 3, 2014, 9:07 a.m. UTC | #2
Am 02.06.2014 um 22:15 hat Max Reitz geschrieben:
> The exit code 63 (check not supported by image format) was not even
> documented in the comment above the check command in the source code;
> add it, as it does indeed seem useful.
> 
> Also, document all of check's exit codes in the manpage.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> Reported-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> v2: Fixed spelling mistakes [Eric]

Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Stefan Hajnoczi June 4, 2014, 9:30 a.m. UTC | #3
On Mon, Jun 02, 2014 at 10:15:21PM +0200, Max Reitz wrote:
> The exit code 63 (check not supported by image format) was not even
> documented in the comment above the check command in the source code;
> add it, as it does indeed seem useful.
> 
> Also, document all of check's exit codes in the manpage.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> Reported-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> v2: Fixed spelling mistakes [Eric]
> ---
>  qemu-img.c    |  9 +++++----
>  qemu-img.texi | 23 +++++++++++++++++++++++
>  2 files changed, 28 insertions(+), 4 deletions(-)

Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block

Stefan
diff mbox

Patch

diff --git a/qemu-img.c b/qemu-img.c
index b3d2bc6..aa89ba2 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -580,10 +580,11 @@  static int collect_image_check(BlockDriverState *bs,
 /*
  * Checks an image for consistency. Exit codes:
  *
- * 0 - Check completed, image is good
- * 1 - Check not completed because of internal errors
- * 2 - Check completed, image is corrupted
- * 3 - Check completed, image has leaked clusters, but is good otherwise
+ *  0 - Check completed, image is good
+ *  1 - Check not completed because of internal errors
+ *  2 - Check completed, image is corrupted
+ *  3 - Check completed, image has leaked clusters, but is good otherwise
+ * 63 - Checks are not supported by the image format
  */
 static int img_check(int argc, char **argv)
 {
diff --git a/qemu-img.texi b/qemu-img.texi
index f84590e..c68b541 100644
--- a/qemu-img.texi
+++ b/qemu-img.texi
@@ -126,6 +126,29 @@  wrong fix or hiding corruption that has already occurred.
 Only the formats @code{qcow2}, @code{qed} and @code{vdi} support
 consistency checks.
 
+In case the image does not have any inconsistencies, check exits with @code{0}.
+Other exit codes indicate the kind of inconsistency found or if another error
+occurred. The following table summarizes all exit codes of the check subcommand:
+
+@table @option
+
+@item 0
+Check completed, the image is (now) consistent
+@item 1
+Check not completed because of internal errors
+@item 2
+Check completed, image is corrupted
+@item 3
+Check completed, image has leaked clusters, but is not corrupted
+@item 63
+Checks are not supported by the image format
+
+@end table
+
+If @code{-r} is specified, exit codes representing the image state refer to the
+state after (the attempt at) repairing it. That is, a successful @code{-r all}
+will yield the exit code 0, independently of the image state before.
+
 @item create [-f @var{fmt}] [-o @var{options}] @var{filename} [@var{size}]
 
 Create the new disk image @var{filename} of size @var{size} and format