migration: API to clear bits of guest free pages from the dirty bitmap
[qemu/ar7.git] / tests / qemu-iotests / 236.out
blob5006f7bca16b32d0036cfa9e6681363e605f7a76
1 --- Preparing image & VM ---
4 --- Adding preliminary bitmaps A & B ---
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": {}}
11 --- Emulating writes ---
13 write -P0x5d 0 64k
14 {"return": ""}
15 write -P0xd5 1M 64k
16 {"return": ""}
17 write -P0xdc 32M 64k
18 {"return": ""}
19 write -P0xcd 0x3ff0000 64k
20 {"return": ""}
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   }
42 --- Submitting & Aborting Transaction ---
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   }
78   "error": {
79     "class": "GenericError",
80     "desc": "Transaction aborted using Abort action"
81   }
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   }
104 --- Disabling B & Adding C ---
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   }
143   "return": {}
146 --- Emulating further writes ---
148 write -P0xab 0 64k
149 {"return": ""}
150 write -P0xad 0x00f8000 64k
151 {"return": ""}
152 write -P0x1d 0x2008000 64k
153 {"return": ""}
154 write -P0xea 0x3fe0000 64k
155 {"return": ""}
157 --- Disabling A & C ---
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   }
181   "return": {}
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   }
211 --- Submitting & Aborting Merge Transaction ---
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   }
245   "error": {
246     "class": "GenericError",
247     "desc": "Transaction aborted using Abort action"
248   }
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   }
278 --- Creating D as a merge of B & C ---
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   }
308   "return": {}
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   }
345 --- Removing bitmaps A, B, C, and D ---
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": {}}
356 --- Final Query ---
359   "bitmaps": {
360     "drive0": []
361   }
364 --- Done ---