[PATCH v2] qemu-img: Fix Column Width and Improve Formatting in snapshot list

Abhiram Tilak posted 1 patch 8 months, 1 week ago
Failed in applying to current master (apply log)
There is a newer version of this series
block/qapi.c                                  | 10 ++--
tests/qemu-iotests/267.out                    | 48 +++++++++----------
.../tests/qcow2-internal-snapshots.out        | 10 ++--
3 files changed, 35 insertions(+), 33 deletions(-)
[PATCH v2] qemu-img: Fix Column Width and Improve Formatting in snapshot list
Posted by Abhiram Tilak 8 months, 1 week ago
When running the command `qemu-img snapshot -l SNAPSHOT` the output of
VM_CLOCK (measures the offset between host and VM clock) cannot to
accommodate values in the order of thousands (4-digit).

This line [1] hints on the problem. Additionally, the column width for
the VM_CLOCK field was reduced from 15 to 13 spaces in commit b39847a5
in line [2], resulting in a shortage of space.

[1]: https://gitlab.com/qemu-project/qemu/-/blob/master/block/qapi.c?ref_type=heads#L753
[2]: https://gitlab.com/qemu-project/qemu/-/blob/master/block/qapi.c?ref_type=heads#L763

This patch restores the column width to 15 spaces and makes adjustments
to the affected iotests accordingly. Furthermore, addresses a potential source
of confusion by removing whitespace in column headers. Example, VM CLOCK
is modified to VM_CLOCK. Additionally a '--' symbol is introduced when
ICOUNT returns no output for clarity.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2062
Fixes: b39847a50553 (migration: introduce icount field for snapshots )
Signed-off-by: Abhiram Tilak <atp.exp@gmail.com>
---
 block/qapi.c                                  | 10 ++--
 tests/qemu-iotests/267.out                    | 48 +++++++++----------
 .../tests/qcow2-internal-snapshots.out        | 10 ++--
 3 files changed, 35 insertions(+), 33 deletions(-)

