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