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