diff --git a/block/qapi.c b/block/qapi.c
index 9e806fa230..500afc20c7 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -742,15 +742,15 @@ void bdrv_snapshot_dump(QEMUSnapshotInfo *sn)
     char *sizing = NULL;

     if (!sn) {
-        qemu_printf("%-10s%-17s%8s%20s%13s%11s",
-                    "ID", "TAG", "VM SIZE", "DATE", "VM CLOCK", "ICOUNT");
+        qemu_printf("%-10s%-17s%8s%20s%15s%11s",
+                    "ID", "TAG", "VM_SIZE", "DATE", "VM_CLOCK", "ICOUNT");
     } else {
         g_autoptr(GDateTime) date = g_date_time_new_from_unix_local(sn->date_sec);
         g_autofree char *date_buf = g_date_time_format(date, "%Y-%m-%d %H:%M:%S");

         secs = sn->vm_clock_nsec / 1000000000;
         snprintf(clock_buf, sizeof(clock_buf),
-                 "%02d:%02d:%02d.%03d",
+                 "%04d:%02d:%02d.%03d",
                  (int)(secs / 3600),
                  (int)((secs / 60) % 60),
                  (int)(secs % 60),
@@ -759,8 +759,10 @@ void bdrv_snapshot_dump(QEMUSnapshotInfo *sn)
         if (sn->icount != -1ULL) {
             snprintf(icount_buf, sizeof(icount_buf),
                 "%"PRId64, sn->icount);
+        } else {
+            snprintf(icount_buf, sizeof(icount_buf), "--");
         }
-        qemu_printf("%-9s %-16s %8s%20s%13s%11s",
+        qemu_printf("%-9s %-16s %8s%20s%15s%11s",
                     sn->id_str, sn->name,
                     sizing,
                     date_buf,
diff --git a/tests/qemu-iotests/267.out b/tests/qemu-iotests/267.out
index 7176e376e1..21339e67ad 100644
--- a/tests/qemu-iotests/267.out
+++ b/tests/qemu-iotests/267.out
@@ -33,8 +33,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -44,8 +44,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -69,8 +69,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -94,8 +94,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -105,8 +105,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -119,8 +119,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -134,8 +134,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

@@ -145,15 +145,15 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

 Internal snapshots on overlay:
 Snapshot list:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
-1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 Internal snapshots on backing file:

 === -blockdev with NBD server on the backing file ===
@@ -166,17 +166,17 @@ QEMU X.Y.Z monitor - type 'help' for more information
 (qemu) savevm snap0
 (qemu) info snapshots
 List of snapshots present on all disks:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 (qemu) loadvm snap0
 (qemu) quit

 Internal snapshots on overlay:
 Snapshot list:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
-1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 Internal snapshots on backing file:
 Snapshot list:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
-1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 *** done
diff --git a/tests/qemu-iotests/tests/qcow2-internal-snapshots.out b/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
index 438f535e6a..c324131561 100644
--- a/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
+++ b/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
@@ -14,8 +14,8 @@ wrote 524288/524288 bytes at offset 0
 (qemu) quit

 Snapshot list:
-ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
-1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+ID        TAG               VM_SIZE                DATE       VM_CLOCK     ICOUNT
+1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 No errors were found on the image.

 === Verify that loading the snapshot reverts to the old content ===
@@ -48,8 +48,8 @@ read 64512/64512 bytes at offset 66560

 Snapshot list:
 ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
-1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
-2         snap1                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
+2         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 No errors were found on the image.

 === qemu-img snapshot can revert to snapshots ===
@@ -80,7 +80,7 @@ read 64512/64512 bytes at offset 66560

 Snapshot list:
 ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
-1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
+1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000         --
 No errors were found on the image.

 === Error cases ===
--
2.40.1
Re: [PATCH v2] qemu-img: Fix Column Width and Improve Formatting in snapshot list
Posted by atp exp 8 months, 1 week ago
Changes from v2:
- Change email provider to 'gmail', to prevent auto-wrapping patches.
- Change more unit tests in
'tests/qemu-iotests/tests/qcow2-internal-snapshots.out'

On Thu, 11 Jan 2024 at 10:39, Abhiram Tilak <atp.exp@gmail.com> wrote:

> When running the command `qemu-img snapshot -l SNAPSHOT` the output of
> VM_CLOCK (measures the offset between host and VM clock) cannot to
> accommodate values in the order of thousands (4-digit).
>
> This line [1] hints on the problem. Additionally, the column width for
> the VM_CLOCK field was reduced from 15 to 13 spaces in commit b39847a5
> in line [2], resulting in a shortage of space.
>
> [1]:
> https://gitlab.com/qemu-project/qemu/-/blob/master/block/qapi.c?ref_type=heads#L753
> [2]:
> https://gitlab.com/qemu-project/qemu/-/blob/master/block/qapi.c?ref_type=heads#L763
>
> This patch restores the column width to 15 spaces and makes adjustments
> to the affected iotests accordingly. Furthermore, addresses a potential
> source
> of confusion by removing whitespace in column headers. Example, VM CLOCK
> is modified to VM_CLOCK. Additionally a '--' symbol is introduced when
> ICOUNT returns no output for clarity.
>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2062
> Fixes: b39847a50553 (migration: introduce icount field for snapshots )
> Signed-off-by: Abhiram Tilak <atp.exp@gmail.com>
> ---
>  block/qapi.c                                  | 10 ++--
>  tests/qemu-iotests/267.out                    | 48 +++++++++----------
>  .../tests/qcow2-internal-snapshots.out        | 10 ++--
>  3 files changed, 35 insertions(+), 33 deletions(-)
>
> diff --git a/block/qapi.c b/block/qapi.c
> index 9e806fa230..500afc20c7 100644
> --- a/block/qapi.c
> +++ b/block/qapi.c
> @@ -742,15 +742,15 @@ void bdrv_snapshot_dump(QEMUSnapshotInfo *sn)
>      char *sizing = NULL;
>
>      if (!sn) {
> -        qemu_printf("%-10s%-17s%8s%20s%13s%11s",
> -                    "ID", "TAG", "VM SIZE", "DATE", "VM CLOCK", "ICOUNT");
> +        qemu_printf("%-10s%-17s%8s%20s%15s%11s",
> +                    "ID", "TAG", "VM_SIZE", "DATE", "VM_CLOCK", "ICOUNT");
>      } else {
>          g_autoptr(GDateTime) date =
> g_date_time_new_from_unix_local(sn->date_sec);
>          g_autofree char *date_buf = g_date_time_format(date, "%Y-%m-%d
> %H:%M:%S");
>
>          secs = sn->vm_clock_nsec / 1000000000;
>          snprintf(clock_buf, sizeof(clock_buf),
> -                 "%02d:%02d:%02d.%03d",
> +                 "%04d:%02d:%02d.%03d",
>                   (int)(secs / 3600),
>                   (int)((secs / 60) % 60),
>                   (int)(secs % 60),
> @@ -759,8 +759,10 @@ void bdrv_snapshot_dump(QEMUSnapshotInfo *sn)
>          if (sn->icount != -1ULL) {
>              snprintf(icount_buf, sizeof(icount_buf),
>                  "%"PRId64, sn->icount);
> +        } else {
> +            snprintf(icount_buf, sizeof(icount_buf), "--");
>          }
> -        qemu_printf("%-9s %-16s %8s%20s%13s%11s",
> +        qemu_printf("%-9s %-16s %8s%20s%15s%11s",
>                      sn->id_str, sn->name,
>                      sizing,
>                      date_buf,
> diff --git a/tests/qemu-iotests/267.out b/tests/qemu-iotests/267.out
> index 7176e376e1..21339e67ad 100644
> --- a/tests/qemu-iotests/267.out
> +++ b/tests/qemu-iotests/267.out
> @@ -33,8 +33,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -44,8 +44,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -69,8 +69,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -94,8 +94,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -105,8 +105,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -119,8 +119,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -134,8 +134,8 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
> @@ -145,15 +145,15 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
>  Internal snapshots on overlay:
>  Snapshot list:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> -1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  Internal snapshots on backing file:
>
>  === -blockdev with NBD server on the backing file ===
> @@ -166,17 +166,17 @@ QEMU X.Y.Z monitor - type 'help' for more information
>  (qemu) savevm snap0
>  (qemu) info snapshots
>  List of snapshots present on all disks:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> ---        snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +--        snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  (qemu) loadvm snap0
>  (qemu) quit
>
>  Internal snapshots on overlay:
>  Snapshot list:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> -1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  Internal snapshots on backing file:
>  Snapshot list:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> -1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  *** done
> diff --git a/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
> b/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
> index 438f535e6a..c324131561 100644
> --- a/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
> +++ b/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
> @@ -14,8 +14,8 @@ wrote 524288/524288 bytes at offset 0
>  (qemu) quit
>
>  Snapshot list:
> -ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> -1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +ID        TAG               VM_SIZE                DATE       VM_CLOCK
>  ICOUNT
> +1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  No errors were found on the image.
>
>  === Verify that loading the snapshot reverts to the old content ===
> @@ -48,8 +48,8 @@ read 64512/64512 bytes at offset 66560
>
>  Snapshot list:
>  ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> -1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> -2         snap1                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
> +2         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  No errors were found on the image.
>
>  === qemu-img snapshot can revert to snapshots ===
> @@ -80,7 +80,7 @@ read 64512/64512 bytes at offset 66560
>
>  Snapshot list:
>  ID        TAG               VM SIZE                DATE     VM CLOCK
>  ICOUNT
> -1         snap0                SIZE yyyy-mm-dd hh:mm:ss 00:00:00.000
> +1         snap0                SIZE yyyy-mm-dd hh:mm:ss 0000:00:00.000
>      --
>  No errors were found on the image.
>
>  === Error cases ===
> --
> 2.40.1
>