| QA output created by 081 |
| |
| == creating quorum files == |
| Formatting 'TEST_DIR/1.IMGFMT', fmt=IMGFMT size=10485760 |
| Formatting 'TEST_DIR/2.IMGFMT', fmt=IMGFMT size=10485760 |
| Formatting 'TEST_DIR/3.IMGFMT', fmt=IMGFMT size=10485760 |
| |
| == writing images == |
| wrote 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| == checking quorum write == |
| read 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| read 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| read 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| == corrupting image == |
| wrote 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| == checking quorum correction == |
| read 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| == checking mixed reference/option specification == |
| Testing: |
| QMP_VERSION |
| {"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": ""} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| |
| == using quorum rewrite corrupted mode == |
| read 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| == checking that quorum has corrected the corrupted file == |
| read 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| |
| == breaking quorum == |
| wrote 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| wrote 10485760/10485760 bytes at offset 0 |
| 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 |
| |
| == checking the blkverify mode with broken content == |
| quorum: offset=0 bytes=10485760 contents mismatch at offset 0 |
| |
| == writing the same data to both files == |
| wrote 10485760/10485760 bytes at offset 0 |
| 10 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) |
| wrote 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 valid content == |
| 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 invalid settings == |
| qemu-io: can't open: blkverify=on can only be set if there are exactly two files and vote-threshold is 2 |
| |
| == dynamically adding a child to a quorum == |
| Testing: |
| QMP_VERSION |
| {"return": {}} |
| {"return": {}} |
| {"return": {}} |
| {"return": {}} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| Testing: |
| QMP_VERSION |
| {"return": {}} |
| {"return": {}} |
| {"return": {}} |
| {"error": {"class": "GenericError", "desc": "Cannot add a child to a quorum in blkverify mode"}} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| |
| == dynamically removing a child from a quorum == |
| Testing: |
| QMP_VERSION |
| {"return": {}} |
| {"return": {}} |
| {"return": {}} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| Testing: |
| QMP_VERSION |
| {"return": {}} |
| {"return": {}} |
| {"error": {"class": "GenericError", "desc": "The number of children cannot be lower than the vote threshold 2"}} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| Testing: |
| QMP_VERSION |
| {"return": {}} |
| {"error": {"class": "GenericError", "desc": "blkverify=on can only be set if there are exactly two files and vote-threshold is 2"}} |
| {"error": {"class": "GenericError", "desc": "Cannot find device=drive0-quorum nor node_name=drive0-quorum"}} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| Testing: |
| QMP_VERSION |
| {"return": {}} |
| {"return": {}} |
| {"error": {"class": "GenericError", "desc": "The number of children cannot be lower than the vote threshold 2"}} |
| {"return": {}} |
| {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} |
| |
| *** done |