xref: /qemu/tests/qemu-iotests/081.out (revision 7cebff0d)
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== using quorum rewrite corrupted mode without WRITE permission ==
51-- corrupting --
52wrote 1048576/1048576 bytes at offset 1048576
531 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
54
55-- running quorum --
56Testing: -blockdev file,node-name=file1,filename=TEST_DIR/1.IMGFMT -blockdev file,node-name=file2,filename=TEST_DIR/2.IMGFMT -blockdev file,node-name=file3,filename=TEST_DIR/3.IMGFMT -blockdev {
57        "driver": "quorum",
58        "node-name": "quorum",
59        "read-only": true,
60        "vote-threshold": 2,
61        "rewrite-corrupted": true,
62        "children": [ "file1", "file2", "file3" ]
63    } -device virtio-scsi,id=scsi -device scsi-hd,id=quorum-drive,bus=scsi.0,drive=quorum
64QMP_VERSION
65{"return": {}}
66{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "QUORUM_REPORT_BAD", "data": {"node-name": "file2", "sectors-count": 20480, "sector-num": 0, "type": "read"}}
67read 10485760/10485760 bytes at offset 0
6810 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
69{"return": ""}
70{"return": {}}
71{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
72
73-- checking that the image has been corrected --
74read 10485760/10485760 bytes at offset 0
7510 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
76
77== breaking quorum ==
78wrote 10485760/10485760 bytes at offset 0
7910 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
80wrote 10485760/10485760 bytes at offset 0
8110 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
82
83== checking that quorum is broken ==
84read failed: Input/output error
85
86== checking the blkverify mode with broken content ==
87quorum: offset=0 bytes=10485760 contents mismatch at offset 0
88
89== writing the same data to both files ==
90wrote 10485760/10485760 bytes at offset 0
9110 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
92wrote 10485760/10485760 bytes at offset 0
9310 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
94
95== checking the blkverify mode with valid content ==
96read 10485760/10485760 bytes at offset 0
9710 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
98
99== checking the blkverify mode with invalid settings ==
100qemu-io: can't open: blkverify=on can only be set if there are exactly two files and vote-threshold is 2
101
102== dynamically adding a child to a quorum ==
103Testing:
104QMP_VERSION
105{"return": {}}
106{"return": {}}
107{"return": {}}
108{"return": {}}
109{"return": {}}
110{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
111
112Testing:
113QMP_VERSION
114{"return": {}}
115{"return": {}}
116{"return": {}}
117{"error": {"class": "GenericError", "desc": "Cannot add a child to a quorum in blkverify mode"}}
118{"return": {}}
119{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
120
121
122== dynamically removing a child from a quorum ==
123Testing:
124QMP_VERSION
125{"return": {}}
126{"return": {}}
127{"return": {}}
128{"return": {}}
129{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
130
131Testing:
132QMP_VERSION
133{"return": {}}
134{"return": {}}
135{"error": {"class": "GenericError", "desc": "The number of children cannot be lower than the vote threshold 2"}}
136{"return": {}}
137{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
138
139Testing:
140QMP_VERSION
141{"return": {}}
142{"error": {"class": "GenericError", "desc": "blkverify=on can only be set if there are exactly two files and vote-threshold is 2"}}
143{"error": {"class": "GenericError", "desc": "Cannot find device='drive0-quorum' nor node-name='drive0-quorum'"}}
144{"return": {}}
145{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
146
147Testing:
148QMP_VERSION
149{"return": {}}
150{"return": {}}
151{"error": {"class": "GenericError", "desc": "The number of children cannot be lower than the vote threshold 2"}}
152{"return": {}}
153{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
154
155*** done
156