]> git.proxmox.com Git - mirror_qemu.git/blame - docs/qmp/qmp-events.txt
block/cow: Avoid use of uninitialized cow_bs in error path
[mirror_qemu.git] / docs / qmp / qmp-events.txt
CommitLineData
dfab4892
LC
1 QEMU Machine Protocol Events
2 ============================
3
4ACPI_DEVICE_OST
5---------------
6
7Emitted when guest executes ACPI _OST method.
8
9 - data: ACPIOSTInfo type as described in qapi-schema.json
10
11{ "event": "ACPI_DEVICE_OST",
12 "data": { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0 } }
13
14BALLOON_CHANGE
15--------------
16
17Emitted when the guest changes the actual BALLOON level. This
18value is equivalent to the 'actual' field return by the
19'query-balloon' command
20
21Data:
22
23- "actual": actual level of the guest memory balloon in bytes (json-number)
24
25Example:
26
27{ "event": "BALLOON_CHANGE",
28 "data": { "actual": 944766976 },
29 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
30
31BLOCK_IMAGE_CORRUPTED
32---------------------
33
34Emitted when a disk image is being marked corrupt.
35
36Data:
37
38- "device": Device name (json-string)
39- "msg": Informative message (e.g., reason for the corruption) (json-string)
40- "offset": If the corruption resulted from an image access, this is the access
41 offset into the image (json-int)
42- "size": If the corruption resulted from an image access, this is the access
43 size (json-int)
44
45Example:
46
47{ "event": "BLOCK_IMAGE_CORRUPTED",
48 "data": { "device": "ide0-hd0",
49 "msg": "Prevented active L1 table overwrite", "offset": 196608,
50 "size": 65536 },
51 "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }
52
53BLOCK_IO_ERROR
54--------------
55
56Emitted when a disk I/O error occurs.
57
58Data:
59
60- "device": device name (json-string)
61- "operation": I/O operation (json-string, "read" or "write")
62- "action": action that has been taken, it's one of the following (json-string):
63 "ignore": error has been ignored
64 "report": error has been reported to the device
65 "stop": the VM is going to stop because of the error
66
67Example:
68
69{ "event": "BLOCK_IO_ERROR",
70 "data": { "device": "ide0-hd1",
71 "operation": "write",
72 "action": "stop" },
73 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
74
75Note: If action is "stop", a STOP event will eventually follow the
76BLOCK_IO_ERROR event.
77
78BLOCK_JOB_CANCELLED
79-------------------
80
81Emitted when a block job has been cancelled.
82
83Data:
84
85- "type": Job type (json-string; "stream" for image streaming
86 "commit" for block commit)
87- "device": Device name (json-string)
88- "len": Maximum progress value (json-int)
89- "offset": Current progress value (json-int)
90 On success this is equal to len.
91 On failure this is less than len.
92- "speed": Rate limit, bytes per second (json-int)
93
94Example:
95
96{ "event": "BLOCK_JOB_CANCELLED",
97 "data": { "type": "stream", "device": "virtio-disk0",
98 "len": 10737418240, "offset": 134217728,
99 "speed": 0 },
100 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
101
102BLOCK_JOB_COMPLETED
103-------------------
104
105Emitted when a block job has completed.
106
107Data:
108
109- "type": Job type (json-string; "stream" for image streaming
110 "commit" for block commit)
111- "device": Device name (json-string)
112- "len": Maximum progress value (json-int)
113- "offset": Current progress value (json-int)
114 On success this is equal to len.
115 On failure this is less than len.
116- "speed": Rate limit, bytes per second (json-int)
117- "error": Error message (json-string, optional)
118 Only present on failure. This field contains a human-readable
119 error message. There are no semantics other than that streaming
120 has failed and clients should not try to interpret the error
121 string.
122
123Example:
124
125{ "event": "BLOCK_JOB_COMPLETED",
126 "data": { "type": "stream", "device": "virtio-disk0",
127 "len": 10737418240, "offset": 10737418240,
128 "speed": 0 },
129 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
130
131BLOCK_JOB_ERROR
132---------------
133
134Emitted when a block job encounters an error.
135
136Data:
137
138- "device": device name (json-string)
139- "operation": I/O operation (json-string, "read" or "write")
140- "action": action that has been taken, it's one of the following (json-string):
141 "ignore": error has been ignored, the job may fail later
142 "report": error will be reported and the job canceled
143 "stop": error caused job to be paused
144
145Example:
146
147{ "event": "BLOCK_JOB_ERROR",
148 "data": { "device": "ide0-hd1",
149 "operation": "write",
150 "action": "stop" },
151 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
152
153BLOCK_JOB_READY
154---------------
155
156Emitted when a block job is ready to complete.
157
158Data:
159
a22d8e47
MA
160- "type": Job type (json-string; "stream" for image streaming
161 "commit" for block commit)
162- "device": Device name (json-string)
163- "len": Maximum progress value (json-int)
164- "offset": Current progress value (json-int)
165 On success this is equal to len.
166 On failure this is less than len.
167- "speed": Rate limit, bytes per second (json-int)
dfab4892
LC
168
169Example:
170
171{ "event": "BLOCK_JOB_READY",
a22d8e47
MA
172 "data": { "device": "drive0", "type": "mirror", "speed": 0,
173 "len": 2097152, "offset": 2097152 }
dfab4892
LC
174 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
175
176Note: The "ready to complete" status is always reset by a BLOCK_JOB_ERROR
177event.
178
179DEVICE_DELETED
180--------------
181
182Emitted whenever the device removal completion is acknowledged
183by the guest.
184At this point, it's safe to reuse the specified device ID.
185Device removal can be initiated by the guest or by HMP/QMP commands.
186
187Data:
188
189- "device": device name (json-string, optional)
190- "path": device path (json-string)
191
192{ "event": "DEVICE_DELETED",
193 "data": { "device": "virtio-net-pci-0",
194 "path": "/machine/peripheral/virtio-net-pci-0" },
195 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
196
197DEVICE_TRAY_MOVED
198-----------------
199
200It's emitted whenever the tray of a removable device is moved by the guest
201or by HMP/QMP commands.
202
203Data:
204
205- "device": device name (json-string)
206- "tray-open": true if the tray has been opened or false if it has been closed
207 (json-bool)
208
209{ "event": "DEVICE_TRAY_MOVED",
210 "data": { "device": "ide1-cd0",
211 "tray-open": true
212 },
213 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
214
215GUEST_PANICKED
216--------------
217
218Emitted when guest OS panic is detected.
219
220Data:
221
222- "action": Action that has been taken (json-string, currently always "pause").
223
224Example:
225
226{ "event": "GUEST_PANICKED",
227 "data": { "action": "pause" } }
228
229NIC_RX_FILTER_CHANGED
230---------------------
231
232The event is emitted once until the query command is executed,
233the first event will always be emitted.
234
235Data:
236
237- "name": net client name (json-string)
238- "path": device path (json-string)
239
240{ "event": "NIC_RX_FILTER_CHANGED",
241 "data": { "name": "vnet0",
242 "path": "/machine/peripheral/vnet0/virtio-backend" },
243 "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
244}
245
246QUORUM_FAILURE
247--------------
248
249Emitted by the Quorum block driver if it fails to establish a quorum.
250
251Data:
252
253- "reference": device name if defined else node name.
254- "sector-num": Number of the first sector of the failed read operation.
255- "sector-count": Failed read operation sector count.
256
257Example:
258
259{ "event": "QUORUM_FAILURE",
260 "data": { "reference": "usr1", "sector-num": 345435, "sector-count": 5 },
261 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
262
263QUORUM_REPORT_BAD
264-----------------
265
266Emitted to report a corruption of a Quorum file.
267
268Data:
269
270- "error": Error message (json-string, optional)
271 Only present on failure. This field contains a human-readable
272 error message. There are no semantics other than that the
273 block layer reported an error and clients should not try to
274 interpret the error string.
275- "node-name": The graph node name of the block driver state.
276- "sector-num": Number of the first sector of the failed read operation.
277- "sector-count": Failed read operation sector count.
278
279Example:
280
281{ "event": "QUORUM_REPORT_BAD",
282 "data": { "node-name": "1.raw", "sector-num": 345435, "sector-count": 5 },
283 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
284
285RESET
286-----
287
288Emitted when the Virtual Machine is reseted.
289
290Data: None.
291
292Example:
293
294{ "event": "RESET",
295 "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
296
297RESUME
298------
299
300Emitted when the Virtual Machine resumes execution.
301
302Data: None.
303
304Example:
305
306{ "event": "RESUME",
307 "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
308
309RTC_CHANGE
310----------
311
312Emitted when the guest changes the RTC time.
313
314Data:
315
316- "offset": Offset between base RTC clock (as specified by -rtc base), and
317new RTC clock value (json-number)
318
319Example:
320
321{ "event": "RTC_CHANGE",
322 "data": { "offset": 78 },
323 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
324
325SHUTDOWN
326--------
327
328Emitted when the Virtual Machine is powered down.
329
330Data: None.
331
332Example:
333
334{ "event": "SHUTDOWN",
335 "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
336
337Note: If the command-line option "-no-shutdown" has been specified, a STOP
338event will eventually follow the SHUTDOWN event.
339
340SPICE_CONNECTED, SPICE_DISCONNECTED
341-----------------------------------
342
343Emitted when a SPICE client connects or disconnects.
344
345Data:
346
347- "server": Server information (json-object)
348 - "host": IP address (json-string)
349 - "port": port number (json-string)
350 - "family": address family (json-string, "ipv4" or "ipv6")
351- "client": Client information (json-object)
352 - "host": IP address (json-string)
353 - "port": port number (json-string)
354 - "family": address family (json-string, "ipv4" or "ipv6")
355
356Example:
357
358{ "timestamp": {"seconds": 1290688046, "microseconds": 388707},
359 "event": "SPICE_CONNECTED",
360 "data": {
361 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
362 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
363}}
364
365SPICE_INITIALIZED
366-----------------
367
368Emitted after initial handshake and authentication takes place (if any)
369and the SPICE channel is up'n'running
370
371Data:
372
373- "server": Server information (json-object)
374 - "host": IP address (json-string)
375 - "port": port number (json-string)
376 - "family": address family (json-string, "ipv4" or "ipv6")
377 - "auth": authentication method (json-string, optional)
378- "client": Client information (json-object)
379 - "host": IP address (json-string)
380 - "port": port number (json-string)
381 - "family": address family (json-string, "ipv4" or "ipv6")
382 - "connection-id": spice connection id. All channels with the same id
383 belong to the same spice session (json-int)
384 - "channel-type": channel type. "1" is the main control channel, filter for
385 this one if you want track spice sessions only (json-int)
386 - "channel-id": channel id. Usually "0", might be different needed when
387 multiple channels of the same type exist, such as multiple
388 display channels in a multihead setup (json-int)
389 - "tls": whevener the channel is encrypted (json-bool)
390
391Example:
392
393{ "timestamp": {"seconds": 1290688046, "microseconds": 417172},
394 "event": "SPICE_INITIALIZED",
395 "data": {"server": {"auth": "spice", "port": "5921",
396 "family": "ipv4", "host": "127.0.0.1"},
397 "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
398 "connection-id": 1804289383, "host": "127.0.0.1",
399 "channel-id": 0, "tls": true}
400}}
401
402STOP
403----
404
405Emitted when the Virtual Machine is stopped.
406
407Data: None.
408
409Example:
410
411{ "event": "STOP",
412 "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
413
414SUSPEND
415-------
416
417Emitted when guest enters S3 state.
418
419Data: None.
420
421Example:
422
423{ "event": "SUSPEND",
424 "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
425
426SUSPEND_DISK
427------------
428
429Emitted when the guest makes a request to enter S4 state.
430
431Data: None.
432
433Example:
434
435{ "event": "SUSPEND_DISK",
436 "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
437
438Note: QEMU shuts down when entering S4 state.
439
440VNC_CONNECTED
441-------------
442
443Emitted when a VNC client establishes a connection.
444
445Data:
446
447- "server": Server information (json-object)
448 - "host": IP address (json-string)
449 - "service": port number (json-string)
450 - "family": address family (json-string, "ipv4" or "ipv6")
451 - "auth": authentication method (json-string, optional)
452- "client": Client information (json-object)
453 - "host": IP address (json-string)
454 - "service": port number (json-string)
455 - "family": address family (json-string, "ipv4" or "ipv6")
456
457Example:
458
459{ "event": "VNC_CONNECTED",
460 "data": {
461 "server": { "auth": "sasl", "family": "ipv4",
462 "service": "5901", "host": "0.0.0.0" },
463 "client": { "family": "ipv4", "service": "58425",
464 "host": "127.0.0.1" } },
465 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
466
467
468Note: This event is emitted before any authentication takes place, thus
469the authentication ID is not provided.
470
471VNC_DISCONNECTED
472----------------
473
474Emitted when the connection is closed.
475
476Data:
477
478- "server": Server information (json-object)
479 - "host": IP address (json-string)
480 - "service": port number (json-string)
481 - "family": address family (json-string, "ipv4" or "ipv6")
482 - "auth": authentication method (json-string, optional)
483- "client": Client information (json-object)
484 - "host": IP address (json-string)
485 - "service": port number (json-string)
486 - "family": address family (json-string, "ipv4" or "ipv6")
487 - "x509_dname": TLS dname (json-string, optional)
488 - "sasl_username": SASL username (json-string, optional)
489
490Example:
491
492{ "event": "VNC_DISCONNECTED",
493 "data": {
494 "server": { "auth": "sasl", "family": "ipv4",
495 "service": "5901", "host": "0.0.0.0" },
496 "client": { "family": "ipv4", "service": "58425",
497 "host": "127.0.0.1", "sasl_username": "luiz" } },
498 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
499
500VNC_INITIALIZED
501---------------
502
503Emitted after authentication takes place (if any) and the VNC session is
504made active.
505
506Data:
507
508- "server": Server information (json-object)
509 - "host": IP address (json-string)
510 - "service": port number (json-string)
511 - "family": address family (json-string, "ipv4" or "ipv6")
512 - "auth": authentication method (json-string, optional)
513- "client": Client information (json-object)
514 - "host": IP address (json-string)
515 - "service": port number (json-string)
516 - "family": address family (json-string, "ipv4" or "ipv6")
517 - "x509_dname": TLS dname (json-string, optional)
518 - "sasl_username": SASL username (json-string, optional)
519
520Example:
521
522{ "event": "VNC_INITIALIZED",
523 "data": {
524 "server": { "auth": "sasl", "family": "ipv4",
525 "service": "5901", "host": "0.0.0.0"},
526 "client": { "family": "ipv4", "service": "46089",
527 "host": "127.0.0.1", "sasl_username": "luiz" } },
528 "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
529
530WAKEUP
531------
532
533Emitted when the guest has woken up from S3 and is running.
534
535Data: None.
536
537Example:
538
539{ "event": "WAKEUP",
540 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
541
542WATCHDOG
543--------
544
545Emitted when the watchdog device's timer is expired.
546
547Data:
548
549- "action": Action that has been taken, it's one of the following (json-string):
550 "reset", "shutdown", "poweroff", "pause", "debug", or "none"
551
552Example:
553
554{ "event": "WATCHDOG",
555 "data": { "action": "reset" },
556 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
557
558Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
559followed respectively by the RESET, SHUTDOWN, or STOP events.