xref: /qemu/tests/qemu-iotests/308.out (revision 138ca49a)
1QA output created by 308
2=== Set up ===
3Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
4wrote 67108864/67108864 bytes at offset 0
564 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
6{'execute': 'qmp_capabilities'}
7{"return": {}}
8{'execute': 'blockdev-add',
9      'arguments': {
10          'driver': 'file',
11          'node-name': 'node-protocol',
12          'filename': 'TEST_DIR/t.IMGFMT'
13      } }
14{"return": {}}
15{'execute': 'blockdev-add',
16      'arguments': {
17          'driver': 'IMGFMT',
18          'node-name': 'node-format',
19          'file': 'node-protocol'
20      } }
21{"return": {}}
22
23=== Mountpoint not present ===
24{'execute': 'block-export-add',
25          'arguments': {
26              'type': 'fuse',
27              'id': 'export-err',
28              'node-name': 'node-format',
29              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'
30          } }
31{"error": {"class": "GenericError", "desc": "Failed to stat 'TEST_DIR/t.IMGFMT.fuse': No such file or directory"}}
32
33=== Mountpoint is a directory ===
34{'execute': 'block-export-add',
35          'arguments': {
36              'type': 'fuse',
37              'id': 'export-err',
38              'node-name': 'node-format',
39              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'
40          } }
41{"error": {"class": "GenericError", "desc": "'TEST_DIR/t.IMGFMT.fuse' is not a regular file"}}
42
43=== Mountpoint is a regular file ===
44{'execute': 'block-export-add',
45          'arguments': {
46              'type': 'fuse',
47              'id': 'export-mp',
48              'node-name': 'node-format',
49              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'
50          } }
51{"return": {}}
52Images are identical.
53
54=== Mount over existing file ===
55{'execute': 'block-export-add',
56          'arguments': {
57              'type': 'fuse',
58              'id': 'export-img',
59              'node-name': 'node-format',
60              'mountpoint': 'TEST_DIR/t.IMGFMT'
61          } }
62{"return": {}}
63Images are identical.
64
65=== Double export ===
66{'execute': 'block-export-add',
67          'arguments': {
68              'type': 'fuse',
69              'id': 'export-err',
70              'node-name': 'node-format',
71              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse'
72          } }
73{"error": {"class": "GenericError", "desc": "There already is a FUSE export on 'TEST_DIR/t.IMGFMT.fuse'"}}
74
75=== Remove export ===
76virtual size: 64 MiB (67108864 bytes)
77{'execute': 'block-export-del',
78          'arguments': {
79              'id': 'export-mp'
80          } }
81{"return": {}}
82{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}}
83virtual size: 0 B (0 bytes)
84
85=== Writable export ===
86{'execute': 'block-export-add',
87          'arguments': {
88              'type': 'fuse',
89              'id': 'export-mp',
90              'node-name': 'node-format',
91              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse', 'writable': true
92          } }
93{"return": {}}
94write failed: Permission denied
95wrote 65536/65536 bytes at offset 1048576
9664 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
97wrote 65536/65536 bytes at offset 1048576
9864 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
99
100=== Resizing exports ===
101{'execute': 'block-export-del',
102          'arguments': {
103              'id': 'export-mp'
104          } }
105{"return": {}}
106{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}}
107{'execute': 'block-export-del',
108          'arguments': {
109              'id': 'export-img'
110          } }
111{"return": {}}
112{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export-img"}}
113{'execute': 'blockdev-del',
114      'arguments': {
115          'node-name': 'node-format'
116      } }
117{"return": {}}
118{'execute': 'block-export-add',
119          'arguments': {
120              'type': 'fuse',
121              'id': 'export-mp',
122              'node-name': 'node-protocol',
123              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse', 'writable': true
124          } }
125{"return": {}}
126
127--- Try growing non-growable export ---
128(OK: Lengths of export and original are the same)
129dd: error writing 'TEST_DIR/t.IMGFMT.fuse': Input/output error
1301+0 records in
1310+0 records out
132
133--- Resize export ---
134(OK: Lengths of export and original are the same)
135OK: Post-truncate image size is as expected
136OK: Disk usage grew with fallocate
137
138--- Try growing growable export ---
139{'execute': 'block-export-del',
140          'arguments': {
141              'id': 'export-mp'
142          } }
143{"return": {}}
144{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}}
145{'execute': 'block-export-add',
146          'arguments': {
147              'type': 'fuse',
148              'id': 'export-mp',
149              'node-name': 'node-protocol',
150              'mountpoint': 'TEST_DIR/t.IMGFMT.fuse', 'writable': true, 'growable': true
151          } }
152{"return": {}}
15365536+0 records in
15465536+0 records out
155(OK: Lengths of export and original are the same)
156OK: Post-grow image size is as expected
157
158--- Shrink export ---
159(OK: Lengths of export and original are the same)
160OK: Post-truncate image size is as expected
161
162=== Tear down ===
163{'execute': 'quit'}
164{"return": {}}
165{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
166{"timestamp": {"seconds":  TIMESTAMP, "microseconds":  TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export-mp"}}
167
168=== Compare copy with original ===
169Images are identical.
170*** done
171