1QA output created by 081 2 3== creating quorum files == 4Formatting 'TEST_DIR/1.IMGFMT', fmt=IMGFMT size=10485760 5Formatting 'TEST_DIR/2.IMGFMT', fmt=IMGFMT size=10485760 6Formatting 'TEST_DIR/3.IMGFMT', fmt=IMGFMT size=10485760 7 8== writing images == 9wrote 10485760/10485760 bytes at offset 0 1010 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 11 12== checking quorum write == 13read 10485760/10485760 bytes at offset 0 1410 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 15read 10485760/10485760 bytes at offset 0 1610 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 17read 10485760/10485760 bytes at offset 0 1810 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 19 20== corrupting image == 21wrote 10485760/10485760 bytes at offset 0 2210 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 23 24== checking quorum correction == 25read 10485760/10485760 bytes at offset 0 2610 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 27 28== checking mixed reference/option specification == 29Testing: 30QMP_VERSION 31{"return": {}} 32{"return": {}} 33{"return": {}} 34{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "QUORUM_REPORT_BAD", "data": {"node-name": "drive2", "sectors-count": 20480, "sector-num": 0, "type": "read"}} 35read 10485760/10485760 bytes at offset 0 3610 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 37{"return": ""} 38{"return": {}} 39{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 40 41 42== using quorum rewrite corrupted mode == 43read 10485760/10485760 bytes at offset 0 4410 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 45 46== checking that quorum has corrected the corrupted file == 47read 10485760/10485760 bytes at offset 0 4810 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 49 50== breaking quorum == 51wrote 10485760/10485760 bytes at offset 0 5210 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 53wrote 10485760/10485760 bytes at offset 0 5410 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 55 56== checking that quorum is broken == 57read failed: Input/output error 58 59== checking the blkverify mode with broken content == 60quorum: offset=0 bytes=10485760 contents mismatch at offset 0 61 62== writing the same data to both files == 63wrote 10485760/10485760 bytes at offset 0 6410 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 65wrote 10485760/10485760 bytes at offset 0 6610 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 67 68== checking the blkverify mode with valid content == 69read 10485760/10485760 bytes at offset 0 7010 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) 71 72== checking the blkverify mode with invalid settings == 73qemu-io: can't open: blkverify=on can only be set if there are exactly two files and vote-threshold is 2 74 75== dynamically adding a child to a quorum == 76Testing: 77QMP_VERSION 78{"return": {}} 79{"return": {}} 80{"return": {}} 81{"return": {}} 82{"return": {}} 83{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 84 85Testing: 86QMP_VERSION 87{"return": {}} 88{"return": {}} 89{"return": {}} 90{"error": {"class": "GenericError", "desc": "Cannot add a child to a quorum in blkverify mode"}} 91{"return": {}} 92{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 93 94 95== dynamically removing a child from a quorum == 96Testing: 97QMP_VERSION 98{"return": {}} 99{"return": {}} 100{"return": {}} 101{"return": {}} 102{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 103 104Testing: 105QMP_VERSION 106{"return": {}} 107{"return": {}} 108{"error": {"class": "GenericError", "desc": "The number of children cannot be lower than the vote threshold 2"}} 109{"return": {}} 110{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 111 112Testing: 113QMP_VERSION 114{"return": {}} 115{"error": {"class": "GenericError", "desc": "blkverify=on can only be set if there are exactly two files and vote-threshold is 2"}} 116{"error": {"class": "GenericError", "desc": "Cannot find device=drive0-quorum nor node_name=drive0-quorum"}} 117{"return": {}} 118{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 119 120Testing: 121QMP_VERSION 122{"return": {}} 123{"return": {}} 124{"error": {"class": "GenericError", "desc": "The number of children cannot be lower than the vote threshold 2"}} 125{"return": {}} 126{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} 127 128*** done 129