On 10/10/2024 18.20, Daniel P. Berrangé wrote:
From: Alejandro Zeise <alejandro.ze...@seagate.com>

Changes the public hash API implementation to support accumulative hashing.

Implementations for the public functions are added to call the new
driver functions that implement context creation, updating,
finalization, and destruction.

Additionally changes the "shortcut" functions to use these 4 new core
functions.

Signed-off-by: Alejandro Zeise <alejandro.ze...@seagate.com>
[ clg: - Reworked qcrypto_hash_bytesv() error handling
        - Used hash->driver int qcrypto_hash_new(), qcrypto_hash_free()
          qcrypto_hash_updatev()
        - Introduced qcrypto_hash_supports() check in
          qcrypto_hash_new()
        - Introduced g_autofree variables in qcrypto_hash_finalize_digest()
          and qcrypto_hash_finalize_base64()
        - Re-arrranged code in qcrypto_hash_digestv() and
          qcrypto_hash_digest()
        - Checkpatch fixes ]
Signed-off-by: Cédric Le Goater <c...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
---
  crypto/hash.c | 161 ++++++++++++++++++++++++++++++++++++++++----------
  1 file changed, 131 insertions(+), 30 deletions(-)

 Hi,

something recently broke qemu-iotest 081 in raw mode and bisecting it pointed me to this commit here.

cd tests/qemu-iotests/ ; ./check -raw 081 ; cd ../../
[...]
081 fail [21:07:40] [21:07:42] 1.4s (last: 1.4s) output mismatch (see /home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/raw-file-081/081.out.bad)
--- /home/thuth/devel/qemu/tests/qemu-iotests/081.out
+++ /home/thuth/tmp/qemu-build/tests/qemu-iotests/scratch/raw-file-081/081.out.bad
@@ -31,7 +31,6 @@
 {"return": {}}
 {"return": {}}
 {"return": {}}
-{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "QUORUM_REPORT_BAD", "data": {"node-name": "drive2", "sectors-count": 20480, "sector-num": 0, "type": "read"}}
 read 10485760/10485760 bytes at offset 0
 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 {"return": ""}
@@ -44,6 +43,7 @@
 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

 == checking that quorum has corrected the corrupted file ==
+Pattern verification failed at offset 0, 10485760 bytes
 read 10485760/10485760 bytes at offset 0
 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

@@ -63,7 +63,6 @@
} -device virtio-scsi,id=scsi -device scsi-hd,id=quorum-drive,bus=scsi.0,drive=quorum
 QMP_VERSION
 {"return": {}}
-{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "QUORUM_REPORT_BAD", "data": {"node-name": "file2", "sectors-count": 20480, "sector-num": 0, "type": "read"}}
 read 10485760/10485760 bytes at offset 0
 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 {"return": ""}
@@ -71,6 +70,7 @@
 {"return": {}}

 -- checking that the image has been corrected --
+Pattern verification failed at offset 0, 10485760 bytes
 read 10485760/10485760 bytes at offset 0
 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

@@ -81,7 +81,9 @@
 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

 == checking that quorum is broken ==
-read failed: Input/output error
+Pattern verification failed at offset 0, 10485760 bytes
+read 10485760/10485760 bytes at offset 0
+10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

 == checking the blkverify mode with broken content ==
 quorum: offset=0 bytes=10485760 contents mismatch at offset 0
Failures: 081
Failed 1 of 1 iotests

Could you please have a look?

 Thanks,
  Thomas


Reply via email to