xref: /qemu/tests/qemu-iotests/236.out (revision b355f08a)
1--- Preparing image & VM ---
2
3
4--- Adding preliminary bitmaps A & B ---
5
6{"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmapA", "node": "drive0"}}
7{"return": {}}
8{"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmapB", "node": "drive0"}}
9{"return": {}}
10
11--- Emulating writes ---
12
13write -P0x5d 0 64k
14{"return": ""}
15write -P0xd5 1M 64k
16{"return": ""}
17write -P0xdc 32M 64k
18{"return": ""}
19write -P0xcd 0x3ff0000 64k
20{"return": ""}
21{
22  "bitmaps": {
23    "drive0": [
24      {
25        "busy": false,
26        "count": 262144,
27        "granularity": 65536,
28        "name": "bitmapB",
29        "persistent": false,
30        "recording": true
31      },
32      {
33        "busy": false,
34        "count": 262144,
35        "granularity": 65536,
36        "name": "bitmapA",
37        "persistent": false,
38        "recording": true
39      }
40    ]
41  }
42}
43
44--- Submitting & Aborting Transaction ---
45
46{
47  "execute": "transaction",
48  "arguments": {
49    "actions": [
50      {
51        "data": {
52          "name": "bitmapB",
53          "node": "drive0"
54        },
55        "type": "block-dirty-bitmap-disable"
56      },
57      {
58        "data": {
59          "granularity": 65536,
60          "name": "bitmapC",
61          "node": "drive0"
62        },
63        "type": "block-dirty-bitmap-add"
64      },
65      {
66        "data": {
67          "name": "bitmapA",
68          "node": "drive0"
69        },
70        "type": "block-dirty-bitmap-clear"
71      },
72      {
73        "data": {},
74        "type": "abort"
75      }
76    ]
77  }
78}
79{
80  "error": {
81    "class": "GenericError",
82    "desc": "Transaction aborted using Abort action"
83  }
84}
85{
86  "bitmaps": {
87    "drive0": [
88      {
89        "busy": false,
90        "count": 262144,
91        "granularity": 65536,
92        "name": "bitmapB",
93        "persistent": false,
94        "recording": true
95      },
96      {
97        "busy": false,
98        "count": 262144,
99        "granularity": 65536,
100        "name": "bitmapA",
101        "persistent": false,
102        "recording": true
103      }
104    ]
105  }
106}
107
108--- Disabling B & Adding C ---
109
110{
111  "execute": "transaction",
112  "arguments": {
113    "actions": [
114      {
115        "data": {
116          "name": "bitmapB",
117          "node": "drive0"
118        },
119        "type": "block-dirty-bitmap-disable"
120      },
121      {
122        "data": {
123          "granularity": 65536,
124          "name": "bitmapC",
125          "node": "drive0"
126        },
127        "type": "block-dirty-bitmap-add"
128      },
129      {
130        "data": {
131          "name": "bitmapC",
132          "node": "drive0"
133        },
134        "type": "block-dirty-bitmap-disable"
135      },
136      {
137        "data": {
138          "name": "bitmapC",
139          "node": "drive0"
140        },
141        "type": "block-dirty-bitmap-enable"
142      }
143    ]
144  }
145}
146{
147  "return": {}
148}
149
150--- Emulating further writes ---
151
152write -P0xab 0 64k
153{"return": ""}
154write -P0xad 0x00f8000 64k
155{"return": ""}
156write -P0x1d 0x2008000 64k
157{"return": ""}
158write -P0xea 0x3fe0000 64k
159{"return": ""}
160
161--- Disabling A & C ---
162
163{
164  "execute": "transaction",
165  "arguments": {
166    "actions": [
167      {
168        "data": {
169          "name": "bitmapA",
170          "node": "drive0"
171        },
172        "type": "block-dirty-bitmap-disable"
173      },
174      {
175        "data": {
176          "name": "bitmapC",
177          "node": "drive0"
178        },
179        "type": "block-dirty-bitmap-disable"
180      }
181    ]
182  }
183}
184{
185  "return": {}
186}
187{
188  "bitmaps": {
189    "drive0": [
190      {
191        "busy": false,
192        "count": 393216,
193        "granularity": 65536,
194        "name": "bitmapC",
195        "persistent": false,
196        "recording": false
197      },
198      {
199        "busy": false,
200        "count": 262144,
201        "granularity": 65536,
202        "name": "bitmapB",
203        "persistent": false,
204        "recording": false
205      },
206      {
207        "busy": false,
208        "count": 458752,
209        "granularity": 65536,
210        "name": "bitmapA",
211        "persistent": false,
212        "recording": false
213      }
214    ]
215  }
216}
217
218--- Submitting & Aborting Merge Transaction ---
219
220{
221  "execute": "transaction",
222  "arguments": {
223    "actions": [
224      {
225        "data": {
226          "disabled": true,
227          "granularity": 65536,
228          "name": "bitmapD",
229          "node": "drive0"
230        },
231        "type": "block-dirty-bitmap-add"
232      },
233      {
234        "data": {
235          "bitmaps": [
236            "bitmapB",
237            "bitmapC"
238          ],
239          "node": "drive0",
240          "target": "bitmapD"
241        },
242        "type": "block-dirty-bitmap-merge"
243      },
244      {
245        "data": {},
246        "type": "abort"
247      }
248    ]
249  }
250}
251{
252  "error": {
253    "class": "GenericError",
254    "desc": "Transaction aborted using Abort action"
255  }
256}
257{
258  "bitmaps": {
259    "drive0": [
260      {
261        "busy": false,
262        "count": 393216,
263        "granularity": 65536,
264        "name": "bitmapC",
265        "persistent": false,
266        "recording": false
267      },
268      {
269        "busy": false,
270        "count": 262144,
271        "granularity": 65536,
272        "name": "bitmapB",
273        "persistent": false,
274        "recording": false
275      },
276      {
277        "busy": false,
278        "count": 458752,
279        "granularity": 65536,
280        "name": "bitmapA",
281        "persistent": false,
282        "recording": false
283      }
284    ]
285  }
286}
287
288--- Creating D as a merge of B & C ---
289
290{
291  "execute": "transaction",
292  "arguments": {
293    "actions": [
294      {
295        "data": {
296          "disabled": true,
297          "granularity": 65536,
298          "name": "bitmapD",
299          "node": "drive0"
300        },
301        "type": "block-dirty-bitmap-add"
302      },
303      {
304        "data": {
305          "bitmaps": [
306            "bitmapB",
307            "bitmapC"
308          ],
309          "node": "drive0",
310          "target": "bitmapD"
311        },
312        "type": "block-dirty-bitmap-merge"
313      }
314    ]
315  }
316}
317{
318  "return": {}
319}
320{
321  "bitmaps": {
322    "drive0": [
323      {
324        "busy": false,
325        "count": 458752,
326        "granularity": 65536,
327        "name": "bitmapD",
328        "persistent": false,
329        "recording": false
330      },
331      {
332        "busy": false,
333        "count": 393216,
334        "granularity": 65536,
335        "name": "bitmapC",
336        "persistent": false,
337        "recording": false
338      },
339      {
340        "busy": false,
341        "count": 262144,
342        "granularity": 65536,
343        "name": "bitmapB",
344        "persistent": false,
345        "recording": false
346      },
347      {
348        "busy": false,
349        "count": 458752,
350        "granularity": 65536,
351        "name": "bitmapA",
352        "persistent": false,
353        "recording": false
354      }
355    ]
356  }
357}
358
359--- Removing bitmaps A, B, C, and D ---
360
361{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapA", "node": "drive0"}}
362{"return": {}}
363{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapB", "node": "drive0"}}
364{"return": {}}
365{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapC", "node": "drive0"}}
366{"return": {}}
367{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapD", "node": "drive0"}}
368{"return": {}}
369
370--- Final Query ---
371
372{
373  "bitmaps": {
374    "drive0": []
375  }
376}
377
378--- Done ---
379
380