1QEMU-QMP-REF.7(7) QEMU-QMP-REF.7(7)
2
3
4
6 qemu-qmp-ref - QEMU QMP Reference Manual
7
9 Introduction
10 This document describes all commands currently supported by QMP.
11
12 Most of the time their usage is exactly the same as in the user
13 Monitor, this means that any other document which also describe
14 commands (the manpage, QEMU's manual, etc) can and should be consulted.
15
16 QMP has two types of commands: regular and query commands. Regular
17 commands usually change the Virtual Machine's state someway, while
18 query commands just return information. The sections below are divided
19 accordingly.
20
21 It's important to observe that all communication examples are formatted
22 in a reader-friendly way, so that they're easier to understand.
23 However, in real protocol usage, they're emitted as a single line.
24
25 Also, the following notation is used to denote data flow:
26
27 Example:
28
29 -> data issued by the Client
30
31
32
33 <- Server data response
34
35 Please, refer to the QMP specification (docs/interop/qmp-spec.txt) for
36 detailed information on the Server command and response formats.
37
38 Stability Considerations
39 The current QMP command set (described in this file) may be useful for
40 a number of use cases, however it's limited and several commands have
41 bad defined semantics, specially with regard to command completion.
42
43 These problems are going to be solved incrementally in the next QEMU
44 releases and we're going to establish a deprecation policy for badly
45 defined commands.
46
47 If you're planning to adopt QMP, please observe the following:
48
49 1. The deprecation policy will take effect and be documented soon,
50 please check the documentation of each used command as soon as a
51 new release of QEMU is available
52
53 2. DO NOT rely on anything which is not explicit documented
54
55 3. Errors, in special, are not documented. Applications should NOT
56 check for specific errors classes or data (it's strongly
57 recommended to only check for the "error" key)
58
59 Common data types
60 QapiErrorClass (Enum)
61
62 QEMU error classes
63
64 Values:
65
66 "GenericError"
67 this is used for errors that don't require a specific error class.
68 This should be the default case for most errors
69
70 "CommandNotFound"
71 the requested command has not been found
72
73 "DeviceNotActive"
74 a device has failed to be become active
75
76 "DeviceNotFound"
77 the requested device has not been found
78
79 "KVMMissingCap"
80 the requested operation can't be fulfilled because a required KVM
81 capability is missing
82
83 Since: 1.2
84
85 IoOperationType (Enum)
86
87 An enumeration of the I/O operation types
88
89 Values:
90
91 "read"
92 read operation
93
94 "write"
95 write operation
96
97 Since: 2.1
98
99 OnOffAuto (Enum)
100
101 An enumeration of three options: on, off, and auto
102
103 Values:
104
105 "auto"
106 QEMU selects the value between on and off
107
108 "on"
109 Enabled
110
111 "off"
112 Disabled
113
114 Since: 2.2
115
116 OnOffSplit (Enum)
117
118 An enumeration of three values: on, off, and split
119
120 Values:
121
122 "on"
123 Enabled
124
125 "off"
126 Disabled
127
128 "split"
129 Mixed
130
131 Since: 2.6
132
133 String (Object)
134
135 A fat type wrapping 'str', to be embedded in lists.
136
137 Members:
138
139 "str: string"
140 Not documented
141
142 Since: 1.2
143
144 StrOrNull (Alternate)
145
146 This is a string value or the explicit lack of a string (null pointer
147 in C). Intended for cases when 'optional absent' already has a
148 different meaning.
149
150 Members:
151
152 "s: string"
153 the string value
154
155 "n: null"
156 no string value
157
158 Since: 2.10
159
160 OffAutoPCIBAR (Enum)
161
162 An enumeration of options for specifying a PCI BAR
163
164 Values:
165
166 "off"
167 The specified feature is disabled
168
169 "auto"
170 The PCI BAR for the feature is automatically selected
171
172 "bar0"
173 PCI BAR0 is used for the feature
174
175 "bar1"
176 PCI BAR1 is used for the feature
177
178 "bar2"
179 PCI BAR2 is used for the feature
180
181 "bar3"
182 PCI BAR3 is used for the feature
183
184 "bar4"
185 PCI BAR4 is used for the feature
186
187 "bar5"
188 PCI BAR5 is used for the feature
189
190 Since: 2.12
191
192 SysEmuTarget (Enum)
193
194 The comprehensive enumeration of QEMU system emulation ("softmmu")
195 targets. Run "./configure --help" in the project root directory, and
196 look for the *-softmmu targets near the "--target-list" option. The
197 individual target constants are not documented here, for the time
198 being.
199
200 Values:
201
202 "aarch64"
203 Not documented
204
205 "alpha"
206 Not documented
207
208 "arm"
209 Not documented
210
211 "cris"
212 Not documented
213
214 "hppa"
215 Not documented
216
217 "i386"
218 Not documented
219
220 "lm32"
221 Not documented
222
223 "m68k"
224 Not documented
225
226 "microblaze"
227 Not documented
228
229 "microblazeel"
230 Not documented
231
232 "mips"
233 Not documented
234
235 "mips64"
236 Not documented
237
238 "mips64el"
239 Not documented
240
241 "mipsel"
242 Not documented
243
244 "moxie"
245 Not documented
246
247 "nios2"
248 Not documented
249
250 "or1k"
251 Not documented
252
253 "ppc"
254 Not documented
255
256 "ppc64"
257 Not documented
258
259 "riscv32"
260 Not documented
261
262 "riscv64"
263 Not documented
264
265 "s390x"
266 Not documented
267
268 "sh4"
269 Not documented
270
271 "sh4eb"
272 Not documented
273
274 "sparc"
275 Not documented
276
277 "sparc64"
278 Not documented
279
280 "tricore"
281 Not documented
282
283 "unicore32"
284 Not documented
285
286 "x86_64"
287 Not documented
288
289 "xtensa"
290 Not documented
291
292 "xtensaeb"
293 Not documented
294
295 Notes: The resulting QMP strings can be appended to the "qemu-system-"
296 prefix to produce the corresponding QEMU executable name. This is true
297 even for "qemu-system-x86_64".
298
299 ppcemb: dropped in 3.1
300
301 Since: 3.0
302
303 Socket data types
304 NetworkAddressFamily (Enum)
305
306 The network address family
307
308 Values:
309
310 "ipv4"
311 IPV4 family
312
313 "ipv6"
314 IPV6 family
315
316 "unix"
317 unix socket
318
319 "vsock"
320 vsock family (since 2.8)
321
322 "unknown"
323 otherwise
324
325 Since: 2.1
326
327 InetSocketAddressBase (Object)
328
329 Members:
330
331 "host: string"
332 host part of the address
333
334 "port: string"
335 port part of the address
336
337 InetSocketAddress (Object)
338
339 Captures a socket address or address range in the Internet namespace.
340
341 Members:
342
343 "numeric: boolean" (optional)
344 true if the host/port are guaranteed to be numeric, false if name
345 resolution should be attempted. Defaults to false. (Since 2.9)
346
347 "to: int" (optional)
348 If present, this is range of possible addresses, with port between
349 "port" and "to".
350
351 "ipv4: boolean" (optional)
352 whether to accept IPv4 addresses, default try both IPv4 and IPv6
353
354 "ipv6: boolean" (optional)
355 whether to accept IPv6 addresses, default try both IPv4 and IPv6
356
357 The members of "InetSocketAddressBase"
358
359 Since: 1.3
360
361 UnixSocketAddress (Object)
362
363 Captures a socket address in the local ("Unix socket") namespace.
364
365 Members:
366
367 "path: string"
368 filesystem path to use
369
370 Since: 1.3
371
372 VsockSocketAddress (Object)
373
374 Captures a socket address in the vsock namespace.
375
376 Members:
377
378 "cid: string"
379 unique host identifier
380
381 "port: string"
382 port
383
384 Note: string types are used to allow for possible future hostname or
385 service resolution support.
386
387 Since: 2.8
388
389 SocketAddressLegacy (Object)
390
391 Captures the address of a socket, which could also be a named file
392 descriptor
393
394 Members:
395
396 "type"
397 One of "inet", "unix", "vsock", "fd"
398
399 "data: InetSocketAddress" when "type" is "inet"
400 "data: UnixSocketAddress" when "type" is "unix"
401 "data: VsockSocketAddress" when "type" is "vsock"
402 "data: String" when "type" is "fd"
403
404 Note: This type is deprecated in favor of SocketAddress. The
405 difference between SocketAddressLegacy and SocketAddress is that the
406 latter is a flat union rather than a simple union. Flat is nicer
407 because it avoids nesting on the wire, i.e. that form has fewer {}.
408
409 Since: 1.3
410
411 SocketAddressType (Enum)
412
413 Available SocketAddress types
414
415 Values:
416
417 "inet"
418 Internet address
419
420 "unix"
421 Unix domain socket
422
423 "vsock"
424 VMCI address
425
426 "fd"
427 decimal is for file descriptor number, otherwise a file descriptor
428 name. Named file descriptors are permitted in monitor commands, in
429 combination with the 'getfd' command. Decimal file descriptors are
430 permitted at startup or other contexts where no monitor context is
431 active.
432
433 Since: 2.9
434
435 SocketAddress (Object)
436
437 Captures the address of a socket, which could also be a named file
438 descriptor
439
440 Members:
441
442 "type: SocketAddressType"
443 Transport type
444
445 The members of "InetSocketAddress" when "type" is "inet"
446 The members of "UnixSocketAddress" when "type" is "unix"
447 The members of "VsockSocketAddress" when "type" is "vsock"
448 The members of "String" when "type" is "fd"
449
450 Since: 2.9
451
452 VM run state
453 RunState (Enum)
454
455 An enumeration of VM run states.
456
457 Values:
458
459 "debug"
460 QEMU is running on a debugger
461
462 "finish-migrate"
463 guest is paused to finish the migration process
464
465 "inmigrate"
466 guest is paused waiting for an incoming migration. Note that this
467 state does not tell whether the machine will start at the end of
468 the migration. This depends on the command-line -S option and any
469 invocation of 'stop' or 'cont' that has happened since QEMU was
470 started.
471
472 "internal-error"
473 An internal error that prevents further guest execution has
474 occurred
475
476 "io-error"
477 the last IOP has failed and the device is configured to pause on
478 I/O errors
479
480 "paused"
481 guest has been paused via the 'stop' command
482
483 "postmigrate"
484 guest is paused following a successful 'migrate'
485
486 "prelaunch"
487 QEMU was started with -S and guest has not started
488
489 "restore-vm"
490 guest is paused to restore VM state
491
492 "running"
493 guest is actively running
494
495 "save-vm"
496 guest is paused to save the VM state
497
498 "shutdown"
499 guest is shut down (and -no-shutdown is in use)
500
501 "suspended"
502 guest is suspended (ACPI S3)
503
504 "watchdog"
505 the watchdog action is configured to pause and has been triggered
506
507 "guest-panicked"
508 guest has been panicked as a result of guest OS panic
509
510 "colo"
511 guest is paused to save/restore VM state under colo checkpoint, VM
512 can not get into this state unless colo capability is enabled for
513 migration. (since 2.8)
514
515 "preconfig"
516 QEMU is paused before board specific init callback is executed.
517 The state is reachable only if the --preconfig CLI option is used.
518 (Since 3.0)
519
520 StatusInfo (Object)
521
522 Information about VCPU run state
523
524 Members:
525
526 "running: boolean"
527 true if all VCPUs are runnable, false if not runnable
528
529 "singlestep: boolean"
530 true if VCPUs are in single-step mode
531
532 "status: RunState"
533 the virtual machine "RunState"
534
535 Since: 0.14.0
536
537 Notes: "singlestep" is enabled through the GDB stub
538
539 query-status (Command) Query the run status of all VCPUs
540
541 Returns: "StatusInfo" reflecting all VCPUs
542
543 Since: 0.14.0
544
545 Example:
546
547 -> { "execute": "query-status" }
548 <- { "return": { "running": true,
549 "singlestep": false,
550 "status": "running" } }
551
552 SHUTDOWN (Event) Emitted when the virtual machine has shut down,
553 indicating that qemu is about to exit.
554
555 Arguments:
556
557 "guest: boolean"
558 If true, the shutdown was triggered by a guest request (such as a
559 guest-initiated ACPI shutdown request or other hardware-specific
560 action) rather than a host request (such as sending qemu a SIGINT).
561 (since 2.10)
562
563 Note: If the command-line option "-no-shutdown" has been specified,
564 qemu will not exit, and a STOP event will eventually follow the
565 SHUTDOWN event
566
567 Since: 0.12.0
568
569 Example:
570
571 <- { "event": "SHUTDOWN", "data": { "guest": true },
572 "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
573
574 POWERDOWN (Event) Emitted when the virtual machine is powered down
575 through the power control system, such as via ACPI.
576
577 Since: 0.12.0
578
579 Example:
580
581 <- { "event": "POWERDOWN",
582 "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
583
584 RESET (Event) Emitted when the virtual machine is reset
585
586 Arguments:
587
588 "guest: boolean"
589 If true, the reset was triggered by a guest request (such as a
590 guest-initiated ACPI reboot request or other hardware-specific
591 action) rather than a host request (such as the QMP command
592 system_reset). (since 2.10)
593
594 Since: 0.12.0
595
596 Example:
597
598 <- { "event": "RESET", "data": { "guest": false },
599 "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
600
601 STOP (Event) Emitted when the virtual machine is stopped
602
603 Since: 0.12.0
604
605 Example:
606
607 <- { "event": "STOP",
608 "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
609
610 RESUME (Event) Emitted when the virtual machine resumes execution
611
612 Since: 0.12.0
613
614 Example:
615
616 <- { "event": "RESUME",
617 "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
618
619 SUSPEND (Event) Emitted when guest enters a hardware suspension state,
620 for example, S3 state, which is sometimes called standby state
621
622 Since: 1.1
623
624 Example:
625
626 <- { "event": "SUSPEND",
627 "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
628
629 SUSPEND_DISK (Event) Emitted when guest enters a hardware suspension
630 state with data saved on disk, for example, S4 state, which is
631 sometimes called hibernate state
632
633 Note: QEMU shuts down (similar to event "SHUTDOWN") when entering this
634 state
635
636 Since: 1.2
637
638 Example:
639
640 <- { "event": "SUSPEND_DISK",
641 "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
642
643 WAKEUP (Event) Emitted when the guest has woken up from suspend state
644 and is running
645
646 Since: 1.1
647
648 Example:
649
650 <- { "event": "WAKEUP",
651 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
652
653 WATCHDOG (Event) Emitted when the watchdog device's timer is expired
654
655 Arguments:
656
657 "action: WatchdogAction"
658 action that has been taken
659
660 Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event
661 is followed respectively by the RESET, SHUTDOWN, or STOP events
662
663 Note: This event is rate-limited.
664
665 Since: 0.13.0
666
667 Example:
668
669 <- { "event": "WATCHDOG",
670 "data": { "action": "reset" },
671 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
672
673 WatchdogAction (Enum)
674
675 An enumeration of the actions taken when the watchdog device's timer is
676 expired
677
678 Values:
679
680 "reset"
681 system resets
682
683 "shutdown"
684 system shutdown, note that it is similar to "powerdown", which
685 tries to set to system status and notify guest
686
687 "poweroff"
688 system poweroff, the emulator program exits
689
690 "pause"
691 system pauses, similar to "stop"
692
693 "debug"
694 system enters debug state
695
696 "none"
697 nothing is done
698
699 "inject-nmi"
700 a non-maskable interrupt is injected into the first VCPU (all VCPUS
701 on x86) (since 2.4)
702
703 Since: 2.1
704
705 watchdog-set-action (Command) Set watchdog action
706
707 Arguments:
708
709 "action: WatchdogAction"
710 Not documented
711
712 Since: 2.11
713
714 GUEST_PANICKED (Event) Emitted when guest OS panic is detected
715
716 Arguments:
717
718 "action: GuestPanicAction"
719 action that has been taken, currently always "pause"
720
721 "info: GuestPanicInformation" (optional)
722 information about a panic (since 2.9)
723
724 Since: 1.5
725
726 Example:
727
728 <- { "event": "GUEST_PANICKED",
729 "data": { "action": "pause" } }
730
731 GuestPanicAction (Enum)
732
733 An enumeration of the actions taken when guest OS panic is detected
734
735 Values:
736
737 "pause"
738 system pauses
739
740 "poweroff"
741 Not documented
742
743 Since: 2.1 (poweroff since 2.8)
744
745 GuestPanicInformationType (Enum)
746
747 An enumeration of the guest panic information types
748
749 Values:
750
751 "hyper-v"
752 hyper-v guest panic information type
753
754 "s390"
755 s390 guest panic information type (Since: 2.12)
756
757 Since: 2.9
758
759 GuestPanicInformation (Object)
760
761 Information about a guest panic
762
763 Members:
764
765 "type: GuestPanicInformationType"
766 Crash type that defines the hypervisor specific information
767
768 The members of "GuestPanicInformationHyperV" when "type" is "hyper-v"
769 The members of "GuestPanicInformationS390" when "type" is "s390"
770
771 Since: 2.9
772
773 GuestPanicInformationHyperV (Object)
774
775 Hyper-V specific guest panic information (HV crash MSRs)
776
777 Members:
778
779 "arg1: int"
780 Not documented
781
782 "arg2: int"
783 Not documented
784
785 "arg3: int"
786 Not documented
787
788 "arg4: int"
789 Not documented
790
791 "arg5: int"
792 Not documented
793
794 Since: 2.9
795
796 S390CrashReason (Enum)
797
798 Reason why the CPU is in a crashed state.
799
800 Values:
801
802 "unknown"
803 no crash reason was set
804
805 "disabled-wait"
806 the CPU has entered a disabled wait state
807
808 "extint-loop"
809 clock comparator or cpu timer interrupt with new PSW enabled for
810 external interrupts
811
812 "pgmint-loop"
813 program interrupt with BAD new PSW
814
815 "opint-loop"
816 operation exception interrupt with invalid code at the program
817 interrupt new PSW
818
819 Since: 2.12
820
821 GuestPanicInformationS390 (Object)
822
823 S390 specific guest panic information (PSW)
824
825 Members:
826
827 "core: int"
828 core id of the CPU that crashed
829
830 "psw-mask: int"
831 control fields of guest PSW
832
833 "psw-addr: int"
834 guest instruction address
835
836 "reason: S390CrashReason"
837 guest crash reason
838
839 Since: 2.12
840
841 Cryptography
842 QCryptoTLSCredsEndpoint (Enum)
843
844 The type of network endpoint that will be using the credentials. Most
845 types of credential require different setup / structures depending on
846 whether they will be used in a server versus a client.
847
848 Values:
849
850 "client"
851 the network endpoint is acting as the client
852
853 "server"
854 the network endpoint is acting as the server
855
856 Since: 2.5
857
858 QCryptoSecretFormat (Enum)
859
860 The data format that the secret is provided in
861
862 Values:
863
864 "raw"
865 raw bytes. When encoded in JSON only valid UTF-8 sequences can be
866 used
867
868 "base64"
869 arbitrary base64 encoded binary data
870
871 Since: 2.6
872
873 QCryptoHashAlgorithm (Enum)
874
875 The supported algorithms for computing content digests
876
877 Values:
878
879 "md5"
880 MD5. Should not be used in any new code, legacy compat only
881
882 "sha1"
883 SHA-1. Should not be used in any new code, legacy compat only
884
885 "sha224"
886 SHA-224. (since 2.7)
887
888 "sha256"
889 SHA-256. Current recommended strong hash.
890
891 "sha384"
892 SHA-384. (since 2.7)
893
894 "sha512"
895 SHA-512. (since 2.7)
896
897 "ripemd160"
898 RIPEMD-160. (since 2.7)
899
900 Since: 2.6
901
902 QCryptoCipherAlgorithm (Enum)
903
904 The supported algorithms for content encryption ciphers
905
906 Values:
907
908 "aes-128"
909 AES with 128 bit / 16 byte keys
910
911 "aes-192"
912 AES with 192 bit / 24 byte keys
913
914 "aes-256"
915 AES with 256 bit / 32 byte keys
916
917 "des-rfb"
918 RFB specific variant of single DES. Do not use except in VNC.
919
920 "3des"
921 3DES(EDE) with 192 bit / 24 byte keys (since 2.9)
922
923 "cast5-128"
924 Cast5 with 128 bit / 16 byte keys
925
926 "serpent-128"
927 Serpent with 128 bit / 16 byte keys
928
929 "serpent-192"
930 Serpent with 192 bit / 24 byte keys
931
932 "serpent-256"
933 Serpent with 256 bit / 32 byte keys
934
935 "twofish-128"
936 Twofish with 128 bit / 16 byte keys
937
938 "twofish-192"
939 Twofish with 192 bit / 24 byte keys
940
941 "twofish-256"
942 Twofish with 256 bit / 32 byte keys
943
944 Since: 2.6
945
946 QCryptoCipherMode (Enum)
947
948 The supported modes for content encryption ciphers
949
950 Values:
951
952 "ecb"
953 Electronic Code Book
954
955 "cbc"
956 Cipher Block Chaining
957
958 "xts"
959 XEX with tweaked code book and ciphertext stealing
960
961 "ctr"
962 Counter (Since 2.8)
963
964 Since: 2.6
965
966 QCryptoIVGenAlgorithm (Enum)
967
968 The supported algorithms for generating initialization vectors for full
969 disk encryption. The 'plain' generator should not be used for disks
970 with sector numbers larger than 2^32, except where compatibility with
971 pre-existing Linux dm-crypt volumes is required.
972
973 Values:
974
975 "plain"
976 64-bit sector number truncated to 32-bits
977
978 "plain64"
979 64-bit sector number
980
981 "essiv"
982 64-bit sector number encrypted with a hash of the encryption key
983
984 Since: 2.6
985
986 QCryptoBlockFormat (Enum)
987
988 The supported full disk encryption formats
989
990 Values:
991
992 "qcow"
993 QCow/QCow2 built-in AES-CBC encryption. Use only for liberating
994 data from old images.
995
996 "luks"
997 LUKS encryption format. Recommended for new images
998
999 Since: 2.6
1000
1001 QCryptoBlockOptionsBase (Object)
1002
1003 The common options that apply to all full disk encryption formats
1004
1005 Members:
1006
1007 "format: QCryptoBlockFormat"
1008 the encryption format
1009
1010 Since: 2.6
1011
1012 QCryptoBlockOptionsQCow (Object)
1013
1014 The options that apply to QCow/QCow2 AES-CBC encryption format
1015
1016 Members:
1017
1018 "key-secret: string" (optional)
1019 the ID of a QCryptoSecret object providing the decryption key.
1020 Mandatory except when probing image for metadata only.
1021
1022 Since: 2.6
1023
1024 QCryptoBlockOptionsLUKS (Object)
1025
1026 The options that apply to LUKS encryption format
1027
1028 Members:
1029
1030 "key-secret: string" (optional)
1031 the ID of a QCryptoSecret object providing the decryption key.
1032 Mandatory except when probing image for metadata only.
1033
1034 Since: 2.6
1035
1036 QCryptoBlockCreateOptionsLUKS (Object)
1037
1038 The options that apply to LUKS encryption format initialization
1039
1040 Members:
1041
1042 "cipher-alg: QCryptoCipherAlgorithm" (optional)
1043 the cipher algorithm for data encryption Currently defaults to
1044 'aes'.
1045
1046 "cipher-mode: QCryptoCipherMode" (optional)
1047 the cipher mode for data encryption Currently defaults to 'cbc'
1048
1049 "ivgen-alg: QCryptoIVGenAlgorithm" (optional)
1050 the initialization vector generator Currently defaults to 'essiv'
1051
1052 "ivgen-hash-alg: QCryptoHashAlgorithm" (optional)
1053 the initialization vector generator hash Currently defaults to
1054 'sha256'
1055
1056 "hash-alg: QCryptoHashAlgorithm" (optional)
1057 the master key hash algorithm Currently defaults to 'sha256'
1058
1059 "iter-time: int" (optional)
1060 number of milliseconds to spend in PBKDF passphrase processing.
1061 Currently defaults to 2000. (since 2.8)
1062
1063 The members of "QCryptoBlockOptionsLUKS"
1064
1065 Since: 2.6
1066
1067 QCryptoBlockOpenOptions (Object)
1068
1069 The options that are available for all encryption formats when opening
1070 an existing volume
1071
1072 Members:
1073
1074 The members of "QCryptoBlockOptionsBase"
1075 The members of "QCryptoBlockOptionsQCow" when "format" is "qcow"
1076 The members of "QCryptoBlockOptionsLUKS" when "format" is "luks"
1077
1078 Since: 2.6
1079
1080 QCryptoBlockCreateOptions (Object)
1081
1082 The options that are available for all encryption formats when
1083 initializing a new volume
1084
1085 Members:
1086
1087 The members of "QCryptoBlockOptionsBase"
1088 The members of "QCryptoBlockOptionsQCow" when "format" is "qcow"
1089 The members of "QCryptoBlockCreateOptionsLUKS" when "format" is "luks"
1090
1091 Since: 2.6
1092
1093 QCryptoBlockInfoBase (Object)
1094
1095 The common information that applies to all full disk encryption formats
1096
1097 Members:
1098
1099 "format: QCryptoBlockFormat"
1100 the encryption format
1101
1102 Since: 2.7
1103
1104 QCryptoBlockInfoLUKSSlot (Object)
1105
1106 Information about the LUKS block encryption key slot options
1107
1108 Members:
1109
1110 "active: boolean"
1111 whether the key slot is currently in use
1112
1113 "key-offset: int"
1114 offset to the key material in bytes
1115
1116 "iters: int" (optional)
1117 number of PBKDF2 iterations for key material
1118
1119 "stripes: int" (optional)
1120 number of stripes for splitting key material
1121
1122 Since: 2.7
1123
1124 QCryptoBlockInfoLUKS (Object)
1125
1126 Information about the LUKS block encryption options
1127
1128 Members:
1129
1130 "cipher-alg: QCryptoCipherAlgorithm"
1131 the cipher algorithm for data encryption
1132
1133 "cipher-mode: QCryptoCipherMode"
1134 the cipher mode for data encryption
1135
1136 "ivgen-alg: QCryptoIVGenAlgorithm"
1137 the initialization vector generator
1138
1139 "ivgen-hash-alg: QCryptoHashAlgorithm" (optional)
1140 the initialization vector generator hash
1141
1142 "hash-alg: QCryptoHashAlgorithm"
1143 the master key hash algorithm
1144
1145 "payload-offset: int"
1146 offset to the payload data in bytes
1147
1148 "master-key-iters: int"
1149 number of PBKDF2 iterations for key material
1150
1151 "uuid: string"
1152 unique identifier for the volume
1153
1154 "slots: array of QCryptoBlockInfoLUKSSlot"
1155 information about each key slot
1156
1157 Since: 2.7
1158
1159 QCryptoBlockInfo (Object)
1160
1161 Information about the block encryption options
1162
1163 Members:
1164
1165 The members of "QCryptoBlockInfoBase"
1166 The members of "QCryptoBlockInfoLUKS" when "format" is "luks"
1167
1168 Since: 2.7
1169
1170 Block devices
1171 Block core (VM unrelated)
1172
1173 Background jobs
1174
1175 JobType (Enum)
1176
1177 Type of a background job.
1178
1179 Values:
1180
1181 "commit"
1182 block commit job type, see "block-commit"
1183
1184 "stream"
1185 block stream job type, see "block-stream"
1186
1187 "mirror"
1188 drive mirror job type, see "drive-mirror"
1189
1190 "backup"
1191 drive backup job type, see "drive-backup"
1192
1193 "create"
1194 image creation job type, see "blockdev-create" (since 3.0)
1195
1196 Since: 1.7
1197
1198 JobStatus (Enum)
1199
1200 Indicates the present state of a given job in its lifetime.
1201
1202 Values:
1203
1204 "undefined"
1205 Erroneous, default state. Should not ever be visible.
1206
1207 "created"
1208 The job has been created, but not yet started.
1209
1210 "running"
1211 The job is currently running.
1212
1213 "paused"
1214 The job is running, but paused. The pause may be requested by
1215 either the QMP user or by internal processes.
1216
1217 "ready"
1218 The job is running, but is ready for the user to signal completion.
1219 This is used for long-running jobs like mirror that are designed to
1220 run indefinitely.
1221
1222 "standby"
1223 The job is ready, but paused. This is nearly identical to "paused".
1224 The job may return to "ready" or otherwise be canceled.
1225
1226 "waiting"
1227 The job is waiting for other jobs in the transaction to converge to
1228 the waiting state. This status will likely not be visible for the
1229 last job in a transaction.
1230
1231 "pending"
1232 The job has finished its work, but has finalization steps that it
1233 needs to make prior to completing. These changes will require
1234 manual intervention via "job-finalize" if auto-finalize was set to
1235 false. These pending changes may still fail.
1236
1237 "aborting"
1238 The job is in the process of being aborted, and will finish with an
1239 error. The job will afterwards report that it is "concluded". This
1240 status may not be visible to the management process.
1241
1242 "concluded"
1243 The job has finished all work. If auto-dismiss was set to false,
1244 the job will remain in the query list until it is dismissed via
1245 "job-dismiss".
1246
1247 "null"
1248 The job is in the process of being dismantled. This state should
1249 not ever be visible externally.
1250
1251 Since: 2.12
1252
1253 JobVerb (Enum)
1254
1255 Represents command verbs that can be applied to a job.
1256
1257 Values:
1258
1259 "cancel"
1260 see "job-cancel"
1261
1262 "pause"
1263 see "job-pause"
1264
1265 "resume"
1266 see "job-resume"
1267
1268 "set-speed"
1269 see "block-job-set-speed"
1270
1271 "complete"
1272 see "job-complete"
1273
1274 "dismiss"
1275 see "job-dismiss"
1276
1277 "finalize"
1278 see "job-finalize"
1279
1280 Since: 2.12
1281
1282 JOB_STATUS_CHANGE (Event) Emitted when a job transitions to a
1283 different status.
1284
1285 Arguments:
1286
1287 "id: string"
1288 The job identifier
1289
1290 "status: JobStatus"
1291 The new job status
1292
1293 Since: 3.0
1294
1295 job-pause (Command) Pause an active job.
1296
1297 This command returns immediately after marking the active job for
1298 pausing. Pausing an already paused job is an error.
1299
1300 The job will pause as soon as possible, which means transitioning into
1301 the PAUSED state if it was RUNNING, or into STANDBY if it was READY.
1302 The corresponding JOB_STATUS_CHANGE event will be emitted.
1303
1304 Cancelling a paused job automatically resumes it.
1305
1306 Arguments:
1307
1308 "id: string"
1309 The job identifier.
1310
1311 Since: 3.0
1312
1313 job-resume (Command) Resume a paused job.
1314
1315 This command returns immediately after resuming a paused job. Resuming
1316 an already running job is an error.
1317
1318 "id" : The job identifier.
1319
1320 Arguments:
1321
1322 "id: string"
1323 Not documented
1324
1325 Since: 3.0
1326
1327 job-cancel (Command) Instruct an active background job to cancel at
1328 the next opportunity. This command returns immediately after marking
1329 the active job for cancellation.
1330
1331 The job will cancel as soon as possible and then emit a
1332 JOB_STATUS_CHANGE event. Usually, the status will change to ABORTING,
1333 but it is possible that a job successfully completes (e.g. because it
1334 was almost done and there was no opportunity to cancel earlier than
1335 completing the job) and transitions to PENDING instead.
1336
1337 Arguments:
1338
1339 "id: string"
1340 The job identifier.
1341
1342 Since: 3.0
1343
1344 job-complete (Command) Manually trigger completion of an active job in
1345 the READY state.
1346
1347 Arguments:
1348
1349 "id: string"
1350 The job identifier.
1351
1352 Since: 3.0
1353
1354 job-dismiss (Command) Deletes a job that is in the CONCLUDED state.
1355 This command only needs to be run explicitly for jobs that don't have
1356 automatic dismiss enabled.
1357
1358 This command will refuse to operate on any job that has not yet reached
1359 its terminal state, JOB_STATUS_CONCLUDED. For jobs that make use of
1360 JOB_READY event, job-cancel or job-complete will still need to be used
1361 as appropriate.
1362
1363 Arguments:
1364
1365 "id: string"
1366 The job identifier.
1367
1368 Since: 3.0
1369
1370 job-finalize (Command) Instructs all jobs in a transaction (or a
1371 single job if it is not part of any transaction) to finalize any graph
1372 changes and do any necessary cleanup. This command requires that all
1373 involved jobs are in the PENDING state.
1374
1375 For jobs in a transaction, instructing one job to finalize will force
1376 ALL jobs in the transaction to finalize, so it is only necessary to
1377 instruct a single member job to finalize.
1378
1379 Arguments:
1380
1381 "id: string"
1382 The identifier of any job in the transaction, or of a job that is
1383 not part of any transaction.
1384
1385 Since: 3.0
1386
1387 JobInfo (Object)
1388
1389 Information about a job.
1390
1391 Members:
1392
1393 "id: string"
1394 The job identifier
1395
1396 "type: JobType"
1397 The kind of job that is being performed
1398
1399 "status: JobStatus"
1400 Current job state/status
1401
1402 "current-progress: int"
1403 Progress made until now. The unit is arbitrary and the value can
1404 only meaningfully be used for the ratio of "current-progress" to
1405 "total-progress". The value is monotonically increasing.
1406
1407 "total-progress: int"
1408 Estimated "current-progress" value at the completion of the job.
1409 This value can arbitrarily change while the job is running, in both
1410 directions.
1411
1412 "error: string" (optional)
1413 If this field is present, the job failed; if it is still missing in
1414 the CONCLUDED state, this indicates successful completion.
1415
1416 The value is a human-readable error message to describe the reason
1417 for the job failure. It should not be parsed by applications.
1418
1419 Since: 3.0
1420
1421 query-jobs (Command) Return information about jobs.
1422
1423 Returns: a list with a "JobInfo" for each active job
1424
1425 Since: 3.0
1426
1427 SnapshotInfo (Object)
1428
1429 Members:
1430
1431 "id: string"
1432 unique snapshot id
1433
1434 "name: string"
1435 user chosen name
1436
1437 "vm-state-size: int"
1438 size of the VM state
1439
1440 "date-sec: int"
1441 UTC date of the snapshot in seconds
1442
1443 "date-nsec: int"
1444 fractional part in nano seconds to be used with date-sec
1445
1446 "vm-clock-sec: int"
1447 VM clock relative to boot in seconds
1448
1449 "vm-clock-nsec: int"
1450 fractional part in nano seconds to be used with vm-clock-sec
1451
1452 Since: 1.3
1453
1454 ImageInfoSpecificQCow2EncryptionBase (Object)
1455
1456 Members:
1457
1458 "format: BlockdevQcow2EncryptionFormat"
1459 The encryption format
1460
1461 Since: 2.10
1462
1463 ImageInfoSpecificQCow2Encryption (Object)
1464
1465 Members:
1466
1467 The members of "ImageInfoSpecificQCow2EncryptionBase"
1468 The members of "QCryptoBlockInfoLUKS" when "format" is "luks"
1469
1470 Since: 2.10
1471
1472 ImageInfoSpecificQCow2 (Object)
1473
1474 Members:
1475
1476 "compat: string"
1477 compatibility level
1478
1479 "lazy-refcounts: boolean" (optional)
1480 on or off; only valid for compat >= 1.1
1481
1482 "corrupt: boolean" (optional)
1483 true if the image has been marked corrupt; only valid for compat >=
1484 1.1 (since 2.2)
1485
1486 "refcount-bits: int"
1487 width of a refcount entry in bits (since 2.3)
1488
1489 "encrypt: ImageInfoSpecificQCow2Encryption" (optional)
1490 details about encryption parameters; only set if image is encrypted
1491 (since 2.10)
1492
1493 Since: 1.7
1494
1495 ImageInfoSpecificVmdk (Object)
1496
1497 Members:
1498
1499 "create-type: string"
1500 The create type of VMDK image
1501
1502 "cid: int"
1503 Content id of image
1504
1505 "parent-cid: int"
1506 Parent VMDK image's cid
1507
1508 "extents: array of ImageInfo"
1509 List of extent files
1510
1511 Since: 1.7
1512
1513 ImageInfoSpecific (Object)
1514
1515 A discriminated record of image format specific information structures.
1516
1517 Members:
1518
1519 "type"
1520 One of "qcow2", "vmdk", "luks"
1521
1522 "data: ImageInfoSpecificQCow2" when "type" is "qcow2"
1523 "data: ImageInfoSpecificVmdk" when "type" is "vmdk"
1524 "data: QCryptoBlockInfoLUKS" when "type" is "luks"
1525
1526 Since: 1.7
1527
1528 ImageInfo (Object)
1529
1530 Information about a QEMU image file
1531
1532 Members:
1533
1534 "filename: string"
1535 name of the image file
1536
1537 "format: string"
1538 format of the image file
1539
1540 "virtual-size: int"
1541 maximum capacity in bytes of the image
1542
1543 "actual-size: int" (optional)
1544 actual size on disk in bytes of the image
1545
1546 "dirty-flag: boolean" (optional)
1547 true if image is not cleanly closed
1548
1549 "cluster-size: int" (optional)
1550 size of a cluster in bytes
1551
1552 "encrypted: boolean" (optional)
1553 true if the image is encrypted
1554
1555 "compressed: boolean" (optional)
1556 true if the image is compressed (Since 1.7)
1557
1558 "backing-filename: string" (optional)
1559 name of the backing file
1560
1561 "full-backing-filename: string" (optional)
1562 full path of the backing file
1563
1564 "backing-filename-format: string" (optional)
1565 the format of the backing file
1566
1567 "snapshots: array of SnapshotInfo" (optional)
1568 list of VM snapshots
1569
1570 "backing-image: ImageInfo" (optional)
1571 info of the backing image (since 1.6)
1572
1573 "format-specific: ImageInfoSpecific" (optional)
1574 structure supplying additional format-specific information (since
1575 1.7)
1576
1577 Since: 1.3
1578
1579 ImageCheck (Object)
1580
1581 Information about a QEMU image file check
1582
1583 Members:
1584
1585 "filename: string"
1586 name of the image file checked
1587
1588 "format: string"
1589 format of the image file checked
1590
1591 "check-errors: int"
1592 number of unexpected errors occurred during check
1593
1594 "image-end-offset: int" (optional)
1595 offset (in bytes) where the image ends, this field is present if
1596 the driver for the image format supports it
1597
1598 "corruptions: int" (optional)
1599 number of corruptions found during the check if any
1600
1601 "leaks: int" (optional)
1602 number of leaks found during the check if any
1603
1604 "corruptions-fixed: int" (optional)
1605 number of corruptions fixed during the check if any
1606
1607 "leaks-fixed: int" (optional)
1608 number of leaks fixed during the check if any
1609
1610 "total-clusters: int" (optional)
1611 total number of clusters, this field is present if the driver for
1612 the image format supports it
1613
1614 "allocated-clusters: int" (optional)
1615 total number of allocated clusters, this field is present if the
1616 driver for the image format supports it
1617
1618 "fragmented-clusters: int" (optional)
1619 total number of fragmented clusters, this field is present if the
1620 driver for the image format supports it
1621
1622 "compressed-clusters: int" (optional)
1623 total number of compressed clusters, this field is present if the
1624 driver for the image format supports it
1625
1626 Since: 1.4
1627
1628 MapEntry (Object)
1629
1630 Mapping information from a virtual block range to a host file range
1631
1632 Members:
1633
1634 "start: int"
1635 the start byte of the mapped virtual range
1636
1637 "length: int"
1638 the number of bytes of the mapped virtual range
1639
1640 "data: boolean"
1641 whether the mapped range has data
1642
1643 "zero: boolean"
1644 whether the virtual blocks are zeroed
1645
1646 "depth: int"
1647 the depth of the mapping
1648
1649 "offset: int" (optional)
1650 the offset in file that the virtual sectors are mapped to
1651
1652 "filename: string" (optional)
1653 filename that is referred to by "offset"
1654
1655 Since: 2.6
1656
1657 BlockdevCacheInfo (Object)
1658
1659 Cache mode information for a block device
1660
1661 Members:
1662
1663 "writeback: boolean"
1664 true if writeback mode is enabled
1665
1666 "direct: boolean"
1667 true if the host page cache is bypassed (O_DIRECT)
1668
1669 "no-flush: boolean"
1670 true if flush requests are ignored for the device
1671
1672 Since: 2.3
1673
1674 BlockDeviceInfo (Object)
1675
1676 Information about the backing device for a block device.
1677
1678 Members:
1679
1680 "file: string"
1681 the filename of the backing device
1682
1683 "node-name: string" (optional)
1684 the name of the block driver node (Since 2.0)
1685
1686 "ro: boolean"
1687 true if the backing device was open read-only
1688
1689 "drv: string"
1690 the name of the block format used to open the backing device. As of
1691 0.14.0 this can be: 'blkdebug', 'bochs', 'cloop', 'cow', 'dmg',
1692 'file', 'file', 'ftp', 'ftps', 'host_cdrom', 'host_device', 'http',
1693 'https', 'luks', 'nbd', 'parallels', 'qcow', 'qcow2', 'raw', 'vdi',
1694 'vmdk', 'vpc', 'vvfat' 2.2: 'archipelago' added, 'cow' dropped 2.3:
1695 'host_floppy' deprecated 2.5: 'host_floppy' dropped 2.6: 'luks'
1696 added 2.8: 'replication' added, 'tftp' dropped 2.9: 'archipelago'
1697 dropped
1698
1699 "backing_file: string" (optional)
1700 the name of the backing file (for copy-on-write)
1701
1702 "backing_file_depth: int"
1703 number of files in the backing file chain (since: 1.2)
1704
1705 "encrypted: boolean"
1706 true if the backing device is encrypted
1707
1708 "encryption_key_missing: boolean"
1709 Deprecated; always false
1710
1711 "detect_zeroes: BlockdevDetectZeroesOptions"
1712 detect and optimize zero writes (Since 2.1)
1713
1714 "bps: int"
1715 total throughput limit in bytes per second is specified
1716
1717 "bps_rd: int"
1718 read throughput limit in bytes per second is specified
1719
1720 "bps_wr: int"
1721 write throughput limit in bytes per second is specified
1722
1723 "iops: int"
1724 total I/O operations per second is specified
1725
1726 "iops_rd: int"
1727 read I/O operations per second is specified
1728
1729 "iops_wr: int"
1730 write I/O operations per second is specified
1731
1732 "image: ImageInfo"
1733 the info of image used (since: 1.6)
1734
1735 "bps_max: int" (optional)
1736 total throughput limit during bursts, in bytes (Since 1.7)
1737
1738 "bps_rd_max: int" (optional)
1739 read throughput limit during bursts, in bytes (Since 1.7)
1740
1741 "bps_wr_max: int" (optional)
1742 write throughput limit during bursts, in bytes (Since 1.7)
1743
1744 "iops_max: int" (optional)
1745 total I/O operations per second during bursts, in bytes (Since 1.7)
1746
1747 "iops_rd_max: int" (optional)
1748 read I/O operations per second during bursts, in bytes (Since 1.7)
1749
1750 "iops_wr_max: int" (optional)
1751 write I/O operations per second during bursts, in bytes (Since 1.7)
1752
1753 "bps_max_length: int" (optional)
1754 maximum length of the "bps_max" burst period, in seconds. (Since
1755 2.6)
1756
1757 "bps_rd_max_length: int" (optional)
1758 maximum length of the "bps_rd_max" burst period, in seconds. (Since
1759 2.6)
1760
1761 "bps_wr_max_length: int" (optional)
1762 maximum length of the "bps_wr_max" burst period, in seconds. (Since
1763 2.6)
1764
1765 "iops_max_length: int" (optional)
1766 maximum length of the "iops" burst period, in seconds. (Since 2.6)
1767
1768 "iops_rd_max_length: int" (optional)
1769 maximum length of the "iops_rd_max" burst period, in seconds.
1770 (Since 2.6)
1771
1772 "iops_wr_max_length: int" (optional)
1773 maximum length of the "iops_wr_max" burst period, in seconds.
1774 (Since 2.6)
1775
1776 "iops_size: int" (optional)
1777 an I/O size in bytes (Since 1.7)
1778
1779 "group: string" (optional)
1780 throttle group name (Since 2.4)
1781
1782 "cache: BlockdevCacheInfo"
1783 the cache mode used for the block device (since: 2.3)
1784
1785 "write_threshold: int"
1786 configured write threshold for the device. 0 if disabled. (Since
1787 2.3)
1788
1789 Since: 0.14.0
1790
1791 BlockDeviceIoStatus (Enum)
1792
1793 An enumeration of block device I/O status.
1794
1795 Values:
1796
1797 "ok"
1798 The last I/O operation has succeeded
1799
1800 "failed"
1801 The last I/O operation has failed
1802
1803 "nospace"
1804 The last I/O operation has failed due to a no-space condition
1805
1806 Since: 1.0
1807
1808 BlockDeviceMapEntry (Object)
1809
1810 Entry in the metadata map of the device (returned by "qemu-img map")
1811
1812 Members:
1813
1814 "start: int"
1815 Offset in the image of the first byte described by this entry (in
1816 bytes)
1817
1818 "length: int"
1819 Length of the range described by this entry (in bytes)
1820
1821 "depth: int"
1822 Number of layers (0 = top image, 1 = top image's backing file,
1823 etc.) before reaching one for which the range is allocated. The
1824 value is in the range 0 to the depth of the image chain - 1.
1825
1826 "zero: boolean"
1827 the sectors in this range read as zeros
1828
1829 "data: boolean"
1830 reading the image will actually read data from a file (in
1831 particular, if "offset" is present this means that the sectors are
1832 not simply preallocated, but contain actual data in raw format)
1833
1834 "offset: int" (optional)
1835 if present, the image file stores the data for this range in raw
1836 format at the given offset.
1837
1838 Since: 1.7
1839
1840 DirtyBitmapStatus (Enum)
1841
1842 An enumeration of possible states that a dirty bitmap can report to the
1843 user.
1844
1845 Values:
1846
1847 "frozen"
1848 The bitmap is currently in-use by a backup operation or block job,
1849 and is immutable.
1850
1851 "disabled"
1852 The bitmap is currently in-use by an internal operation and is
1853 read-only. It can still be deleted.
1854
1855 "active"
1856 The bitmap is actively monitoring for new writes, and can be
1857 cleared, deleted, or used for backup operations.
1858
1859 "locked"
1860 The bitmap is currently in-use by some operation and can not be
1861 cleared, deleted, or used for backup operations. (Since 2.12)
1862
1863 Since: 2.4
1864
1865 BlockDirtyInfo (Object)
1866
1867 Block dirty bitmap information.
1868
1869 Members:
1870
1871 "name: string" (optional)
1872 the name of the dirty bitmap (Since 2.4)
1873
1874 "count: int"
1875 number of dirty bytes according to the dirty bitmap
1876
1877 "granularity: int"
1878 granularity of the dirty bitmap in bytes (since 1.4)
1879
1880 "status: DirtyBitmapStatus"
1881 current status of the dirty bitmap (since 2.4)
1882
1883 Since: 1.3
1884
1885 BlockLatencyHistogramInfo (Object)
1886
1887 Block latency histogram.
1888
1889 Members:
1890
1891 "boundaries: array of int"
1892 list of interval boundary values in nanoseconds, all greater than
1893 zero and in ascending order. For example, the list [10, 50, 100]
1894 produces the following histogram intervals: [0, 10), [10, 50), [50,
1895 100), [100, +inf).
1896
1897 "bins: array of int"
1898 list of io request counts corresponding to histogram intervals.
1899 len("bins") = len("boundaries") + 1 For the example above, "bins"
1900 may be something like [3, 1, 5, 2], and corresponding histogram
1901 looks like:
1902
1903 5| * 4| * 3| 2| * 1|
1904 +------------------ 10 50 100
1905
1906 Since: 2.12
1907
1908 x-block-latency-histogram-set (Command) Manage read, write and flush
1909 latency histograms for the device.
1910
1911 If only "device" parameter is specified, remove all present latency
1912 histograms for the device. Otherwise, add/reset some of (or all)
1913 latency histograms.
1914
1915 Arguments:
1916
1917 "device: string"
1918 device name to set latency histogram for.
1919
1920 "boundaries: array of int" (optional)
1921 list of interval boundary values (see description in
1922 BlockLatencyHistogramInfo definition). If specified, all latency
1923 histograms are removed, and empty ones created for all io types
1924 with intervals corresponding to "boundaries" (except for io types,
1925 for which specific boundaries are set through the following
1926 parameters).
1927
1928 "boundaries-read: array of int" (optional)
1929 list of interval boundary values for read latency histogram. If
1930 specified, old read latency histogram is removed, and empty one
1931 created with intervals corresponding to "boundaries-read". The
1932 parameter has higher priority then "boundaries".
1933
1934 "boundaries-write: array of int" (optional)
1935 list of interval boundary values for write latency histogram.
1936
1937 "boundaries-flush: array of int" (optional)
1938 list of interval boundary values for flush latency histogram.
1939
1940 Returns: error if device is not found or any boundary arrays are
1941 invalid.
1942
1943 Since: 2.12
1944
1945 Example:
1946
1947 set new histograms for all io types with intervals
1948 [0, 10), [10, 50), [50, 100), [100, +inf):
1949
1950 -> { "execute": "block-latency-histogram-set",
1951 "arguments": { "device": "drive0",
1952 "boundaries": [10, 50, 100] } }
1953 <- { "return": {} }
1954
1955 Example:
1956
1957 set new histogram only for write, other histograms will remain
1958 not changed (or not created):
1959
1960 -> { "execute": "block-latency-histogram-set",
1961 "arguments": { "device": "drive0",
1962 "boundaries-write": [10, 50, 100] } }
1963 <- { "return": {} }
1964
1965 Example:
1966
1967 set new histograms with the following intervals:
1968 read, flush: [0, 10), [10, 50), [50, 100), [100, +inf)
1969 write: [0, 1000), [1000, 5000), [5000, +inf)
1970
1971 -> { "execute": "block-latency-histogram-set",
1972 "arguments": { "device": "drive0",
1973 "boundaries": [10, 50, 100],
1974 "boundaries-write": [1000, 5000] } }
1975 <- { "return": {} }
1976
1977 Example:
1978
1979 remove all latency histograms:
1980
1981 -> { "execute": "block-latency-histogram-set",
1982 "arguments": { "device": "drive0" } }
1983 <- { "return": {} }
1984
1985 BlockInfo (Object)
1986
1987 Block device information. This structure describes a virtual device
1988 and the backing device associated with it.
1989
1990 Members:
1991
1992 "device: string"
1993 The device name associated with the virtual device.
1994
1995 "qdev: string" (optional)
1996 The qdev ID, or if no ID is assigned, the QOM path of the block
1997 device. (since 2.10)
1998
1999 "type: string"
2000 This field is returned only for compatibility reasons, it should
2001 not be used (always returns 'unknown')
2002
2003 "removable: boolean"
2004 True if the device supports removable media.
2005
2006 "locked: boolean"
2007 True if the guest has locked this device from having its media
2008 removed
2009
2010 "tray_open: boolean" (optional)
2011 True if the device's tray is open (only present if it has a tray)
2012
2013 "dirty-bitmaps: array of BlockDirtyInfo" (optional)
2014 dirty bitmaps information (only present if the driver has one or
2015 more dirty bitmaps) (Since 2.0)
2016
2017 "io-status: BlockDeviceIoStatus" (optional)
2018 "BlockDeviceIoStatus". Only present if the device supports it and
2019 the VM is configured to stop on errors (supported device models:
2020 virtio-blk, IDE, SCSI except scsi-generic)
2021
2022 "inserted: BlockDeviceInfo" (optional)
2023 "BlockDeviceInfo" describing the device if media is present
2024
2025 Since: 0.14.0
2026
2027 BlockMeasureInfo (Object)
2028
2029 Image file size calculation information. This structure describes the
2030 size requirements for creating a new image file.
2031
2032 The size requirements depend on the new image file format. File size
2033 always equals virtual disk size for the 'raw' format, even for sparse
2034 POSIX files. Compact formats such as 'qcow2' represent unallocated and
2035 zero regions efficiently so file size may be smaller than virtual disk
2036 size.
2037
2038 The values are upper bounds that are guaranteed to fit the new image
2039 file. Subsequent modification, such as internal snapshot or bitmap
2040 creation, may require additional space and is not covered here.
2041
2042 Members:
2043
2044 "required: int"
2045 Size required for a new image file, in bytes.
2046
2047 "fully-allocated: int"
2048 Image file size, in bytes, once data has been written to all
2049 sectors.
2050
2051 Since: 2.10
2052
2053 query-block (Command) Get a list of BlockInfo for all virtual block
2054 devices.
2055
2056 Returns: a list of "BlockInfo" describing each virtual block device.
2057 Filter nodes that were created implicitly are skipped over.
2058
2059 Since: 0.14.0
2060
2061 Example:
2062
2063 -> { "execute": "query-block" }
2064 <- {
2065 "return":[
2066 {
2067 "io-status": "ok",
2068 "device":"ide0-hd0",
2069 "locked":false,
2070 "removable":false,
2071 "inserted":{
2072 "ro":false,
2073 "drv":"qcow2",
2074 "encrypted":false,
2075 "file":"disks/test.qcow2",
2076 "backing_file_depth":1,
2077 "bps":1000000,
2078 "bps_rd":0,
2079 "bps_wr":0,
2080 "iops":1000000,
2081 "iops_rd":0,
2082 "iops_wr":0,
2083 "bps_max": 8000000,
2084 "bps_rd_max": 0,
2085 "bps_wr_max": 0,
2086 "iops_max": 0,
2087 "iops_rd_max": 0,
2088 "iops_wr_max": 0,
2089 "iops_size": 0,
2090 "detect_zeroes": "on",
2091 "write_threshold": 0,
2092 "image":{
2093 "filename":"disks/test.qcow2",
2094 "format":"qcow2",
2095 "virtual-size":2048000,
2096 "backing_file":"base.qcow2",
2097 "full-backing-filename":"disks/base.qcow2",
2098 "backing-filename-format":"qcow2",
2099 "snapshots":[
2100 {
2101 "id": "1",
2102 "name": "snapshot1",
2103 "vm-state-size": 0,
2104 "date-sec": 10000200,
2105 "date-nsec": 12,
2106 "vm-clock-sec": 206,
2107 "vm-clock-nsec": 30
2108 }
2109 ],
2110 "backing-image":{
2111 "filename":"disks/base.qcow2",
2112 "format":"qcow2",
2113 "virtual-size":2048000
2114 }
2115 }
2116 },
2117 "qdev": "ide_disk",
2118 "type":"unknown"
2119 },
2120 {
2121 "io-status": "ok",
2122 "device":"ide1-cd0",
2123 "locked":false,
2124 "removable":true,
2125 "qdev": "/machine/unattached/device[23]",
2126 "tray_open": false,
2127 "type":"unknown"
2128 },
2129 {
2130 "device":"floppy0",
2131 "locked":false,
2132 "removable":true,
2133 "qdev": "/machine/unattached/device[20]",
2134 "type":"unknown"
2135 },
2136 {
2137 "device":"sd0",
2138 "locked":false,
2139 "removable":true,
2140 "type":"unknown"
2141 }
2142 ]
2143 }
2144
2145 BlockDeviceTimedStats (Object)
2146
2147 Statistics of a block device during a given interval of time.
2148
2149 Members:
2150
2151 "interval_length: int"
2152 Interval used for calculating the statistics, in seconds.
2153
2154 "min_rd_latency_ns: int"
2155 Minimum latency of read operations in the defined interval, in
2156 nanoseconds.
2157
2158 "min_wr_latency_ns: int"
2159 Minimum latency of write operations in the defined interval, in
2160 nanoseconds.
2161
2162 "min_flush_latency_ns: int"
2163 Minimum latency of flush operations in the defined interval, in
2164 nanoseconds.
2165
2166 "max_rd_latency_ns: int"
2167 Maximum latency of read operations in the defined interval, in
2168 nanoseconds.
2169
2170 "max_wr_latency_ns: int"
2171 Maximum latency of write operations in the defined interval, in
2172 nanoseconds.
2173
2174 "max_flush_latency_ns: int"
2175 Maximum latency of flush operations in the defined interval, in
2176 nanoseconds.
2177
2178 "avg_rd_latency_ns: int"
2179 Average latency of read operations in the defined interval, in
2180 nanoseconds.
2181
2182 "avg_wr_latency_ns: int"
2183 Average latency of write operations in the defined interval, in
2184 nanoseconds.
2185
2186 "avg_flush_latency_ns: int"
2187 Average latency of flush operations in the defined interval, in
2188 nanoseconds.
2189
2190 "avg_rd_queue_depth: number"
2191 Average number of pending read operations in the defined interval.
2192
2193 "avg_wr_queue_depth: number"
2194 Average number of pending write operations in the defined interval.
2195
2196 Since: 2.5
2197
2198 BlockDeviceStats (Object)
2199
2200 Statistics of a virtual block device or a block backing device.
2201
2202 Members:
2203
2204 "rd_bytes: int"
2205 The number of bytes read by the device.
2206
2207 "wr_bytes: int"
2208 The number of bytes written by the device.
2209
2210 "rd_operations: int"
2211 The number of read operations performed by the device.
2212
2213 "wr_operations: int"
2214 The number of write operations performed by the device.
2215
2216 "flush_operations: int"
2217 The number of cache flush operations performed by the device (since
2218 0.15.0)
2219
2220 "flush_total_time_ns: int"
2221 Total time spend on cache flushes in nano-seconds (since 0.15.0).
2222
2223 "wr_total_time_ns: int"
2224 Total time spend on writes in nano-seconds (since 0.15.0).
2225
2226 "rd_total_time_ns: int"
2227 Total_time_spend on reads in nano-seconds (since 0.15.0).
2228
2229 "wr_highest_offset: int"
2230 The offset after the greatest byte written to the device. The
2231 intended use of this information is for growable sparse files (like
2232 qcow2) that are used on top of a physical device.
2233
2234 "rd_merged: int"
2235 Number of read requests that have been merged into another request
2236 (Since 2.3).
2237
2238 "wr_merged: int"
2239 Number of write requests that have been merged into another request
2240 (Since 2.3).
2241
2242 "idle_time_ns: int" (optional)
2243 Time since the last I/O operation, in nanoseconds. If the field is
2244 absent it means that there haven't been any operations yet (Since
2245 2.5).
2246
2247 "failed_rd_operations: int"
2248 The number of failed read operations performed by the device (Since
2249 2.5)
2250
2251 "failed_wr_operations: int"
2252 The number of failed write operations performed by the device
2253 (Since 2.5)
2254
2255 "failed_flush_operations: int"
2256 The number of failed flush operations performed by the device
2257 (Since 2.5)
2258
2259 "invalid_rd_operations: int"
2260 The number of invalid read operations performed by the device
2261 (Since 2.5)
2262
2263 "invalid_wr_operations: int"
2264 The number of invalid write operations performed by the device
2265 (Since 2.5)
2266
2267 "invalid_flush_operations: int"
2268 The number of invalid flush operations performed by the device
2269 (Since 2.5)
2270
2271 "account_invalid: boolean"
2272 Whether invalid operations are included in the last access
2273 statistics (Since 2.5)
2274
2275 "account_failed: boolean"
2276 Whether failed operations are included in the latency and last
2277 access statistics (Since 2.5)
2278
2279 "timed_stats: array of BlockDeviceTimedStats"
2280 Statistics specific to the set of previously defined intervals of
2281 time (Since 2.5)
2282
2283 "x_rd_latency_histogram: BlockLatencyHistogramInfo" (optional)
2284 "BlockLatencyHistogramInfo". (Since 2.12)
2285
2286 "x_wr_latency_histogram: BlockLatencyHistogramInfo" (optional)
2287 "BlockLatencyHistogramInfo". (Since 2.12)
2288
2289 "x_flush_latency_histogram: BlockLatencyHistogramInfo" (optional)
2290 "BlockLatencyHistogramInfo". (Since 2.12)
2291
2292 Since: 0.14.0
2293
2294 BlockStats (Object)
2295
2296 Statistics of a virtual block device or a block backing device.
2297
2298 Members:
2299
2300 "device: string" (optional)
2301 If the stats are for a virtual block device, the name corresponding
2302 to the virtual block device.
2303
2304 "node-name: string" (optional)
2305 The node name of the device. (Since 2.3)
2306
2307 "qdev: string" (optional)
2308 The qdev ID, or if no ID is assigned, the QOM path of the block
2309 device. (since 3.0)
2310
2311 "stats: BlockDeviceStats"
2312 A "BlockDeviceStats" for the device.
2313
2314 "parent: BlockStats" (optional)
2315 This describes the file block device if it has one. Contains
2316 recursively the statistics of the underlying protocol (e.g. the
2317 host file for a qcow2 image). If there is no underlying protocol,
2318 this field is omitted
2319
2320 "backing: BlockStats" (optional)
2321 This describes the backing block device if it has one. (Since 2.0)
2322
2323 Since: 0.14.0
2324
2325 query-blockstats (Command) Query the "BlockStats" for all virtual
2326 block devices.
2327
2328 Arguments:
2329
2330 "query-nodes: boolean" (optional)
2331 If true, the command will query all the block nodes that have a
2332 node name, in a list which will include "parent" information, but
2333 not "backing". If false or omitted, the behavior is as before -
2334 query all the device backends, recursively including their "parent"
2335 and "backing". Filter nodes that were created implicitly are
2336 skipped over in this mode. (Since 2.3)
2337
2338 Returns: A list of "BlockStats" for each virtual block devices.
2339
2340 Since: 0.14.0
2341
2342 Example:
2343
2344 -> { "execute": "query-blockstats" }
2345 <- {
2346 "return":[
2347 {
2348 "device":"ide0-hd0",
2349 "parent":{
2350 "stats":{
2351 "wr_highest_offset":3686448128,
2352 "wr_bytes":9786368,
2353 "wr_operations":751,
2354 "rd_bytes":122567168,
2355 "rd_operations":36772
2356 "wr_total_times_ns":313253456
2357 "rd_total_times_ns":3465673657
2358 "flush_total_times_ns":49653
2359 "flush_operations":61,
2360 "rd_merged":0,
2361 "wr_merged":0,
2362 "idle_time_ns":2953431879,
2363 "account_invalid":true,
2364 "account_failed":false
2365 }
2366 },
2367 "stats":{
2368 "wr_highest_offset":2821110784,
2369 "wr_bytes":9786368,
2370 "wr_operations":692,
2371 "rd_bytes":122739200,
2372 "rd_operations":36604
2373 "flush_operations":51,
2374 "wr_total_times_ns":313253456
2375 "rd_total_times_ns":3465673657
2376 "flush_total_times_ns":49653,
2377 "rd_merged":0,
2378 "wr_merged":0,
2379 "idle_time_ns":2953431879,
2380 "account_invalid":true,
2381 "account_failed":false
2382 },
2383 "qdev": "/machine/unattached/device[23]"
2384 },
2385 {
2386 "device":"ide1-cd0",
2387 "stats":{
2388 "wr_highest_offset":0,
2389 "wr_bytes":0,
2390 "wr_operations":0,
2391 "rd_bytes":0,
2392 "rd_operations":0
2393 "flush_operations":0,
2394 "wr_total_times_ns":0
2395 "rd_total_times_ns":0
2396 "flush_total_times_ns":0,
2397 "rd_merged":0,
2398 "wr_merged":0,
2399 "account_invalid":false,
2400 "account_failed":false
2401 },
2402 "qdev": "/machine/unattached/device[24]"
2403 },
2404 {
2405 "device":"floppy0",
2406 "stats":{
2407 "wr_highest_offset":0,
2408 "wr_bytes":0,
2409 "wr_operations":0,
2410 "rd_bytes":0,
2411 "rd_operations":0
2412 "flush_operations":0,
2413 "wr_total_times_ns":0
2414 "rd_total_times_ns":0
2415 "flush_total_times_ns":0,
2416 "rd_merged":0,
2417 "wr_merged":0,
2418 "account_invalid":false,
2419 "account_failed":false
2420 },
2421 "qdev": "/machine/unattached/device[16]"
2422 },
2423 {
2424 "device":"sd0",
2425 "stats":{
2426 "wr_highest_offset":0,
2427 "wr_bytes":0,
2428 "wr_operations":0,
2429 "rd_bytes":0,
2430 "rd_operations":0
2431 "flush_operations":0,
2432 "wr_total_times_ns":0
2433 "rd_total_times_ns":0
2434 "flush_total_times_ns":0,
2435 "rd_merged":0,
2436 "wr_merged":0,
2437 "account_invalid":false,
2438 "account_failed":false
2439 }
2440 }
2441 ]
2442 }
2443
2444 BlockdevOnError (Enum)
2445
2446 An enumeration of possible behaviors for errors on I/O operations. The
2447 exact meaning depends on whether the I/O was initiated by a guest or by
2448 a block job
2449
2450 Values:
2451
2452 "report"
2453 for guest operations, report the error to the guest; for jobs,
2454 cancel the job
2455
2456 "ignore"
2457 ignore the error, only report a QMP event (BLOCK_IO_ERROR or
2458 BLOCK_JOB_ERROR)
2459
2460 "enospc"
2461 same as "stop" on ENOSPC, same as "report" otherwise.
2462
2463 "stop"
2464 for guest operations, stop the virtual machine; for jobs, pause the
2465 job
2466
2467 "auto"
2468 inherit the error handling policy of the backend (since: 2.7)
2469
2470 Since: 1.3
2471
2472 MirrorSyncMode (Enum)
2473
2474 An enumeration of possible behaviors for the initial synchronization
2475 phase of storage mirroring.
2476
2477 Values:
2478
2479 "top"
2480 copies data in the topmost image to the destination
2481
2482 "full"
2483 copies data from all images to the destination
2484
2485 "none"
2486 only copy data written from now on
2487
2488 "incremental"
2489 only copy data described by the dirty bitmap. Since: 2.4
2490
2491 Since: 1.3
2492
2493 MirrorCopyMode (Enum)
2494
2495 An enumeration whose values tell the mirror block job when to trigger
2496 writes to the target.
2497
2498 Values:
2499
2500 "background"
2501 copy data in background only.
2502
2503 "write-blocking"
2504 when data is written to the source, write it (synchronously) to the
2505 target as well. In addition, data is copied in background just
2506 like in "background" mode.
2507
2508 Since: 3.0
2509
2510 BlockJobInfo (Object)
2511
2512 Information about a long-running block device operation.
2513
2514 Members:
2515
2516 "type: string"
2517 the job type ('stream' for image streaming)
2518
2519 "device: string"
2520 The job identifier. Originally the device name but other values are
2521 allowed since QEMU 2.7
2522
2523 "len: int"
2524 Estimated "offset" value at the completion of the job. This value
2525 can arbitrarily change while the job is running, in both
2526 directions.
2527
2528 "offset: int"
2529 Progress made until now. The unit is arbitrary and the value can
2530 only meaningfully be used for the ratio of "offset" to "len". The
2531 value is monotonically increasing.
2532
2533 "busy: boolean"
2534 false if the job is known to be in a quiescent state, with no
2535 pending I/O. Since 1.3.
2536
2537 "paused: boolean"
2538 whether the job is paused or, if "busy" is true, will pause itself
2539 as soon as possible. Since 1.3.
2540
2541 "speed: int"
2542 the rate limit, bytes per second
2543
2544 "io-status: BlockDeviceIoStatus"
2545 the status of the job (since 1.3)
2546
2547 "ready: boolean"
2548 true if the job may be completed (since 2.2)
2549
2550 "status: JobStatus"
2551 Current job state/status (since 2.12)
2552
2553 "auto-finalize: boolean"
2554 Job will finalize itself when PENDING, moving to the CONCLUDED
2555 state. (since 2.12)
2556
2557 "auto-dismiss: boolean"
2558 Job will dismiss itself when CONCLUDED, moving to the NULL state
2559 and disappearing from the query list. (since 2.12)
2560
2561 "error: string" (optional)
2562 Error information if the job did not complete successfully. Not
2563 set if the job completed successfully. (since 2.12.1)
2564
2565 Since: 1.1
2566
2567 query-block-jobs (Command) Return information about long-running block
2568 device operations.
2569
2570 Returns: a list of "BlockJobInfo" for each active block job
2571
2572 Since: 1.1
2573
2574 block_passwd (Command) This command sets the password of a block
2575 device that has not been open with a password and requires one.
2576
2577 This command is now obsolete and will always return an error since 2.10
2578
2579 Arguments:
2580
2581 "device: string" (optional)
2582 Not documented
2583
2584 "node-name: string" (optional)
2585 Not documented
2586
2587 "password: string"
2588 Not documented
2589
2590 block_resize (Command) Resize a block image while a guest is running.
2591
2592 Either "device" or "node-name" must be set but not both.
2593
2594 Arguments:
2595
2596 "device: string" (optional)
2597 the name of the device to get the image resized
2598
2599 "node-name: string" (optional)
2600 graph node name to get the image resized (Since 2.0)
2601
2602 "size: int"
2603 new image size in bytes
2604
2605 Returns: nothing on success If "device" is not a valid block device,
2606 DeviceNotFound
2607
2608 Since: 0.14.0
2609
2610 Example:
2611
2612 -> { "execute": "block_resize",
2613 "arguments": { "device": "scratch", "size": 1073741824 } }
2614 <- { "return": {} }
2615
2616 NewImageMode (Enum)
2617
2618 An enumeration that tells QEMU how to set the backing file path in a
2619 new image file.
2620
2621 Values:
2622
2623 "existing"
2624 QEMU should look for an existing image file.
2625
2626 "absolute-paths"
2627 QEMU should create a new image with absolute paths for the backing
2628 file. If there is no backing file available, the new image will not
2629 be backed either.
2630
2631 Since: 1.1
2632
2633 BlockdevSnapshotSync (Object)
2634
2635 Either "device" or "node-name" must be set but not both.
2636
2637 Members:
2638
2639 "device: string" (optional)
2640 the name of the device to generate the snapshot from.
2641
2642 "node-name: string" (optional)
2643 graph node name to generate the snapshot from (Since 2.0)
2644
2645 "snapshot-file: string"
2646 the target of the new image. If the file exists, or if it is a
2647 device, the snapshot will be created in the existing file/device.
2648 Otherwise, a new file will be created.
2649
2650 "snapshot-node-name: string" (optional)
2651 the graph node name of the new image (Since 2.0)
2652
2653 "format: string" (optional)
2654 the format of the snapshot image, default is 'qcow2'.
2655
2656 "mode: NewImageMode" (optional)
2657 whether and how QEMU should create a new image, default is
2658 'absolute-paths'.
2659
2660 BlockdevSnapshot (Object)
2661
2662 Members:
2663
2664 "node: string"
2665 device or node name that will have a snapshot created.
2666
2667 "overlay: string"
2668 reference to the existing block device that will become the overlay
2669 of "node", as part of creating the snapshot. It must not have a
2670 current backing file (this can be achieved by passing "backing":
2671 null to blockdev-add).
2672
2673 Since: 2.5
2674
2675 DriveBackup (Object)
2676
2677 Members:
2678
2679 "job-id: string" (optional)
2680 identifier for the newly-created block job. If omitted, the device
2681 name will be used. (Since 2.7)
2682
2683 "device: string"
2684 the device name or node-name of a root node which should be copied.
2685
2686 "target: string"
2687 the target of the new image. If the file exists, or if it is a
2688 device, the existing file/device will be used as the new
2689 destination. If it does not exist, a new file will be created.
2690
2691 "format: string" (optional)
2692 the format of the new destination, default is to probe if "mode" is
2693 'existing', else the format of the source
2694
2695 "sync: MirrorSyncMode"
2696 what parts of the disk image should be copied to the destination
2697 (all the disk, only the sectors allocated in the topmost image,
2698 from a dirty bitmap, or only new I/O).
2699
2700 "mode: NewImageMode" (optional)
2701 whether and how QEMU should create a new image, default is
2702 'absolute-paths'.
2703
2704 "speed: int" (optional)
2705 the maximum speed, in bytes per second
2706
2707 "bitmap: string" (optional)
2708 the name of dirty bitmap if sync is "incremental". Must be present
2709 if sync is "incremental", must NOT be present otherwise. (Since
2710 2.4)
2711
2712 "compress: boolean" (optional)
2713 true to compress data, if the target format supports it. (default:
2714 false) (since 2.8)
2715
2716 "on-source-error: BlockdevOnError" (optional)
2717 the action to take on an error on the source, default 'report'.
2718 'stop' and 'enospc' can only be used if the block device supports
2719 io-status (see BlockInfo).
2720
2721 "on-target-error: BlockdevOnError" (optional)
2722 the action to take on an error on the target, default 'report' (no
2723 limitations, since this applies to a different block device than
2724 "device").
2725
2726 "auto-finalize: boolean" (optional)
2727 When false, this job will wait in a PENDING state after it has
2728 finished its work, waiting for "block-job-finalize" before making
2729 any block graph changes. When true, this job will automatically
2730 perform its abort or commit actions. Defaults to true. (Since
2731 2.12)
2732
2733 "auto-dismiss: boolean" (optional)
2734 When false, this job will wait in a CONCLUDED state after it has
2735 completely ceased all work, and awaits "block-job-dismiss". When
2736 true, this job will automatically disappear from the query list
2737 without user intervention. Defaults to true. (Since 2.12)
2738
2739 Note: "on-source-error" and "on-target-error" only affect background
2740 I/O. If an error occurs during a guest write request, the device's
2741 rerror/werror actions will be used.
2742
2743 Since: 1.6
2744
2745 BlockdevBackup (Object)
2746
2747 Members:
2748
2749 "job-id: string" (optional)
2750 identifier for the newly-created block job. If omitted, the device
2751 name will be used. (Since 2.7)
2752
2753 "device: string"
2754 the device name or node-name of a root node which should be copied.
2755
2756 "target: string"
2757 the device name or node-name of the backup target node.
2758
2759 "sync: MirrorSyncMode"
2760 what parts of the disk image should be copied to the destination
2761 (all the disk, only the sectors allocated in the topmost image, or
2762 only new I/O).
2763
2764 "speed: int" (optional)
2765 the maximum speed, in bytes per second. The default is 0, for
2766 unlimited.
2767
2768 "bitmap: string" (optional)
2769 the name of dirty bitmap if sync is "incremental". Must be present
2770 if sync is "incremental", must NOT be present otherwise. (Since
2771 3.1)
2772
2773 "compress: boolean" (optional)
2774 true to compress data, if the target format supports it. (default:
2775 false) (since 2.8)
2776
2777 "on-source-error: BlockdevOnError" (optional)
2778 the action to take on an error on the source, default 'report'.
2779 'stop' and 'enospc' can only be used if the block device supports
2780 io-status (see BlockInfo).
2781
2782 "on-target-error: BlockdevOnError" (optional)
2783 the action to take on an error on the target, default 'report' (no
2784 limitations, since this applies to a different block device than
2785 "device").
2786
2787 "auto-finalize: boolean" (optional)
2788 When false, this job will wait in a PENDING state after it has
2789 finished its work, waiting for "block-job-finalize" before making
2790 any block graph changes. When true, this job will automatically
2791 perform its abort or commit actions. Defaults to true. (Since
2792 2.12)
2793
2794 "auto-dismiss: boolean" (optional)
2795 When false, this job will wait in a CONCLUDED state after it has
2796 completely ceased all work, and awaits "block-job-dismiss". When
2797 true, this job will automatically disappear from the query list
2798 without user intervention. Defaults to true. (Since 2.12)
2799
2800 Note: "on-source-error" and "on-target-error" only affect background
2801 I/O. If an error occurs during a guest write request, the device's
2802 rerror/werror actions will be used.
2803
2804 Since: 2.3
2805
2806 blockdev-snapshot-sync (Command) Generates a synchronous snapshot of a
2807 block device.
2808
2809 For the arguments, see the documentation of BlockdevSnapshotSync.
2810
2811 Returns: nothing on success If "device" is not a valid block device,
2812 DeviceNotFound
2813
2814 Since: 0.14.0
2815
2816 Example:
2817
2818 -> { "execute": "blockdev-snapshot-sync",
2819 "arguments": { "device": "ide-hd0",
2820 "snapshot-file":
2821 "/some/place/my-image",
2822 "format": "qcow2" } }
2823 <- { "return": {} }
2824
2825 blockdev-snapshot (Command) Generates a snapshot of a block device.
2826
2827 Create a snapshot, by installing 'node' as the backing image of
2828 'overlay'. Additionally, if 'node' is associated with a block device,
2829 the block device changes to using 'overlay' as its new active image.
2830
2831 For the arguments, see the documentation of BlockdevSnapshot.
2832
2833 Since: 2.5
2834
2835 Example:
2836
2837 -> { "execute": "blockdev-add",
2838 "arguments": { "driver": "qcow2",
2839 "node-name": "node1534",
2840 "file": { "driver": "file",
2841 "filename": "hd1.qcow2" },
2842 "backing": null } }
2843
2844 <- { "return": {} }
2845
2846 -> { "execute": "blockdev-snapshot",
2847 "arguments": { "node": "ide-hd0",
2848 "overlay": "node1534" } }
2849 <- { "return": {} }
2850
2851 change-backing-file (Command) Change the backing file in the image
2852 file metadata. This does not cause QEMU to reopen the image file to
2853 reparse the backing filename (it may, however, perform a reopen to
2854 change permissions from r/o -> r/w -> r/o, if needed). The new backing
2855 file string is written into the image file metadata, and the QEMU
2856 internal strings are updated.
2857
2858 Arguments:
2859
2860 "image-node-name: string"
2861 The name of the block driver state node of the image to modify. The
2862 "device" argument is used to verify "image-node-name" is in the
2863 chain described by "device".
2864
2865 "device: string"
2866 The device name or node-name of the root node that owns image-node-
2867 name.
2868
2869 "backing-file: string"
2870 The string to write as the backing file. This string is not
2871 validated, so care should be taken when specifying the string or
2872 the image chain may not be able to be reopened again.
2873
2874 Returns: Nothing on success
2875
2876 If "device" does not exist or cannot be determined, DeviceNotFound
2877
2878 Since: 2.1
2879
2880 block-commit (Command) Live commit of data from overlay image nodes
2881 into backing nodes - i.e., writes data between 'top' and 'base' into
2882 'base'.
2883
2884 Arguments:
2885
2886 "job-id: string" (optional)
2887 identifier for the newly-created block job. If omitted, the device
2888 name will be used. (Since 2.7)
2889
2890 "device: string"
2891 the device name or node-name of a root node
2892
2893 "base-node: string" (optional)
2894 The node name of the backing image to write data into. If not
2895 specified, this is the deepest backing image. (since: 3.1)
2896
2897 "base: string" (optional)
2898 Same as "base-node", except that it is a file name rather than a
2899 node name. This must be the exact filename string that was used to
2900 open the node; other strings, even if addressing the same file, are
2901 not accepted (deprecated, use "base-node" instead)
2902
2903 "top-node: string" (optional)
2904 The node name of the backing image within the image chain which
2905 contains the topmost data to be committed down. If not specified,
2906 this is the active layer. (since: 3.1)
2907
2908 "top: string" (optional)
2909 Same as "top-node", except that it is a file name rather than a
2910 node name. This must be the exact filename string that was used to
2911 open the node; other strings, even if addressing the same file, are
2912 not accepted (deprecated, use "base-node" instead)
2913
2914 "backing-file: string" (optional)
2915 The backing file string to write into the overlay image of 'top'.
2916 If 'top' is the active layer, specifying a backing file string is
2917 an error. This filename is not validated.
2918
2919 If a pathname string is such that it cannot be resolved by QEMU,
2920 that means that subsequent QMP or HMP commands must use node-names
2921 for the image in question, as filename lookup methods will fail.
2922
2923 If not specified, QEMU will automatically determine the backing
2924 file string to use, or error out if there is no obvious choice.
2925 Care should be taken when specifying the string, to specify a valid
2926 filename or protocol. (Since 2.1)
2927
2928 If top == base, that is an error. If top == active, the job will
2929 not be completed by itself, user needs to complete the job with the
2930 block-job-complete command after getting the ready event. (Since
2931 2.0)
2932
2933 If the base image is smaller than top, then the base image will be
2934 resized to be the same size as top. If top is smaller than the
2935 base image, the base will not be truncated. If you want the base
2936 image size to match the size of the smaller top, you can safely
2937 truncate it yourself once the commit operation successfully
2938 completes.
2939
2940 "speed: int" (optional)
2941 the maximum speed, in bytes per second
2942
2943 "filter-node-name: string" (optional)
2944 the node name that should be assigned to the filter driver that the
2945 commit job inserts into the graph above "top". If this option is
2946 not given, a node name is autogenerated. (Since: 2.9)
2947
2948 "auto-finalize: boolean" (optional)
2949 When false, this job will wait in a PENDING state after it has
2950 finished its work, waiting for "block-job-finalize" before making
2951 any block graph changes. When true, this job will automatically
2952 perform its abort or commit actions. Defaults to true. (Since 3.1)
2953
2954 "auto-dismiss: boolean" (optional)
2955 When false, this job will wait in a CONCLUDED state after it has
2956 completely ceased all work, and awaits "block-job-dismiss". When
2957 true, this job will automatically disappear from the query list
2958 without user intervention. Defaults to true. (Since 3.1)
2959
2960 Returns: Nothing on success If "device" does not exist, DeviceNotFound
2961 Any other error returns a GenericError.
2962
2963 Since: 1.3
2964
2965 Example:
2966
2967 -> { "execute": "block-commit",
2968 "arguments": { "device": "virtio0",
2969 "top": "/tmp/snap1.qcow2" } }
2970 <- { "return": {} }
2971
2972 drive-backup (Command) Start a point-in-time copy of a block device to
2973 a new destination. The status of ongoing drive-backup operations can
2974 be checked with query-block-jobs where the BlockJobInfo.type field has
2975 the value 'backup'. The operation can be stopped before it has
2976 completed using the block-job-cancel command.
2977
2978 Arguments: the members of "DriveBackup"
2979
2980 Returns: nothing on success If "device" is not a valid block device,
2981 GenericError
2982
2983 Since: 1.6
2984
2985 Example:
2986
2987 -> { "execute": "drive-backup",
2988 "arguments": { "device": "drive0",
2989 "sync": "full",
2990 "target": "backup.img" } }
2991 <- { "return": {} }
2992
2993 blockdev-backup (Command) Start a point-in-time copy of a block device
2994 to a new destination. The status of ongoing blockdev-backup operations
2995 can be checked with query-block-jobs where the BlockJobInfo.type field
2996 has the value 'backup'. The operation can be stopped before it has
2997 completed using the block-job-cancel command.
2998
2999 Arguments: the members of "BlockdevBackup"
3000
3001 Returns: nothing on success If "device" is not a valid block device,
3002 DeviceNotFound
3003
3004 Since: 2.3
3005
3006 Example:
3007
3008 -> { "execute": "blockdev-backup",
3009 "arguments": { "device": "src-id",
3010 "sync": "full",
3011 "target": "tgt-id" } }
3012 <- { "return": {} }
3013
3014 query-named-block-nodes (Command) Get the named block driver list
3015
3016 Returns: the list of BlockDeviceInfo
3017
3018 Since: 2.0
3019
3020 Example:
3021
3022 -> { "execute": "query-named-block-nodes" }
3023 <- { "return": [ { "ro":false,
3024 "drv":"qcow2",
3025 "encrypted":false,
3026 "file":"disks/test.qcow2",
3027 "node-name": "my-node",
3028 "backing_file_depth":1,
3029 "bps":1000000,
3030 "bps_rd":0,
3031 "bps_wr":0,
3032 "iops":1000000,
3033 "iops_rd":0,
3034 "iops_wr":0,
3035 "bps_max": 8000000,
3036 "bps_rd_max": 0,
3037 "bps_wr_max": 0,
3038 "iops_max": 0,
3039 "iops_rd_max": 0,
3040 "iops_wr_max": 0,
3041 "iops_size": 0,
3042 "write_threshold": 0,
3043 "image":{
3044 "filename":"disks/test.qcow2",
3045 "format":"qcow2",
3046 "virtual-size":2048000,
3047 "backing_file":"base.qcow2",
3048 "full-backing-filename":"disks/base.qcow2",
3049 "backing-filename-format":"qcow2",
3050 "snapshots":[
3051 {
3052 "id": "1",
3053 "name": "snapshot1",
3054 "vm-state-size": 0,
3055 "date-sec": 10000200,
3056 "date-nsec": 12,
3057 "vm-clock-sec": 206,
3058 "vm-clock-nsec": 30
3059 }
3060 ],
3061 "backing-image":{
3062 "filename":"disks/base.qcow2",
3063 "format":"qcow2",
3064 "virtual-size":2048000
3065 }
3066 } } ] }
3067
3068 drive-mirror (Command) Start mirroring a block device's writes to a
3069 new destination. target specifies the target of the new image. If the
3070 file exists, or if it is a device, it will be used as the new
3071 destination for writes. If it does not exist, a new file will be
3072 created. format specifies the format of the mirror image, default is to
3073 probe if mode='existing', else the format of the source.
3074
3075 Arguments: the members of "DriveMirror"
3076
3077 Returns: nothing on success If "device" is not a valid block device,
3078 GenericError
3079
3080 Since: 1.3
3081
3082 Example:
3083
3084 -> { "execute": "drive-mirror",
3085 "arguments": { "device": "ide-hd0",
3086 "target": "/some/place/my-image",
3087 "sync": "full",
3088 "format": "qcow2" } }
3089 <- { "return": {} }
3090
3091 DriveMirror (Object)
3092
3093 A set of parameters describing drive mirror setup.
3094
3095 Members:
3096
3097 "job-id: string" (optional)
3098 identifier for the newly-created block job. If omitted, the device
3099 name will be used. (Since 2.7)
3100
3101 "device: string"
3102 the device name or node-name of a root node whose writes should be
3103 mirrored.
3104
3105 "target: string"
3106 the target of the new image. If the file exists, or if it is a
3107 device, the existing file/device will be used as the new
3108 destination. If it does not exist, a new file will be created.
3109
3110 "format: string" (optional)
3111 the format of the new destination, default is to probe if "mode" is
3112 'existing', else the format of the source
3113
3114 "node-name: string" (optional)
3115 the new block driver state node name in the graph (Since 2.1)
3116
3117 "replaces: string" (optional)
3118 with sync=full graph node name to be replaced by the new image when
3119 a whole image copy is done. This can be used to repair broken
3120 Quorum files. (Since 2.1)
3121
3122 "mode: NewImageMode" (optional)
3123 whether and how QEMU should create a new image, default is
3124 'absolute-paths'.
3125
3126 "speed: int" (optional)
3127 the maximum speed, in bytes per second
3128
3129 "sync: MirrorSyncMode"
3130 what parts of the disk image should be copied to the destination
3131 (all the disk, only the sectors allocated in the topmost image, or
3132 only new I/O).
3133
3134 "granularity: int" (optional)
3135 granularity of the dirty bitmap, default is 64K if the image format
3136 doesn't have clusters, 4K if the clusters are smaller than that,
3137 else the cluster size. Must be a power of 2 between 512 and 64M
3138 (since 1.4).
3139
3140 "buf-size: int" (optional)
3141 maximum amount of data in flight from source to target (since 1.4).
3142
3143 "on-source-error: BlockdevOnError" (optional)
3144 the action to take on an error on the source, default 'report'.
3145 'stop' and 'enospc' can only be used if the block device supports
3146 io-status (see BlockInfo).
3147
3148 "on-target-error: BlockdevOnError" (optional)
3149 the action to take on an error on the target, default 'report' (no
3150 limitations, since this applies to a different block device than
3151 "device").
3152
3153 "unmap: boolean" (optional)
3154 Whether to try to unmap target sectors where source has only zero.
3155 If true, and target unallocated sectors will read as zero, target
3156 image sectors will be unmapped; otherwise, zeroes will be written.
3157 Both will result in identical contents. Default is true. (Since
3158 2.4)
3159
3160 "copy-mode: MirrorCopyMode" (optional)
3161 when to copy data to the destination; defaults to 'background'
3162 (Since: 3.0)
3163
3164 "auto-finalize: boolean" (optional)
3165 When false, this job will wait in a PENDING state after it has
3166 finished its work, waiting for "block-job-finalize" before making
3167 any block graph changes. When true, this job will automatically
3168 perform its abort or commit actions. Defaults to true. (Since 3.1)
3169
3170 "auto-dismiss: boolean" (optional)
3171 When false, this job will wait in a CONCLUDED state after it has
3172 completely ceased all work, and awaits "block-job-dismiss". When
3173 true, this job will automatically disappear from the query list
3174 without user intervention. Defaults to true. (Since 3.1)
3175
3176 Since: 1.3
3177
3178 BlockDirtyBitmap (Object)
3179
3180 Members:
3181
3182 "node: string"
3183 name of device/node which the bitmap is tracking
3184
3185 "name: string"
3186 name of the dirty bitmap
3187
3188 Since: 2.4
3189
3190 BlockDirtyBitmapAdd (Object)
3191
3192 Members:
3193
3194 "node: string"
3195 name of device/node which the bitmap is tracking
3196
3197 "name: string"
3198 name of the dirty bitmap
3199
3200 "granularity: int" (optional)
3201 the bitmap granularity, default is 64k for block-dirty-bitmap-add
3202
3203 "persistent: boolean" (optional)
3204 the bitmap is persistent, i.e. it will be saved to the
3205 corresponding block device image file on its close. For now only
3206 Qcow2 disks support persistent bitmaps. Default is false for block-
3207 dirty-bitmap-add. (Since: 2.10)
3208
3209 "autoload: boolean" (optional)
3210 ignored and deprecated since 2.12. Currently, all dirty tracking
3211 bitmaps are loaded from Qcow2 on open.
3212
3213 "x-disabled: boolean" (optional)
3214 the bitmap is created in the disabled state, which means that it
3215 will not track drive changes. The bitmap may be enabled with
3216 x-block-dirty-bitmap-enable. Default is false. (Since: 3.0)
3217
3218 Since: 2.4
3219
3220 BlockDirtyBitmapMerge (Object)
3221
3222 Members:
3223
3224 "node: string"
3225 name of device/node which the bitmap is tracking
3226
3227 "dst_name: string"
3228 name of the destination dirty bitmap
3229
3230 "src_name: string"
3231 name of the source dirty bitmap
3232
3233 Since: 3.0
3234
3235 block-dirty-bitmap-add (Command) Create a dirty bitmap with a name on
3236 the node, and start tracking the writes.
3237
3238 Returns: nothing on success If "node" is not a valid block device or
3239 node, DeviceNotFound If "name" is already taken, GenericError with an
3240 explanation
3241
3242 Since: 2.4
3243
3244 Example:
3245
3246 -> { "execute": "block-dirty-bitmap-add",
3247 "arguments": { "node": "drive0", "name": "bitmap0" } }
3248 <- { "return": {} }
3249
3250 block-dirty-bitmap-remove (Command) Stop write tracking and remove the
3251 dirty bitmap that was created with block-dirty-bitmap-add. If the
3252 bitmap is persistent, remove it from its storage too.
3253
3254 Returns: nothing on success If "node" is not a valid block device or
3255 node, DeviceNotFound If "name" is not found, GenericError with an
3256 explanation if "name" is frozen by an operation, GenericError
3257
3258 Since: 2.4
3259
3260 Example:
3261
3262 -> { "execute": "block-dirty-bitmap-remove",
3263 "arguments": { "node": "drive0", "name": "bitmap0" } }
3264 <- { "return": {} }
3265
3266 block-dirty-bitmap-clear (Command) Clear (reset) a dirty bitmap on the
3267 device, so that an incremental backup from this point in time forward
3268 will only backup clusters modified after this clear operation.
3269
3270 Returns: nothing on success If "node" is not a valid block device,
3271 DeviceNotFound If "name" is not found, GenericError with an explanation
3272
3273 Since: 2.4
3274
3275 Example:
3276
3277 -> { "execute": "block-dirty-bitmap-clear",
3278 "arguments": { "node": "drive0", "name": "bitmap0" } }
3279 <- { "return": {} }
3280
3281 x-block-dirty-bitmap-enable (Command) Enables a dirty bitmap so that
3282 it will begin tracking disk changes.
3283
3284 Returns: nothing on success If "node" is not a valid block device,
3285 DeviceNotFound If "name" is not found, GenericError with an explanation
3286
3287 Since: 3.0
3288
3289 Example:
3290
3291 -> { "execute": "x-block-dirty-bitmap-enable",
3292 "arguments": { "node": "drive0", "name": "bitmap0" } }
3293 <- { "return": {} }
3294
3295 x-block-dirty-bitmap-disable (Command) Disables a dirty bitmap so that
3296 it will stop tracking disk changes.
3297
3298 Returns: nothing on success If "node" is not a valid block device,
3299 DeviceNotFound If "name" is not found, GenericError with an explanation
3300
3301 Since: 3.0
3302
3303 Example:
3304
3305 -> { "execute": "x-block-dirty-bitmap-disable",
3306 "arguments": { "node": "drive0", "name": "bitmap0" } }
3307 <- { "return": {} }
3308
3309 x-block-dirty-bitmap-merge (Command) FIXME: Rename "src_name" and
3310 "dst_name" to src-name and dst-name.
3311
3312 Merge "src_name" dirty bitmap to "dst_name" dirty bitmap. "src_name"
3313 dirty bitmap is unchanged. On error, "dst_name" is unchanged.
3314
3315 Returns: nothing on success If "node" is not a valid block device,
3316 DeviceNotFound If "dst_name" or "src_name" is not found, GenericError
3317 If bitmaps has different sizes or granularities, GenericError
3318
3319 Since: 3.0
3320
3321 Example:
3322
3323 -> { "execute": "x-block-dirty-bitmap-merge",
3324 "arguments": { "node": "drive0", "dst_name": "bitmap0",
3325 "src_name": "bitmap1" } }
3326 <- { "return": {} }
3327
3328 BlockDirtyBitmapSha256 (Object)
3329
3330 SHA256 hash of dirty bitmap data
3331
3332 Members:
3333
3334 "sha256: string"
3335 ASCII representation of SHA256 bitmap hash
3336
3337 Since: 2.10
3338
3339 x-debug-block-dirty-bitmap-sha256 (Command) Get bitmap SHA256
3340
3341 Returns: BlockDirtyBitmapSha256 on success If "node" is not a valid
3342 block device, DeviceNotFound If "name" is not found or if hashing has
3343 failed, GenericError with an explanation
3344
3345 Since: 2.10
3346
3347 blockdev-mirror (Command) Start mirroring a block device's writes to a
3348 new destination.
3349
3350 Arguments:
3351
3352 "job-id: string" (optional)
3353 identifier for the newly-created block job. If omitted, the device
3354 name will be used. (Since 2.7)
3355
3356 "device: string"
3357 The device name or node-name of a root node whose writes should be
3358 mirrored.
3359
3360 "target: string"
3361 the id or node-name of the block device to mirror to. This mustn't
3362 be attached to guest.
3363
3364 "replaces: string" (optional)
3365 with sync=full graph node name to be replaced by the new image when
3366 a whole image copy is done. This can be used to repair broken
3367 Quorum files.
3368
3369 "speed: int" (optional)
3370 the maximum speed, in bytes per second
3371
3372 "sync: MirrorSyncMode"
3373 what parts of the disk image should be copied to the destination
3374 (all the disk, only the sectors allocated in the topmost image, or
3375 only new I/O).
3376
3377 "granularity: int" (optional)
3378 granularity of the dirty bitmap, default is 64K if the image format
3379 doesn't have clusters, 4K if the clusters are smaller than that,
3380 else the cluster size. Must be a power of 2 between 512 and 64M
3381
3382 "buf-size: int" (optional)
3383 maximum amount of data in flight from source to target
3384
3385 "on-source-error: BlockdevOnError" (optional)
3386 the action to take on an error on the source, default 'report'.
3387 'stop' and 'enospc' can only be used if the block device supports
3388 io-status (see BlockInfo).
3389
3390 "on-target-error: BlockdevOnError" (optional)
3391 the action to take on an error on the target, default 'report' (no
3392 limitations, since this applies to a different block device than
3393 "device").
3394
3395 "filter-node-name: string" (optional)
3396 the node name that should be assigned to the filter driver that the
3397 mirror job inserts into the graph above "device". If this option is
3398 not given, a node name is autogenerated. (Since: 2.9)
3399
3400 "copy-mode: MirrorCopyMode" (optional)
3401 when to copy data to the destination; defaults to 'background'
3402 (Since: 3.0)
3403
3404 "auto-finalize: boolean" (optional)
3405 When false, this job will wait in a PENDING state after it has
3406 finished its work, waiting for "block-job-finalize" before making
3407 any block graph changes. When true, this job will automatically
3408 perform its abort or commit actions. Defaults to true. (Since 3.1)
3409
3410 "auto-dismiss: boolean" (optional)
3411 When false, this job will wait in a CONCLUDED state after it has
3412 completely ceased all work, and awaits "block-job-dismiss". When
3413 true, this job will automatically disappear from the query list
3414 without user intervention. Defaults to true. (Since 3.1)
3415
3416 Returns: nothing on success.
3417
3418 Since: 2.6
3419
3420 Example:
3421
3422 -> { "execute": "blockdev-mirror",
3423 "arguments": { "device": "ide-hd0",
3424 "target": "target0",
3425 "sync": "full" } }
3426 <- { "return": {} }
3427
3428 block_set_io_throttle (Command) Change I/O throttle limits for a block
3429 drive.
3430
3431 Since QEMU 2.4, each device with I/O limits is member of a throttle
3432 group.
3433
3434 If two or more devices are members of the same group, the limits will
3435 apply to the combined I/O of the whole group in a round-robin fashion.
3436 Therefore, setting new I/O limits to a device will affect the whole
3437 group.
3438
3439 The name of the group can be specified using the 'group' parameter. If
3440 the parameter is unset, it is assumed to be the current group of that
3441 device. If it's not in any group yet, the name of the device will be
3442 used as the name for its group.
3443
3444 The 'group' parameter can also be used to move a device to a different
3445 group. In this case the limits specified in the parameters will be
3446 applied to the new group only.
3447
3448 I/O limits can be disabled by setting all of them to 0. In this case
3449 the device will be removed from its group and the rest of its members
3450 will not be affected. The 'group' parameter is ignored.
3451
3452 Arguments: the members of "BlockIOThrottle"
3453
3454 Returns: Nothing on success If "device" is not a valid block device,
3455 DeviceNotFound
3456
3457 Since: 1.1
3458
3459 Example:
3460
3461 -> { "execute": "block_set_io_throttle",
3462 "arguments": { "id": "virtio-blk-pci0/virtio-backend",
3463 "bps": 0,
3464 "bps_rd": 0,
3465 "bps_wr": 0,
3466 "iops": 512,
3467 "iops_rd": 0,
3468 "iops_wr": 0,
3469 "bps_max": 0,
3470 "bps_rd_max": 0,
3471 "bps_wr_max": 0,
3472 "iops_max": 0,
3473 "iops_rd_max": 0,
3474 "iops_wr_max": 0,
3475 "bps_max_length": 0,
3476 "iops_size": 0 } }
3477 <- { "return": {} }
3478
3479 -> { "execute": "block_set_io_throttle",
3480 "arguments": { "id": "ide0-1-0",
3481 "bps": 1000000,
3482 "bps_rd": 0,
3483 "bps_wr": 0,
3484 "iops": 0,
3485 "iops_rd": 0,
3486 "iops_wr": 0,
3487 "bps_max": 8000000,
3488 "bps_rd_max": 0,
3489 "bps_wr_max": 0,
3490 "iops_max": 0,
3491 "iops_rd_max": 0,
3492 "iops_wr_max": 0,
3493 "bps_max_length": 60,
3494 "iops_size": 0 } }
3495 <- { "return": {} }
3496
3497 BlockIOThrottle (Object)
3498
3499 A set of parameters describing block throttling.
3500
3501 Members:
3502
3503 "device: string" (optional)
3504 Block device name (deprecated, use "id" instead)
3505
3506 "id: string" (optional)
3507 The name or QOM path of the guest device (since: 2.8)
3508
3509 "bps: int"
3510 total throughput limit in bytes per second
3511
3512 "bps_rd: int"
3513 read throughput limit in bytes per second
3514
3515 "bps_wr: int"
3516 write throughput limit in bytes per second
3517
3518 "iops: int"
3519 total I/O operations per second
3520
3521 "iops_rd: int"
3522 read I/O operations per second
3523
3524 "iops_wr: int"
3525 write I/O operations per second
3526
3527 "bps_max: int" (optional)
3528 total throughput limit during bursts, in bytes (Since 1.7)
3529
3530 "bps_rd_max: int" (optional)
3531 read throughput limit during bursts, in bytes (Since 1.7)
3532
3533 "bps_wr_max: int" (optional)
3534 write throughput limit during bursts, in bytes (Since 1.7)
3535
3536 "iops_max: int" (optional)
3537 total I/O operations per second during bursts, in bytes (Since 1.7)
3538
3539 "iops_rd_max: int" (optional)
3540 read I/O operations per second during bursts, in bytes (Since 1.7)
3541
3542 "iops_wr_max: int" (optional)
3543 write I/O operations per second during bursts, in bytes (Since 1.7)
3544
3545 "bps_max_length: int" (optional)
3546 maximum length of the "bps_max" burst period, in seconds. It must
3547 only be set if "bps_max" is set as well. Defaults to 1. (Since
3548 2.6)
3549
3550 "bps_rd_max_length: int" (optional)
3551 maximum length of the "bps_rd_max" burst period, in seconds. It
3552 must only be set if "bps_rd_max" is set as well. Defaults to 1.
3553 (Since 2.6)
3554
3555 "bps_wr_max_length: int" (optional)
3556 maximum length of the "bps_wr_max" burst period, in seconds. It
3557 must only be set if "bps_wr_max" is set as well. Defaults to 1.
3558 (Since 2.6)
3559
3560 "iops_max_length: int" (optional)
3561 maximum length of the "iops" burst period, in seconds. It must only
3562 be set if "iops_max" is set as well. Defaults to 1. (Since 2.6)
3563
3564 "iops_rd_max_length: int" (optional)
3565 maximum length of the "iops_rd_max" burst period, in seconds. It
3566 must only be set if "iops_rd_max" is set as well. Defaults to 1.
3567 (Since 2.6)
3568
3569 "iops_wr_max_length: int" (optional)
3570 maximum length of the "iops_wr_max" burst period, in seconds. It
3571 must only be set if "iops_wr_max" is set as well. Defaults to 1.
3572 (Since 2.6)
3573
3574 "iops_size: int" (optional)
3575 an I/O size in bytes (Since 1.7)
3576
3577 "group: string" (optional)
3578 throttle group name (Since 2.4)
3579
3580 Since: 1.1
3581
3582 ThrottleLimits (Object)
3583
3584 Limit parameters for throttling. Since some limit combinations are
3585 illegal, limits should always be set in one transaction. All fields are
3586 optional. When setting limits, if a field is missing the current value
3587 is not changed.
3588
3589 Members:
3590
3591 "iops-total: int" (optional)
3592 limit total I/O operations per second
3593
3594 "iops-total-max: int" (optional)
3595 I/O operations burst
3596
3597 "iops-total-max-length: int" (optional)
3598 length of the iops-total-max burst period, in seconds It must only
3599 be set if "iops-total-max" is set as well.
3600
3601 "iops-read: int" (optional)
3602 limit read operations per second
3603
3604 "iops-read-max: int" (optional)
3605 I/O operations read burst
3606
3607 "iops-read-max-length: int" (optional)
3608 length of the iops-read-max burst period, in seconds It must only
3609 be set if "iops-read-max" is set as well.
3610
3611 "iops-write: int" (optional)
3612 limit write operations per second
3613
3614 "iops-write-max: int" (optional)
3615 I/O operations write burst
3616
3617 "iops-write-max-length: int" (optional)
3618 length of the iops-write-max burst period, in seconds It must only
3619 be set if "iops-write-max" is set as well.
3620
3621 "bps-total: int" (optional)
3622 limit total bytes per second
3623
3624 "bps-total-max: int" (optional)
3625 total bytes burst
3626
3627 "bps-total-max-length: int" (optional)
3628 length of the bps-total-max burst period, in seconds. It must only
3629 be set if "bps-total-max" is set as well.
3630
3631 "bps-read: int" (optional)
3632 limit read bytes per second
3633
3634 "bps-read-max: int" (optional)
3635 total bytes read burst
3636
3637 "bps-read-max-length: int" (optional)
3638 length of the bps-read-max burst period, in seconds It must only be
3639 set if "bps-read-max" is set as well.
3640
3641 "bps-write: int" (optional)
3642 limit write bytes per second
3643
3644 "bps-write-max: int" (optional)
3645 total bytes write burst
3646
3647 "bps-write-max-length: int" (optional)
3648 length of the bps-write-max burst period, in seconds It must only
3649 be set if "bps-write-max" is set as well.
3650
3651 "iops-size: int" (optional)
3652 when limiting by iops max size of an I/O in bytes
3653
3654 Since: 2.11
3655
3656 block-stream (Command) Copy data from a backing file into a block
3657 device.
3658
3659 The block streaming operation is performed in the background until the
3660 entire backing file has been copied. This command returns immediately
3661 once streaming has started. The status of ongoing block streaming
3662 operations can be checked with query-block-jobs. The operation can be
3663 stopped before it has completed using the block-job-cancel command.
3664
3665 The node that receives the data is called the top image, can be located
3666 in any part of the chain (but always above the base image; see below)
3667 and can be specified using its device or node name. Earlier qemu
3668 versions only allowed 'device' to name the top level node; presence of
3669 the 'base-node' parameter during introspection can be used as a witness
3670 of the enhanced semantics of 'device'.
3671
3672 If a base file is specified then sectors are not copied from that base
3673 file and its backing chain. When streaming completes the image file
3674 will have the base file as its backing file. This can be used to
3675 stream a subset of the backing file chain instead of flattening the
3676 entire image.
3677
3678 On successful completion the image file is updated to drop the backing
3679 file and the BLOCK_JOB_COMPLETED event is emitted.
3680
3681 Arguments:
3682
3683 "job-id: string" (optional)
3684 identifier for the newly-created block job. If omitted, the device
3685 name will be used. (Since 2.7)
3686
3687 "device: string"
3688 the device or node name of the top image
3689
3690 "base: string" (optional)
3691 the common backing file name. It cannot be set if "base-node" is
3692 also set.
3693
3694 "base-node: string" (optional)
3695 the node name of the backing file. It cannot be set if "base" is
3696 also set. (Since 2.8)
3697
3698 "backing-file: string" (optional)
3699 The backing file string to write into the top image. This filename
3700 is not validated.
3701
3702 If a pathname string is such that it cannot be resolved by QEMU,
3703 that means that subsequent QMP or HMP commands must use node-names
3704 for the image in question, as filename lookup methods will fail.
3705
3706 If not specified, QEMU will automatically determine the backing
3707 file string to use, or error out if there is no obvious choice.
3708 Care should be taken when specifying the string, to specify a valid
3709 filename or protocol. (Since 2.1)
3710
3711 "speed: int" (optional)
3712 the maximum speed, in bytes per second
3713
3714 "on-error: BlockdevOnError" (optional)
3715 the action to take on an error (default report). 'stop' and
3716 'enospc' can only be used if the block device supports io-status
3717 (see BlockInfo). Since 1.3.
3718
3719 "auto-finalize: boolean" (optional)
3720 When false, this job will wait in a PENDING state after it has
3721 finished its work, waiting for "block-job-finalize" before making
3722 any block graph changes. When true, this job will automatically
3723 perform its abort or commit actions. Defaults to true. (Since 3.1)
3724
3725 "auto-dismiss: boolean" (optional)
3726 When false, this job will wait in a CONCLUDED state after it has
3727 completely ceased all work, and awaits "block-job-dismiss". When
3728 true, this job will automatically disappear from the query list
3729 without user intervention. Defaults to true. (Since 3.1)
3730
3731 Returns: Nothing on success. If "device" does not exist,
3732 DeviceNotFound.
3733
3734 Since: 1.1
3735
3736 Example:
3737
3738 -> { "execute": "block-stream",
3739 "arguments": { "device": "virtio0",
3740 "base": "/tmp/master.qcow2" } }
3741 <- { "return": {} }
3742
3743 block-job-set-speed (Command) Set maximum speed for a background block
3744 operation.
3745
3746 This command can only be issued when there is an active block job.
3747
3748 Throttling can be disabled by setting the speed to 0.
3749
3750 Arguments:
3751
3752 "device: string"
3753 The job identifier. This used to be a device name (hence the name
3754 of the parameter), but since QEMU 2.7 it can have other values.
3755
3756 "speed: int"
3757 the maximum speed, in bytes per second, or 0 for unlimited.
3758 Defaults to 0.
3759
3760 Returns: Nothing on success If no background operation is active on
3761 this device, DeviceNotActive
3762
3763 Since: 1.1
3764
3765 block-job-cancel (Command) Stop an active background block operation.
3766
3767 This command returns immediately after marking the active background
3768 block operation for cancellation. It is an error to call this command
3769 if no operation is in progress.
3770
3771 The operation will cancel as soon as possible and then emit the
3772 BLOCK_JOB_CANCELLED event. Before that happens the job is still
3773 visible when enumerated using query-block-jobs.
3774
3775 Note that if you issue 'block-job-cancel' after 'drive-mirror' has
3776 indicated (via the event BLOCK_JOB_READY) that the source and
3777 destination are synchronized, then the event triggered by this command
3778 changes to BLOCK_JOB_COMPLETED, to indicate that the mirroring has
3779 ended and the destination now has a point-in-time copy tied to the time
3780 of the cancellation.
3781
3782 For streaming, the image file retains its backing file unless the
3783 streaming operation happens to complete just as it is being cancelled.
3784 A new streaming operation can be started at a later time to finish
3785 copying all data from the backing file.
3786
3787 Arguments:
3788
3789 "device: string"
3790 The job identifier. This used to be a device name (hence the name
3791 of the parameter), but since QEMU 2.7 it can have other values.
3792
3793 "force: boolean" (optional)
3794 If true, and the job has already emitted the event BLOCK_JOB_READY,
3795 abandon the job immediately (even if it is paused) instead of
3796 waiting for the destination to complete its final synchronization
3797 (since 1.3)
3798
3799 Returns: Nothing on success If no background operation is active on
3800 this device, DeviceNotActive
3801
3802 Since: 1.1
3803
3804 block-job-pause (Command) Pause an active background block operation.
3805
3806 This command returns immediately after marking the active background
3807 block operation for pausing. It is an error to call this command if no
3808 operation is in progress or if the job is already paused.
3809
3810 The operation will pause as soon as possible. No event is emitted when
3811 the operation is actually paused. Cancelling a paused job
3812 automatically resumes it.
3813
3814 Arguments:
3815
3816 "device: string"
3817 The job identifier. This used to be a device name (hence the name
3818 of the parameter), but since QEMU 2.7 it can have other values.
3819
3820 Returns: Nothing on success If no background operation is active on
3821 this device, DeviceNotActive
3822
3823 Since: 1.3
3824
3825 block-job-resume (Command) Resume an active background block
3826 operation.
3827
3828 This command returns immediately after resuming a paused background
3829 block operation. It is an error to call this command if no operation
3830 is in progress or if the job is not paused.
3831
3832 This command also clears the error status of the job.
3833
3834 Arguments:
3835
3836 "device: string"
3837 The job identifier. This used to be a device name (hence the name
3838 of the parameter), but since QEMU 2.7 it can have other values.
3839
3840 Returns: Nothing on success If no background operation is active on
3841 this device, DeviceNotActive
3842
3843 Since: 1.3
3844
3845 block-job-complete (Command) Manually trigger completion of an active
3846 background block operation. This is supported for drive mirroring,
3847 where it also switches the device to write to the target path only.
3848 The ability to complete is signaled with a BLOCK_JOB_READY event.
3849
3850 This command completes an active background block operation
3851 synchronously. The ordering of this command's return with the
3852 BLOCK_JOB_COMPLETED event is not defined. Note that if an I/O error
3853 occurs during the processing of this command: 1) the command itself
3854 will fail; 2) the error will be processed according to the
3855 rerror/werror arguments that were specified when starting the
3856 operation.
3857
3858 A cancelled or paused job cannot be completed.
3859
3860 Arguments:
3861
3862 "device: string"
3863 The job identifier. This used to be a device name (hence the name
3864 of the parameter), but since QEMU 2.7 it can have other values.
3865
3866 Returns: Nothing on success If no background operation is active on
3867 this device, DeviceNotActive
3868
3869 Since: 1.3
3870
3871 block-job-dismiss (Command) For jobs that have already concluded,
3872 remove them from the block-job-query list. This command only needs to
3873 be run for jobs which were started with QEMU 2.12+ job lifetime
3874 management semantics.
3875
3876 This command will refuse to operate on any job that has not yet reached
3877 its terminal state, JOB_STATUS_CONCLUDED. For jobs that make use of the
3878 BLOCK_JOB_READY event, block-job-cancel or block-job-complete will
3879 still need to be used as appropriate.
3880
3881 Arguments:
3882
3883 "id: string"
3884 The job identifier.
3885
3886 Returns: Nothing on success
3887
3888 Since: 2.12
3889
3890 block-job-finalize (Command) Once a job that has manual=true reaches
3891 the pending state, it can be instructed to finalize any graph changes
3892 and do any necessary cleanup via this command. For jobs in a
3893 transaction, instructing one job to finalize will force ALL jobs in the
3894 transaction to finalize, so it is only necessary to instruct a single
3895 member job to finalize.
3896
3897 Arguments:
3898
3899 "id: string"
3900 The job identifier.
3901
3902 Returns: Nothing on success
3903
3904 Since: 2.12
3905
3906 BlockdevDiscardOptions (Enum)
3907
3908 Determines how to handle discard requests.
3909
3910 Values:
3911
3912 "ignore"
3913 Ignore the request
3914
3915 "unmap"
3916 Forward as an unmap request
3917
3918 Since: 2.9
3919
3920 BlockdevDetectZeroesOptions (Enum)
3921
3922 Describes the operation mode for the automatic conversion of plain zero
3923 writes by the OS to driver specific optimized zero write commands.
3924
3925 Values:
3926
3927 "off"
3928 Disabled (default)
3929
3930 "on"
3931 Enabled
3932
3933 "unmap"
3934 Enabled and even try to unmap blocks if possible. This requires
3935 also that "BlockdevDiscardOptions" is set to unmap for this device.
3936
3937 Since: 2.1
3938
3939 BlockdevAioOptions (Enum)
3940
3941 Selects the AIO backend to handle I/O requests
3942
3943 Values:
3944
3945 "threads"
3946 Use qemu's thread pool
3947
3948 "native"
3949 Use native AIO backend (only Linux and Windows)
3950
3951 Since: 2.9
3952
3953 BlockdevCacheOptions (Object)
3954
3955 Includes cache-related options for block devices
3956
3957 Members:
3958
3959 "direct: boolean" (optional)
3960 enables use of O_DIRECT (bypass the host page cache; default:
3961 false)
3962
3963 "no-flush: boolean" (optional)
3964 ignore any flush requests for the device (default: false)
3965
3966 Since: 2.9
3967
3968 BlockdevDriver (Enum)
3969
3970 Drivers that are supported in block device operations.
3971
3972 Values:
3973
3974 "vxhs"
3975 Since 2.10
3976
3977 "throttle"
3978 Since 2.11
3979
3980 "nvme"
3981 Since 2.12
3982
3983 "copy-on-read"
3984 Since 3.0
3985
3986 "blklogwrites"
3987 Since 3.0
3988
3989 "blkdebug"
3990 Not documented
3991
3992 "blkverify"
3993 Not documented
3994
3995 "bochs"
3996 Not documented
3997
3998 "cloop"
3999 Not documented
4000
4001 "dmg"
4002 Not documented
4003
4004 "file"
4005 Not documented
4006
4007 "ftp"
4008 Not documented
4009
4010 "ftps"
4011 Not documented
4012
4013 "gluster"
4014 Not documented
4015
4016 "host_cdrom"
4017 Not documented
4018
4019 "host_device"
4020 Not documented
4021
4022 "http"
4023 Not documented
4024
4025 "https"
4026 Not documented
4027
4028 "iscsi"
4029 Not documented
4030
4031 "luks"
4032 Not documented
4033
4034 "nbd"
4035 Not documented
4036
4037 "nfs"
4038 Not documented
4039
4040 "null-aio"
4041 Not documented
4042
4043 "null-co"
4044 Not documented
4045
4046 "parallels"
4047 Not documented
4048
4049 "qcow"
4050 Not documented
4051
4052 "qcow2"
4053 Not documented
4054
4055 "qed"
4056 Not documented
4057
4058 "quorum"
4059 Not documented
4060
4061 "raw"
4062 Not documented
4063
4064 "rbd"
4065 Not documented
4066
4067 "replication"
4068 Not documented
4069
4070 "sheepdog"
4071 Not documented
4072
4073 "ssh"
4074 Not documented
4075
4076 "vdi"
4077 Not documented
4078
4079 "vhdx"
4080 Not documented
4081
4082 "vmdk"
4083 Not documented
4084
4085 "vpc"
4086 Not documented
4087
4088 "vvfat"
4089 Not documented
4090
4091 Since: 2.9
4092
4093 BlockdevOptionsFile (Object)
4094
4095 Driver specific block device options for the file backend.
4096
4097 Members:
4098
4099 "filename: string"
4100 path to the image file
4101
4102 "pr-manager: string" (optional)
4103 the id for the object that will handle persistent reservations for
4104 this device (default: none, forward the commands via SG_IO; since
4105 2.11)
4106
4107 "aio: BlockdevAioOptions" (optional)
4108 AIO backend (default: threads) (since: 2.8)
4109
4110 "locking: OnOffAuto" (optional)
4111 whether to enable file locking. If set to 'auto', only enable when
4112 Open File Descriptor (OFD) locking API is available (default: auto,
4113 since 2.10)
4114
4115 "x-check-cache-dropped: boolean" (optional)
4116 whether to check that page cache was dropped on live migration.
4117 May cause noticeable delays if the image file is large, do not use
4118 in production. (default: off) (since: 3.0)
4119
4120 Since: 2.9
4121
4122 BlockdevOptionsNull (Object)
4123
4124 Driver specific block device options for the null backend.
4125
4126 Members:
4127
4128 "size: int" (optional)
4129 size of the device in bytes.
4130
4131 "latency-ns: int" (optional)
4132 emulated latency (in nanoseconds) in processing requests. Default
4133 to zero which completes requests immediately. (Since 2.4)
4134
4135 Since: 2.9
4136
4137 BlockdevOptionsNVMe (Object)
4138
4139 Driver specific block device options for the NVMe backend.
4140
4141 Members:
4142
4143 "device: string"
4144 controller address of the NVMe device.
4145
4146 "namespace: int"
4147 namespace number of the device, starting from 1.
4148
4149 Since: 2.12
4150
4151 BlockdevOptionsVVFAT (Object)
4152
4153 Driver specific block device options for the vvfat protocol.
4154
4155 Members:
4156
4157 "dir: string"
4158 directory to be exported as FAT image
4159
4160 "fat-type: int" (optional)
4161 FAT type: 12, 16 or 32
4162
4163 "floppy: boolean" (optional)
4164 whether to export a floppy image (true) or partitioned hard disk
4165 (false; default)
4166
4167 "label: string" (optional)
4168 set the volume label, limited to 11 bytes. FAT16 and FAT32
4169 traditionally have some restrictions on labels, which are ignored
4170 by most operating systems. Defaults to "QEMU VVFAT". (since 2.4)
4171
4172 "rw: boolean" (optional)
4173 whether to allow write operations (default: false)
4174
4175 Since: 2.9
4176
4177 BlockdevOptionsGenericFormat (Object)
4178
4179 Driver specific block device options for image format that have no
4180 option besides their data source.
4181
4182 Members:
4183
4184 "file: BlockdevRef"
4185 reference to or definition of the data source block device
4186
4187 Since: 2.9
4188
4189 BlockdevOptionsLUKS (Object)
4190
4191 Driver specific block device options for LUKS.
4192
4193 Members:
4194
4195 "key-secret: string" (optional)
4196 the ID of a QCryptoSecret object providing the decryption key
4197 (since 2.6). Mandatory except when doing a metadata-only probe of
4198 the image.
4199
4200 The members of "BlockdevOptionsGenericFormat"
4201
4202 Since: 2.9
4203
4204 BlockdevOptionsGenericCOWFormat (Object)
4205
4206 Driver specific block device options for image format that have no
4207 option besides their data source and an optional backing file.
4208
4209 Members:
4210
4211 "backing: BlockdevRefOrNull" (optional)
4212 reference to or definition of the backing file block device, null
4213 disables the backing file entirely. Defaults to the backing file
4214 stored the image file.
4215
4216 The members of "BlockdevOptionsGenericFormat"
4217
4218 Since: 2.9
4219
4220 Qcow2OverlapCheckMode (Enum)
4221
4222 General overlap check modes.
4223
4224 Values:
4225
4226 "none"
4227 Do not perform any checks
4228
4229 "constant"
4230 Perform only checks which can be done in constant time and without
4231 reading anything from disk
4232
4233 "cached"
4234 Perform only checks which can be done without reading anything from
4235 disk
4236
4237 "all"
4238 Perform all available overlap checks
4239
4240 Since: 2.9
4241
4242 Qcow2OverlapCheckFlags (Object)
4243
4244 Structure of flags for each metadata structure. Setting a field to
4245 'true' makes qemu guard that structure against unintended overwriting.
4246 The default value is chosen according to the template given.
4247
4248 Members:
4249
4250 "template: Qcow2OverlapCheckMode" (optional)
4251 Specifies a template mode which can be adjusted using the other
4252 flags, defaults to 'cached'
4253
4254 "bitmap-directory: boolean" (optional)
4255 since 3.0
4256
4257 "main-header: boolean" (optional)
4258 Not documented
4259
4260 "active-l1: boolean" (optional)
4261 Not documented
4262
4263 "active-l2: boolean" (optional)
4264 Not documented
4265
4266 "refcount-table: boolean" (optional)
4267 Not documented
4268
4269 "refcount-block: boolean" (optional)
4270 Not documented
4271
4272 "snapshot-table: boolean" (optional)
4273 Not documented
4274
4275 "inactive-l1: boolean" (optional)
4276 Not documented
4277
4278 "inactive-l2: boolean" (optional)
4279 Not documented
4280
4281 Since: 2.9
4282
4283 Qcow2OverlapChecks (Alternate)
4284
4285 Specifies which metadata structures should be guarded against
4286 unintended overwriting.
4287
4288 Members:
4289
4290 "flags: Qcow2OverlapCheckFlags"
4291 set of flags for separate specification of each metadata structure
4292 type
4293
4294 "mode: Qcow2OverlapCheckMode"
4295 named mode which chooses a specific set of flags
4296
4297 Since: 2.9
4298
4299 BlockdevQcowEncryptionFormat (Enum)
4300
4301 Values:
4302
4303 "aes"
4304 AES-CBC with plain64 initialization vectors
4305
4306 Since: 2.10
4307
4308 BlockdevQcowEncryption (Object)
4309
4310 Members:
4311
4312 "format: BlockdevQcowEncryptionFormat"
4313 Not documented
4314
4315 The members of "QCryptoBlockOptionsQCow" when "format" is "aes"
4316
4317 Since: 2.10
4318
4319 BlockdevOptionsQcow (Object)
4320
4321 Driver specific block device options for qcow.
4322
4323 Members:
4324
4325 "encrypt: BlockdevQcowEncryption" (optional)
4326 Image decryption options. Mandatory for encrypted images, except
4327 when doing a metadata-only probe of the image.
4328
4329 The members of "BlockdevOptionsGenericCOWFormat"
4330
4331 Since: 2.10
4332
4333 BlockdevQcow2EncryptionFormat (Enum)
4334
4335 Values:
4336
4337 "aes"
4338 AES-CBC with plain64 initialization venctors
4339
4340 "luks"
4341 Not documented
4342
4343 Since: 2.10
4344
4345 BlockdevQcow2Encryption (Object)
4346
4347 Members:
4348
4349 "format: BlockdevQcow2EncryptionFormat"
4350 Not documented
4351
4352 The members of "QCryptoBlockOptionsQCow" when "format" is "aes"
4353 The members of "QCryptoBlockOptionsLUKS" when "format" is "luks"
4354
4355 Since: 2.10
4356
4357 BlockdevOptionsQcow2 (Object)
4358
4359 Driver specific block device options for qcow2.
4360
4361 Members:
4362
4363 "lazy-refcounts: boolean" (optional)
4364 whether to enable the lazy refcounts feature (default is taken from
4365 the image file)
4366
4367 "pass-discard-request: boolean" (optional)
4368 whether discard requests to the qcow2 device should be forwarded to
4369 the data source
4370
4371 "pass-discard-snapshot: boolean" (optional)
4372 whether discard requests for the data source should be issued when
4373 a snapshot operation (e.g. deleting a snapshot) frees clusters in
4374 the qcow2 file
4375
4376 "pass-discard-other: boolean" (optional)
4377 whether discard requests for the data source should be issued on
4378 other occasions where a cluster gets freed
4379
4380 "overlap-check: Qcow2OverlapChecks" (optional)
4381 which overlap checks to perform for writes to the image, defaults
4382 to 'cached' (since 2.2)
4383
4384 "cache-size: int" (optional)
4385 the maximum total size of the L2 table and refcount block caches in
4386 bytes (since 2.2)
4387
4388 "l2-cache-size: int" (optional)
4389 the maximum size of the L2 table cache in bytes (since 2.2)
4390
4391 "l2-cache-entry-size: int" (optional)
4392 the size of each entry in the L2 cache in bytes. It must be a power
4393 of two between 512 and the cluster size. The default value is the
4394 cluster size (since 2.12)
4395
4396 "refcount-cache-size: int" (optional)
4397 the maximum size of the refcount block cache in bytes (since 2.2)
4398
4399 "cache-clean-interval: int" (optional)
4400 clean unused entries in the L2 and refcount caches. The interval is
4401 in seconds. The default value is 600 on supporting platforms, and 0
4402 on other platforms. 0 disables this feature. (since 2.5)
4403
4404 "encrypt: BlockdevQcow2Encryption" (optional)
4405 Image decryption options. Mandatory for encrypted images, except
4406 when doing a metadata-only probe of the image. (since 2.10)
4407
4408 The members of "BlockdevOptionsGenericCOWFormat"
4409
4410 Since: 2.9
4411
4412 SshHostKeyCheckMode (Enum)
4413
4414 "none" Don't check the host key at all "hash"
4415 Compare the host key with a given hash "known_hosts" Check the
4416 host key against the known_hosts file
4417
4418 Values:
4419
4420 "none"
4421 Not documented
4422
4423 "hash"
4424 Not documented
4425
4426 "known_hosts"
4427 Not documented
4428
4429 Since: 2.12
4430
4431 SshHostKeyCheckHashType (Enum)
4432
4433 "md5" The given hash is an md5 hash "sha1" The
4434 given hash is an sha1 hash
4435
4436 Values:
4437
4438 "md5"
4439 Not documented
4440
4441 "sha1"
4442 Not documented
4443
4444 Since: 2.12
4445
4446 SshHostKeyHash (Object)
4447
4448 "type" The hash algorithm used for the hash "hash"
4449 The expected hash value
4450
4451 Members:
4452
4453 "type: SshHostKeyCheckHashType"
4454 Not documented
4455
4456 "hash: string"
4457 Not documented
4458
4459 Since: 2.12
4460
4461 SshHostKeyCheck (Object)
4462
4463 Members:
4464
4465 "mode: SshHostKeyCheckMode"
4466 Not documented
4467
4468 The members of "SshHostKeyHash" when "mode" is "hash"
4469
4470 Since: 2.12
4471
4472 BlockdevOptionsSsh (Object)
4473
4474 Members:
4475
4476 "server: InetSocketAddress"
4477 host address
4478
4479 "path: string"
4480 path to the image on the host
4481
4482 "user: string" (optional)
4483 user as which to connect, defaults to current local user name
4484
4485 "host-key-check: SshHostKeyCheck" (optional)
4486 Defines how and what to check the host key against (default:
4487 known_hosts)
4488
4489 Since: 2.9
4490
4491 BlkdebugEvent (Enum)
4492
4493 Trigger events supported by blkdebug.
4494
4495 Values:
4496
4497 "l1_shrink_write_table"
4498 write zeros to the l1 table to shrink image. (since 2.11)
4499
4500 "l1_shrink_free_l2_clusters"
4501 discard the l2 tables. (since 2.11)
4502
4503 "cor_write"
4504 a write due to copy-on-read (since 2.11)
4505
4506 "l1_update"
4507 Not documented
4508
4509 "l1_grow_alloc_table"
4510 Not documented
4511
4512 "l1_grow_write_table"
4513 Not documented
4514
4515 "l1_grow_activate_table"
4516 Not documented
4517
4518 "l2_load"
4519 Not documented
4520
4521 "l2_update"
4522 Not documented
4523
4524 "l2_update_compressed"
4525 Not documented
4526
4527 "l2_alloc_cow_read"
4528 Not documented
4529
4530 "l2_alloc_write"
4531 Not documented
4532
4533 "read_aio"
4534 Not documented
4535
4536 "read_backing_aio"
4537 Not documented
4538
4539 "read_compressed"
4540 Not documented
4541
4542 "write_aio"
4543 Not documented
4544
4545 "write_compressed"
4546 Not documented
4547
4548 "vmstate_load"
4549 Not documented
4550
4551 "vmstate_save"
4552 Not documented
4553
4554 "cow_read"
4555 Not documented
4556
4557 "cow_write"
4558 Not documented
4559
4560 "reftable_load"
4561 Not documented
4562
4563 "reftable_grow"
4564 Not documented
4565
4566 "reftable_update"
4567 Not documented
4568
4569 "refblock_load"
4570 Not documented
4571
4572 "refblock_update"
4573 Not documented
4574
4575 "refblock_update_part"
4576 Not documented
4577
4578 "refblock_alloc"
4579 Not documented
4580
4581 "refblock_alloc_hookup"
4582 Not documented
4583
4584 "refblock_alloc_write"
4585 Not documented
4586
4587 "refblock_alloc_write_blocks"
4588 Not documented
4589
4590 "refblock_alloc_write_table"
4591 Not documented
4592
4593 "refblock_alloc_switch_table"
4594 Not documented
4595
4596 "cluster_alloc"
4597 Not documented
4598
4599 "cluster_alloc_bytes"
4600 Not documented
4601
4602 "cluster_free"
4603 Not documented
4604
4605 "flush_to_os"
4606 Not documented
4607
4608 "flush_to_disk"
4609 Not documented
4610
4611 "pwritev_rmw_head"
4612 Not documented
4613
4614 "pwritev_rmw_after_head"
4615 Not documented
4616
4617 "pwritev_rmw_tail"
4618 Not documented
4619
4620 "pwritev_rmw_after_tail"
4621 Not documented
4622
4623 "pwritev"
4624 Not documented
4625
4626 "pwritev_zero"
4627 Not documented
4628
4629 "pwritev_done"
4630 Not documented
4631
4632 "empty_image_prepare"
4633 Not documented
4634
4635 Since: 2.9
4636
4637 BlkdebugInjectErrorOptions (Object)
4638
4639 Describes a single error injection for blkdebug.
4640
4641 Members:
4642
4643 "event: BlkdebugEvent"
4644 trigger event
4645
4646 "state: int" (optional)
4647 the state identifier blkdebug needs to be in to actually trigger
4648 the event; defaults to "any"
4649
4650 "errno: int" (optional)
4651 error identifier (errno) to be returned; defaults to EIO
4652
4653 "sector: int" (optional)
4654 specifies the sector index which has to be affected in order to
4655 actually trigger the event; defaults to "any sector"
4656
4657 "once: boolean" (optional)
4658 disables further events after this one has been triggered; defaults
4659 to false
4660
4661 "immediately: boolean" (optional)
4662 fail immediately; defaults to false
4663
4664 Since: 2.9
4665
4666 BlkdebugSetStateOptions (Object)
4667
4668 Describes a single state-change event for blkdebug.
4669
4670 Members:
4671
4672 "event: BlkdebugEvent"
4673 trigger event
4674
4675 "state: int" (optional)
4676 the current state identifier blkdebug needs to be in; defaults to
4677 "any"
4678
4679 "new_state: int"
4680 the state identifier blkdebug is supposed to assume if this event
4681 is triggered
4682
4683 Since: 2.9
4684
4685 BlockdevOptionsBlkdebug (Object)
4686
4687 Driver specific block device options for blkdebug.
4688
4689 Members:
4690
4691 "image: BlockdevRef"
4692 underlying raw block device (or image file)
4693
4694 "config: string" (optional)
4695 filename of the configuration file
4696
4697 "align: int" (optional)
4698 required alignment for requests in bytes, must be positive power of
4699 2, or 0 for default
4700
4701 "max-transfer: int" (optional)
4702 maximum size for I/O transfers in bytes, must be positive multiple
4703 of "align" and of the underlying file's request alignment (but need
4704 not be a power of 2), or 0 for default (since 2.10)
4705
4706 "opt-write-zero: int" (optional)
4707 preferred alignment for write zero requests in bytes, must be
4708 positive multiple of "align" and of the underlying file's request
4709 alignment (but need not be a power of 2), or 0 for default (since
4710 2.10)
4711
4712 "max-write-zero: int" (optional)
4713 maximum size for write zero requests in bytes, must be positive
4714 multiple of "align", of "opt-write-zero", and of the underlying
4715 file's request alignment (but need not be a power of 2), or 0 for
4716 default (since 2.10)
4717
4718 "opt-discard: int" (optional)
4719 preferred alignment for discard requests in bytes, must be positive
4720 multiple of "align" and of the underlying file's request alignment
4721 (but need not be a power of 2), or 0 for default (since 2.10)
4722
4723 "max-discard: int" (optional)
4724 maximum size for discard requests in bytes, must be positive
4725 multiple of "align", of "opt-discard", and of the underlying file's
4726 request alignment (but need not be a power of 2), or 0 for default
4727 (since 2.10)
4728
4729 "inject-error: array of BlkdebugInjectErrorOptions" (optional)
4730 array of error injection descriptions
4731
4732 "set-state: array of BlkdebugSetStateOptions" (optional)
4733 array of state-change descriptions
4734
4735 Since: 2.9
4736
4737 BlockdevOptionsBlklogwrites (Object)
4738
4739 Driver specific block device options for blklogwrites.
4740
4741 Members:
4742
4743 "file: BlockdevRef"
4744 block device
4745
4746 "log: BlockdevRef"
4747 block device used to log writes to "file"
4748
4749 "log-sector-size: int" (optional)
4750 sector size used in logging writes to "file", determines
4751 granularity of offsets and sizes of writes (default: 512)
4752
4753 "log-append: boolean" (optional)
4754 append to an existing log (default: false)
4755
4756 "log-super-update-interval: int" (optional)
4757 interval of write requests after which the log super block is
4758 updated to disk (default: 4096)
4759
4760 Since: 3.0
4761
4762 BlockdevOptionsBlkverify (Object)
4763
4764 Driver specific block device options for blkverify.
4765
4766 Members:
4767
4768 "test: BlockdevRef"
4769 block device to be tested
4770
4771 "raw: BlockdevRef"
4772 raw image used for verification
4773
4774 Since: 2.9
4775
4776 QuorumReadPattern (Enum)
4777
4778 An enumeration of quorum read patterns.
4779
4780 Values:
4781
4782 "quorum"
4783 read all the children and do a quorum vote on reads
4784
4785 "fifo"
4786 read only from the first child that has not failed
4787
4788 Since: 2.9
4789
4790 BlockdevOptionsQuorum (Object)
4791
4792 Driver specific block device options for Quorum
4793
4794 Members:
4795
4796 "blkverify: boolean" (optional)
4797 true if the driver must print content mismatch set to false by
4798 default
4799
4800 "children: array of BlockdevRef"
4801 the children block devices to use
4802
4803 "vote-threshold: int"
4804 the vote limit under which a read will fail
4805
4806 "rewrite-corrupted: boolean" (optional)
4807 rewrite corrupted data when quorum is reached (Since 2.1)
4808
4809 "read-pattern: QuorumReadPattern" (optional)
4810 choose read pattern and set to quorum by default (Since 2.2)
4811
4812 Since: 2.9
4813
4814 BlockdevOptionsGluster (Object)
4815
4816 Driver specific block device options for Gluster
4817
4818 Members:
4819
4820 "volume: string"
4821 name of gluster volume where VM image resides
4822
4823 "path: string"
4824 absolute path to image file in gluster volume
4825
4826 "server: array of SocketAddress"
4827 gluster servers description
4828
4829 "debug: int" (optional)
4830 libgfapi log level (default '4' which is Error) (Since 2.8)
4831
4832 "logfile: string" (optional)
4833 libgfapi log file (default /dev/stderr) (Since 2.8)
4834
4835 Since: 2.9
4836
4837 IscsiTransport (Enum)
4838
4839 An enumeration of libiscsi transport types
4840
4841 Values:
4842
4843 "tcp"
4844 Not documented
4845
4846 "iser"
4847 Not documented
4848
4849 Since: 2.9
4850
4851 IscsiHeaderDigest (Enum)
4852
4853 An enumeration of header digests supported by libiscsi
4854
4855 Values:
4856
4857 "crc32c"
4858 Not documented
4859
4860 "none"
4861 Not documented
4862
4863 "crc32c-none"
4864 Not documented
4865
4866 "none-crc32c"
4867 Not documented
4868
4869 Since: 2.9
4870
4871 BlockdevOptionsIscsi (Object)
4872
4873 Members:
4874
4875 "transport: IscsiTransport"
4876 The iscsi transport type
4877
4878 "portal: string"
4879 The address of the iscsi portal
4880
4881 "target: string"
4882 The target iqn name
4883
4884 "lun: int" (optional)
4885 LUN to connect to. Defaults to 0.
4886
4887 "user: string" (optional)
4888 User name to log in with. If omitted, no CHAP authentication is
4889 performed.
4890
4891 "password-secret: string" (optional)
4892 The ID of a QCryptoSecret object providing the password for the
4893 login. This option is required if "user" is specified.
4894
4895 "initiator-name: string" (optional)
4896 The iqn name we want to identify to the target as. If this option
4897 is not specified, an initiator name is generated automatically.
4898
4899 "header-digest: IscsiHeaderDigest" (optional)
4900 The desired header digest. Defaults to none-crc32c.
4901
4902 "timeout: int" (optional)
4903 Timeout in seconds after which a request will timeout. 0 means no
4904 timeout and is the default.
4905
4906 Driver specific block device options for iscsi
4907
4908 Since: 2.9
4909
4910 RbdAuthMode (Enum)
4911
4912 Values:
4913
4914 "cephx"
4915 Not documented
4916
4917 "none"
4918 Not documented
4919
4920 Since: 3.0
4921
4922 BlockdevOptionsRbd (Object)
4923
4924 Members:
4925
4926 "pool: string"
4927 Ceph pool name.
4928
4929 "image: string"
4930 Image name in the Ceph pool.
4931
4932 "conf: string" (optional)
4933 path to Ceph configuration file. Values in the configuration file
4934 will be overridden by options specified via QAPI.
4935
4936 "snapshot: string" (optional)
4937 Ceph snapshot name.
4938
4939 "user: string" (optional)
4940 Ceph id name.
4941
4942 "auth-client-required: array of RbdAuthMode" (optional)
4943 Acceptable authentication modes. This maps to Ceph configuration
4944 option "auth_client_required". (Since 3.0)
4945
4946 "key-secret: string" (optional)
4947 ID of a QCryptoSecret object providing a key for cephx
4948 authentication. This maps to Ceph configuration option "key".
4949 (Since 3.0)
4950
4951 "server: array of InetSocketAddressBase" (optional)
4952 Monitor host address and port. This maps to the "mon_host" Ceph
4953 option.
4954
4955 Since: 2.9
4956
4957 BlockdevOptionsSheepdog (Object)
4958
4959 Driver specific block device options for sheepdog
4960
4961 Members:
4962
4963 "vdi: string"
4964 Virtual disk image name
4965
4966 "server: SocketAddress"
4967 The Sheepdog server to connect to
4968
4969 "snap-id: int" (optional)
4970 Snapshot ID
4971
4972 "tag: string" (optional)
4973 Snapshot tag name
4974
4975 Only one of "snap-id" and "tag" may be present.
4976
4977 Since: 2.9
4978
4979 ReplicationMode (Enum)
4980
4981 An enumeration of replication modes.
4982
4983 Values:
4984
4985 "primary"
4986 Primary mode, the vm's state will be sent to secondary QEMU.
4987
4988 "secondary"
4989 Secondary mode, receive the vm's state from primary QEMU.
4990
4991 Since: 2.9
4992
4993 BlockdevOptionsReplication (Object)
4994
4995 Driver specific block device options for replication
4996
4997 Members:
4998
4999 "mode: ReplicationMode"
5000 the replication mode
5001
5002 "top-id: string" (optional)
5003 In secondary mode, node name or device ID of the root node who owns
5004 the replication node chain. Must not be given in primary mode.
5005
5006 The members of "BlockdevOptionsGenericFormat"
5007
5008 Since: 2.9
5009
5010 NFSTransport (Enum)
5011
5012 An enumeration of NFS transport types
5013
5014 Values:
5015
5016 "inet"
5017 TCP transport
5018
5019 Since: 2.9
5020
5021 NFSServer (Object)
5022
5023 Captures the address of the socket
5024
5025 Members:
5026
5027 "type: NFSTransport"
5028 transport type used for NFS (only TCP supported)
5029
5030 "host: string"
5031 host address for NFS server
5032
5033 Since: 2.9
5034
5035 BlockdevOptionsNfs (Object)
5036
5037 Driver specific block device option for NFS
5038
5039 Members:
5040
5041 "server: NFSServer"
5042 host address
5043
5044 "path: string"
5045 path of the image on the host
5046
5047 "user: int" (optional)
5048 UID value to use when talking to the server (defaults to 65534 on
5049 Windows and getuid() on unix)
5050
5051 "group: int" (optional)
5052 GID value to use when talking to the server (defaults to 65534 on
5053 Windows and getgid() in unix)
5054
5055 "tcp-syn-count: int" (optional)
5056 number of SYNs during the session establishment (defaults to libnfs
5057 default)
5058
5059 "readahead-size: int" (optional)
5060 set the readahead size in bytes (defaults to libnfs default)
5061
5062 "page-cache-size: int" (optional)
5063 set the pagecache size in bytes (defaults to libnfs default)
5064
5065 "debug: int" (optional)
5066 set the NFS debug level (max 2) (defaults to libnfs default)
5067
5068 Since: 2.9
5069
5070 BlockdevOptionsCurlBase (Object)
5071
5072 Driver specific block device options shared by all protocols supported
5073 by the curl backend.
5074
5075 Members:
5076
5077 "url: string"
5078 URL of the image file
5079
5080 "readahead: int" (optional)
5081 Size of the read-ahead cache; must be a multiple of 512 (defaults
5082 to 256 kB)
5083
5084 "timeout: int" (optional)
5085 Timeout for connections, in seconds (defaults to 5)
5086
5087 "username: string" (optional)
5088 Username for authentication (defaults to none)
5089
5090 "password-secret: string" (optional)
5091 ID of a QCryptoSecret object providing a password for
5092 authentication (defaults to no password)
5093
5094 "proxy-username: string" (optional)
5095 Username for proxy authentication (defaults to none)
5096
5097 "proxy-password-secret: string" (optional)
5098 ID of a QCryptoSecret object providing a password for proxy
5099 authentication (defaults to no password)
5100
5101 Since: 2.9
5102
5103 BlockdevOptionsCurlHttp (Object)
5104
5105 Driver specific block device options for HTTP connections over the curl
5106 backend. URLs must start with "http://".
5107
5108 Members:
5109
5110 "cookie: string" (optional)
5111 List of cookies to set; format is "name1=content1; name2=content2;"
5112 as explained by CURLOPT_COOKIE(3). Defaults to no cookies.
5113
5114 "cookie-secret: string" (optional)
5115 ID of a QCryptoSecret object providing the cookie data in a secure
5116 way. See "cookie" for the format. (since 2.10)
5117
5118 The members of "BlockdevOptionsCurlBase"
5119
5120 Since: 2.9
5121
5122 BlockdevOptionsCurlHttps (Object)
5123
5124 Driver specific block device options for HTTPS connections over the
5125 curl backend. URLs must start with "https://".
5126
5127 Members:
5128
5129 "cookie: string" (optional)
5130 List of cookies to set; format is "name1=content1; name2=content2;"
5131 as explained by CURLOPT_COOKIE(3). Defaults to no cookies.
5132
5133 "sslverify: boolean" (optional)
5134 Whether to verify the SSL certificate's validity (defaults to true)
5135
5136 "cookie-secret: string" (optional)
5137 ID of a QCryptoSecret object providing the cookie data in a secure
5138 way. See "cookie" for the format. (since 2.10)
5139
5140 The members of "BlockdevOptionsCurlBase"
5141
5142 Since: 2.9
5143
5144 BlockdevOptionsCurlFtp (Object)
5145
5146 Driver specific block device options for FTP connections over the curl
5147 backend. URLs must start with "ftp://".
5148
5149 Members:
5150
5151 The members of "BlockdevOptionsCurlBase"
5152
5153 Since: 2.9
5154
5155 BlockdevOptionsCurlFtps (Object)
5156
5157 Driver specific block device options for FTPS connections over the curl
5158 backend. URLs must start with "ftps://".
5159
5160 Members:
5161
5162 "sslverify: boolean" (optional)
5163 Whether to verify the SSL certificate's validity (defaults to true)
5164
5165 The members of "BlockdevOptionsCurlBase"
5166
5167 Since: 2.9
5168
5169 BlockdevOptionsNbd (Object)
5170
5171 Driver specific block device options for NBD.
5172
5173 Members:
5174
5175 "server: SocketAddress"
5176 NBD server address
5177
5178 "export: string" (optional)
5179 export name
5180
5181 "tls-creds: string" (optional)
5182 TLS credentials ID
5183
5184 "x-dirty-bitmap: string" (optional)
5185 A "qemu:dirty-bitmap:NAME" string to query in place of traditional
5186 "base:allocation" block status (see NBD_OPT_LIST_META_CONTEXT in
5187 the NBD protocol) (since 3.0)
5188
5189 Since: 2.9
5190
5191 BlockdevOptionsRaw (Object)
5192
5193 Driver specific block device options for the raw driver.
5194
5195 Members:
5196
5197 "offset: int" (optional)
5198 position where the block device starts
5199
5200 "size: int" (optional)
5201 the assumed size of the device
5202
5203 The members of "BlockdevOptionsGenericFormat"
5204
5205 Since: 2.9
5206
5207 BlockdevOptionsVxHS (Object)
5208
5209 Driver specific block device options for VxHS
5210
5211 Members:
5212
5213 "vdisk-id: string"
5214 UUID of VxHS volume
5215
5216 "server: InetSocketAddressBase"
5217 vxhs server IP, port
5218
5219 "tls-creds: string" (optional)
5220 TLS credentials ID
5221
5222 Since: 2.10
5223
5224 BlockdevOptionsThrottle (Object)
5225
5226 Driver specific block device options for the throttle driver
5227
5228 Members:
5229
5230 "throttle-group: string"
5231 the name of the throttle-group object to use. It must already
5232 exist.
5233
5234 "file: BlockdevRef"
5235 reference to or definition of the data source block device
5236
5237 Since: 2.11
5238
5239 BlockdevOptions (Object)
5240
5241 Options for creating a block device. Many options are available for
5242 all block devices, independent of the block driver:
5243
5244 Members:
5245
5246 "driver: BlockdevDriver"
5247 block driver name
5248
5249 "node-name: string" (optional)
5250 the node name of the new node (Since 2.0). This option is required
5251 on the top level of blockdev-add. Valid node names start with an
5252 alphabetic character and may contain only alphanumeric characters,
5253 '-', '.' and '_'. Their maximum length is 31 characters.
5254
5255 "discard: BlockdevDiscardOptions" (optional)
5256 discard-related options (default: ignore)
5257
5258 "cache: BlockdevCacheOptions" (optional)
5259 cache-related options
5260
5261 "read-only: boolean" (optional)
5262 whether the block device should be read-only (default: false).
5263 Note that some block drivers support only read-only access, either
5264 generally or in certain configurations. In this case, the default
5265 value does not work and the option must be specified explicitly.
5266
5267 "auto-read-only: boolean" (optional)
5268 if true and "read-only" is false, QEMU may automatically decide not
5269 to open the image read-write as requested, but fall back to read-
5270 only instead (and switch between the modes later), e.g. depending
5271 on whether the image file is writable or whether a writing user is
5272 attached to the node (default: false, since 3.1)
5273
5274 "detect-zeroes: BlockdevDetectZeroesOptions" (optional)
5275 detect and optimize zero writes (Since 2.1) (default: off)
5276
5277 "force-share: boolean" (optional)
5278 force share all permission on added nodes. Requires
5279 read-only=true. (Since 2.10)
5280
5281 The members of "BlockdevOptionsBlkdebug" when "driver" is "blkdebug"
5282 The members of "BlockdevOptionsBlklogwrites" when "driver" is
5283 "blklogwrites"
5284 The members of "BlockdevOptionsBlkverify" when "driver" is "blkverify"
5285 The members of "BlockdevOptionsGenericFormat" when "driver" is "bochs"
5286 The members of "BlockdevOptionsGenericFormat" when "driver" is "cloop"
5287 The members of "BlockdevOptionsGenericFormat" when "driver" is "copy-
5288 on-read"
5289 The members of "BlockdevOptionsGenericFormat" when "driver" is "dmg"
5290 The members of "BlockdevOptionsFile" when "driver" is "file"
5291 The members of "BlockdevOptionsCurlFtp" when "driver" is "ftp"
5292 The members of "BlockdevOptionsCurlFtps" when "driver" is "ftps"
5293 The members of "BlockdevOptionsGluster" when "driver" is "gluster"
5294 The members of "BlockdevOptionsFile" when "driver" is "host_cdrom"
5295 The members of "BlockdevOptionsFile" when "driver" is "host_device"
5296 The members of "BlockdevOptionsCurlHttp" when "driver" is "http"
5297 The members of "BlockdevOptionsCurlHttps" when "driver" is "https"
5298 The members of "BlockdevOptionsIscsi" when "driver" is "iscsi"
5299 The members of "BlockdevOptionsLUKS" when "driver" is "luks"
5300 The members of "BlockdevOptionsNbd" when "driver" is "nbd"
5301 The members of "BlockdevOptionsNfs" when "driver" is "nfs"
5302 The members of "BlockdevOptionsNull" when "driver" is "null-aio"
5303 The members of "BlockdevOptionsNull" when "driver" is "null-co"
5304 The members of "BlockdevOptionsNVMe" when "driver" is "nvme"
5305 The members of "BlockdevOptionsGenericFormat" when "driver" is
5306 "parallels"
5307 The members of "BlockdevOptionsQcow2" when "driver" is "qcow2"
5308 The members of "BlockdevOptionsQcow" when "driver" is "qcow"
5309 The members of "BlockdevOptionsGenericCOWFormat" when "driver" is "qed"
5310 The members of "BlockdevOptionsQuorum" when "driver" is "quorum"
5311 The members of "BlockdevOptionsRaw" when "driver" is "raw"
5312 The members of "BlockdevOptionsRbd" when "driver" is "rbd"
5313 The members of "BlockdevOptionsReplication" when "driver" is
5314 "replication"
5315 The members of "BlockdevOptionsSheepdog" when "driver" is "sheepdog"
5316 The members of "BlockdevOptionsSsh" when "driver" is "ssh"
5317 The members of "BlockdevOptionsThrottle" when "driver" is "throttle"
5318 The members of "BlockdevOptionsGenericFormat" when "driver" is "vdi"
5319 The members of "BlockdevOptionsGenericFormat" when "driver" is "vhdx"
5320 The members of "BlockdevOptionsGenericCOWFormat" when "driver" is
5321 "vmdk"
5322 The members of "BlockdevOptionsGenericFormat" when "driver" is "vpc"
5323 The members of "BlockdevOptionsVVFAT" when "driver" is "vvfat"
5324 The members of "BlockdevOptionsVxHS" when "driver" is "vxhs"
5325
5326 Remaining options are determined by the block driver.
5327
5328 Since: 2.9
5329
5330 BlockdevRef (Alternate)
5331
5332 Reference to a block device.
5333
5334 Members:
5335
5336 "definition: BlockdevOptions"
5337 defines a new block device inline
5338
5339 "reference: string"
5340 references the ID of an existing block device
5341
5342 Since: 2.9
5343
5344 BlockdevRefOrNull (Alternate)
5345
5346 Reference to a block device.
5347
5348 Members:
5349
5350 "definition: BlockdevOptions"
5351 defines a new block device inline
5352
5353 "reference: string"
5354 references the ID of an existing block device. An empty string
5355 means that no block device should be referenced. Deprecated; use
5356 null instead.
5357
5358 "null: null"
5359 No block device should be referenced (since 2.10)
5360
5361 Since: 2.9
5362
5363 blockdev-add (Command) Creates a new block device. If the "id" option
5364 is given at the top level, a BlockBackend will be created; otherwise,
5365 "node-name" is mandatory at the top level and no BlockBackend will be
5366 created.
5367
5368 Arguments: the members of "BlockdevOptions"
5369
5370 Since: 2.9
5371
5372 Example:
5373
5374 1.
5375 -> { "execute": "blockdev-add",
5376 "arguments": {
5377 "driver": "qcow2",
5378 "node-name": "test1",
5379 "file": {
5380 "driver": "file",
5381 "filename": "test.qcow2"
5382 }
5383 }
5384 }
5385 <- { "return": {} }
5386
5387 2.
5388 -> { "execute": "blockdev-add",
5389 "arguments": {
5390 "driver": "qcow2",
5391 "node-name": "node0",
5392 "discard": "unmap",
5393 "cache": {
5394 "direct": true
5395 },
5396 "file": {
5397 "driver": "file",
5398 "filename": "/tmp/test.qcow2"
5399 },
5400 "backing": {
5401 "driver": "raw",
5402 "file": {
5403 "driver": "file",
5404 "filename": "/dev/fdset/4"
5405 }
5406 }
5407 }
5408 }
5409
5410 <- { "return": {} }
5411
5412 blockdev-del (Command) Deletes a block device that has been added
5413 using blockdev-add. The command will fail if the node is attached to a
5414 device or is otherwise being used.
5415
5416 Arguments:
5417
5418 "node-name: string"
5419 Name of the graph node to delete.
5420
5421 Since: 2.9
5422
5423 Example:
5424
5425 -> { "execute": "blockdev-add",
5426 "arguments": {
5427 "driver": "qcow2",
5428 "node-name": "node0",
5429 "file": {
5430 "driver": "file",
5431 "filename": "test.qcow2"
5432 }
5433 }
5434 }
5435 <- { "return": {} }
5436
5437 -> { "execute": "blockdev-del",
5438 "arguments": { "node-name": "node0" }
5439 }
5440 <- { "return": {} }
5441
5442 BlockdevCreateOptionsFile (Object)
5443
5444 Driver specific image creation options for file.
5445
5446 "filename" Filename for the new image file "size"
5447 Size of the virtual disk in bytes "preallocation" Preallocation mode
5448 for the new image (default: off) "nocow" Turn off copy-on-
5449 write (valid only on btrfs; default: off)
5450
5451 Members:
5452
5453 "filename: string"
5454 Not documented
5455
5456 "size: int"
5457 Not documented
5458
5459 "preallocation: PreallocMode" (optional)
5460 Not documented
5461
5462 "nocow: boolean" (optional)
5463 Not documented
5464
5465 Since: 2.12
5466
5467 BlockdevCreateOptionsGluster (Object)
5468
5469 Driver specific image creation options for gluster.
5470
5471 "location" Where to store the new image file "size"
5472 Size of the virtual disk in bytes "preallocation" Preallocation mode
5473 for the new image (default: off)
5474
5475 Members:
5476
5477 "location: BlockdevOptionsGluster"
5478 Not documented
5479
5480 "size: int"
5481 Not documented
5482
5483 "preallocation: PreallocMode" (optional)
5484 Not documented
5485
5486 Since: 2.12
5487
5488 BlockdevCreateOptionsLUKS (Object)
5489
5490 Driver specific image creation options for LUKS.
5491
5492 "file" Node to create the image format on "size"
5493 Size of the virtual disk in bytes
5494
5495 Members:
5496
5497 "file: BlockdevRef"
5498 Not documented
5499
5500 "size: int"
5501 Not documented
5502
5503 The members of "QCryptoBlockCreateOptionsLUKS"
5504
5505 Since: 2.12
5506
5507 BlockdevCreateOptionsNfs (Object)
5508
5509 Driver specific image creation options for NFS.
5510
5511 "location" Where to store the new image file "size"
5512 Size of the virtual disk in bytes
5513
5514 Members:
5515
5516 "location: BlockdevOptionsNfs"
5517 Not documented
5518
5519 "size: int"
5520 Not documented
5521
5522 Since: 2.12
5523
5524 BlockdevCreateOptionsParallels (Object)
5525
5526 Driver specific image creation options for parallels.
5527
5528 "file" Node to create the image format on "size"
5529 Size of the virtual disk in bytes "cluster-size" Cluster size in
5530 bytes (default: 1 MB)
5531
5532 Members:
5533
5534 "file: BlockdevRef"
5535 Not documented
5536
5537 "size: int"
5538 Not documented
5539
5540 "cluster-size: int" (optional)
5541 Not documented
5542
5543 Since: 2.12
5544
5545 BlockdevCreateOptionsQcow (Object)
5546
5547 Driver specific image creation options for qcow.
5548
5549 "file" Node to create the image format on "size"
5550 Size of the virtual disk in bytes "backing-file" File name of the
5551 backing file if a backing file should be used "encrypt"
5552 Encryption options if the image should be encrypted
5553
5554 Members:
5555
5556 "file: BlockdevRef"
5557 Not documented
5558
5559 "size: int"
5560 Not documented
5561
5562 "backing-file: string" (optional)
5563 Not documented
5564
5565 "encrypt: QCryptoBlockCreateOptions" (optional)
5566 Not documented
5567
5568 Since: 2.12
5569
5570 BlockdevQcow2Version (Enum)
5571
5572 Values:
5573
5574 "v2"
5575 The original QCOW2 format as introduced in qemu 0.10 (version 2)
5576
5577 "v3"
5578 The extended QCOW2 format as introduced in qemu 1.1 (version 3)
5579
5580 Since: 2.12
5581
5582 BlockdevCreateOptionsQcow2 (Object)
5583
5584 Driver specific image creation options for qcow2.
5585
5586 "file" Node to create the image format on "size"
5587 Size of the virtual disk in bytes "version" Compatibility
5588 level (default: v3) "backing-file" File name of the backing file if
5589 a backing file should be used "backing-fmt" Name of the block
5590 driver to use for the backing file "encrypt" Encryption
5591 options if the image should be encrypted "cluster-size" qcow2
5592 cluster size in bytes (default: 65536) "preallocation" Preallocation
5593 mode for the new image (default: off) "lazy-refcounts" True if
5594 refcounts may be updated lazily (default: off) "refcount-bits" Width
5595 of reference counts in bits (default: 16)
5596
5597 Members:
5598
5599 "file: BlockdevRef"
5600 Not documented
5601
5602 "size: int"
5603 Not documented
5604
5605 "version: BlockdevQcow2Version" (optional)
5606 Not documented
5607
5608 "backing-file: string" (optional)
5609 Not documented
5610
5611 "backing-fmt: BlockdevDriver" (optional)
5612 Not documented
5613
5614 "encrypt: QCryptoBlockCreateOptions" (optional)
5615 Not documented
5616
5617 "cluster-size: int" (optional)
5618 Not documented
5619
5620 "preallocation: PreallocMode" (optional)
5621 Not documented
5622
5623 "lazy-refcounts: boolean" (optional)
5624 Not documented
5625
5626 "refcount-bits: int" (optional)
5627 Not documented
5628
5629 Since: 2.12
5630
5631 BlockdevCreateOptionsQed (Object)
5632
5633 Driver specific image creation options for qed.
5634
5635 "file" Node to create the image format on "size"
5636 Size of the virtual disk in bytes "backing-file" File name of the
5637 backing file if a backing file should be used "backing-fmt" Name
5638 of the block driver to use for the backing file "cluster-size"
5639 Cluster size in bytes (default: 65536) "table-size" L1/L2 table
5640 size (in clusters)
5641
5642 Members:
5643
5644 "file: BlockdevRef"
5645 Not documented
5646
5647 "size: int"
5648 Not documented
5649
5650 "backing-file: string" (optional)
5651 Not documented
5652
5653 "backing-fmt: BlockdevDriver" (optional)
5654 Not documented
5655
5656 "cluster-size: int" (optional)
5657 Not documented
5658
5659 "table-size: int" (optional)
5660 Not documented
5661
5662 Since: 2.12
5663
5664 BlockdevCreateOptionsRbd (Object)
5665
5666 Driver specific image creation options for rbd/Ceph.
5667
5668 "location" Where to store the new image file. This location
5669 cannot point to a snapshot. "size" Size of the virtual
5670 disk in bytes "cluster-size" RBD object size
5671
5672 Members:
5673
5674 "location: BlockdevOptionsRbd"
5675 Not documented
5676
5677 "size: int"
5678 Not documented
5679
5680 "cluster-size: int" (optional)
5681 Not documented
5682
5683 Since: 2.12
5684
5685 SheepdogRedundancyType (Enum)
5686
5687 "full" Create a fully replicated vdi with x copies
5688 "erasure-coded" Create an erasure coded vdi with x data strips and y
5689 parity strips
5690
5691 Values:
5692
5693 "full"
5694 Not documented
5695
5696 "erasure-coded"
5697 Not documented
5698
5699 Since: 2.12
5700
5701 SheepdogRedundancyFull (Object)
5702
5703 "copies" Number of copies to use (between 1 and 31)
5704
5705 Members:
5706
5707 "copies: int"
5708 Not documented
5709
5710 Since: 2.12
5711
5712 SheepdogRedundancyErasureCoded (Object)
5713
5714 "data-strips" Number of data strips to use (one of {2,4,8,16})
5715 "parity-strips" Number of parity strips to use (between 1 and 15)
5716
5717 Members:
5718
5719 "data-strips: int"
5720 Not documented
5721
5722 "parity-strips: int"
5723 Not documented
5724
5725 Since: 2.12
5726
5727 SheepdogRedundancy (Object)
5728
5729 Members:
5730
5731 "type: SheepdogRedundancyType"
5732 Not documented
5733
5734 The members of "SheepdogRedundancyFull" when "type" is "full"
5735 The members of "SheepdogRedundancyErasureCoded" when "type" is
5736 "erasure-coded"
5737
5738 Since: 2.12
5739
5740 BlockdevCreateOptionsSheepdog (Object)
5741
5742 Driver specific image creation options for Sheepdog.
5743
5744 "location" Where to store the new image file "size"
5745 Size of the virtual disk in bytes "backing-file" File name of a
5746 base image "preallocation" Preallocation mode (allowed values: off,
5747 full) "redundancy" Redundancy of the image "object-size"
5748 Object size of the image
5749
5750 Members:
5751
5752 "location: BlockdevOptionsSheepdog"
5753 Not documented
5754
5755 "size: int"
5756 Not documented
5757
5758 "backing-file: string" (optional)
5759 Not documented
5760
5761 "preallocation: PreallocMode" (optional)
5762 Not documented
5763
5764 "redundancy: SheepdogRedundancy" (optional)
5765 Not documented
5766
5767 "object-size: int" (optional)
5768 Not documented
5769
5770 Since: 2.12
5771
5772 BlockdevCreateOptionsSsh (Object)
5773
5774 Driver specific image creation options for SSH.
5775
5776 "location" Where to store the new image file "size"
5777 Size of the virtual disk in bytes
5778
5779 Members:
5780
5781 "location: BlockdevOptionsSsh"
5782 Not documented
5783
5784 "size: int"
5785 Not documented
5786
5787 Since: 2.12
5788
5789 BlockdevCreateOptionsVdi (Object)
5790
5791 Driver specific image creation options for VDI.
5792
5793 "file" Node to create the image format on "size"
5794 Size of the virtual disk in bytes "preallocation" Preallocation mode
5795 for the new image (allowed values: off, metadata; default: off)
5796
5797 Members:
5798
5799 "file: BlockdevRef"
5800 Not documented
5801
5802 "size: int"
5803 Not documented
5804
5805 "preallocation: PreallocMode" (optional)
5806 Not documented
5807
5808 Since: 2.12
5809
5810 BlockdevVhdxSubformat (Enum)
5811
5812 Values:
5813
5814 "dynamic"
5815 Growing image file
5816
5817 "fixed"
5818 Preallocated fixed-size image file
5819
5820 Since: 2.12
5821
5822 BlockdevCreateOptionsVhdx (Object)
5823
5824 Driver specific image creation options for vhdx.
5825
5826 "file" Node to create the image format on "size"
5827 Size of the virtual disk in bytes "log-size" Log size in bytes,
5828 must be a multiple of 1 MB (default: 1 MB) "block-size" Block
5829 size in bytes, must be a multiple of 1 MB and not larger than 256 MB
5830 (default: automatically choose a block size depending on the image
5831 size) "subformat" vhdx subformat (default: dynamic)
5832 "block-state-zero" Force use of payload blocks of type 'ZERO'. Non-
5833 standard, but default. Do not set to 'off' when using 'qemu-img
5834 convert' with subformat=dynamic.
5835
5836 Members:
5837
5838 "file: BlockdevRef"
5839 Not documented
5840
5841 "size: int"
5842 Not documented
5843
5844 "log-size: int" (optional)
5845 Not documented
5846
5847 "block-size: int" (optional)
5848 Not documented
5849
5850 "subformat: BlockdevVhdxSubformat" (optional)
5851 Not documented
5852
5853 "block-state-zero: boolean" (optional)
5854 Not documented
5855
5856 Since: 2.12
5857
5858 BlockdevVpcSubformat (Enum)
5859
5860 Values:
5861
5862 "dynamic"
5863 Growing image file
5864
5865 "fixed"
5866 Preallocated fixed-size image file
5867
5868 Since: 2.12
5869
5870 BlockdevCreateOptionsVpc (Object)
5871
5872 Driver specific image creation options for vpc (VHD).
5873
5874 "file" Node to create the image format on "size"
5875 Size of the virtual disk in bytes "subformat" vhdx subformat
5876 (default: dynamic) "force-size" Force use of the exact byte size
5877 instead of rounding to the next size that can be represented in CHS
5878 geometry (default: false)
5879
5880 Members:
5881
5882 "file: BlockdevRef"
5883 Not documented
5884
5885 "size: int"
5886 Not documented
5887
5888 "subformat: BlockdevVpcSubformat" (optional)
5889 Not documented
5890
5891 "force-size: boolean" (optional)
5892 Not documented
5893
5894 Since: 2.12
5895
5896 BlockdevCreateOptions (Object)
5897
5898 Options for creating an image format on a given node.
5899
5900 "driver" block driver to create the image format
5901
5902 Members:
5903
5904 "driver: BlockdevDriver"
5905 Not documented
5906
5907 The members of "BlockdevCreateOptionsFile" when "driver" is "file"
5908 The members of "BlockdevCreateOptionsGluster" when "driver" is
5909 "gluster"
5910 The members of "BlockdevCreateOptionsLUKS" when "driver" is "luks"
5911 The members of "BlockdevCreateOptionsNfs" when "driver" is "nfs"
5912 The members of "BlockdevCreateOptionsParallels" when "driver" is
5913 "parallels"
5914 The members of "BlockdevCreateOptionsQcow" when "driver" is "qcow"
5915 The members of "BlockdevCreateOptionsQcow2" when "driver" is "qcow2"
5916 The members of "BlockdevCreateOptionsQed" when "driver" is "qed"
5917 The members of "BlockdevCreateOptionsRbd" when "driver" is "rbd"
5918 The members of "BlockdevCreateOptionsSheepdog" when "driver" is
5919 "sheepdog"
5920 The members of "BlockdevCreateOptionsSsh" when "driver" is "ssh"
5921 The members of "BlockdevCreateOptionsVdi" when "driver" is "vdi"
5922 The members of "BlockdevCreateOptionsVhdx" when "driver" is "vhdx"
5923 The members of "BlockdevCreateOptionsVpc" when "driver" is "vpc"
5924
5925 Since: 2.12
5926
5927 blockdev-create (Command) Starts a job to create an image format on a
5928 given node. The job is automatically finalized, but a manual job-
5929 dismiss is required.
5930
5931 Arguments:
5932
5933 "job-id: string"
5934 Identifier for the newly created job.
5935
5936 "options: BlockdevCreateOptions"
5937 Options for the image creation.
5938
5939 Since: 3.0
5940
5941 blockdev-open-tray (Command) Opens a block device's tray. If there is
5942 a block driver state tree inserted as a medium, it will become
5943 inaccessible to the guest (but it will remain associated to the block
5944 device, so closing the tray will make it accessible again).
5945
5946 If the tray was already open before, this will be a no-op.
5947
5948 Once the tray opens, a DEVICE_TRAY_MOVED event is emitted. There are
5949 cases in which no such event will be generated, these include:
5950
5951 - if the guest has locked the tray, "force" is false and the guest
5952 does not respond to the eject request
5953
5954 - if the BlockBackend denoted by "device" does not have a guest
5955 device attached to it
5956
5957 - if the guest device does not have an actual tray
5958
5959 Arguments:
5960
5961 "device: string" (optional)
5962 Block device name (deprecated, use "id" instead)
5963
5964 "id: string" (optional)
5965 The name or QOM path of the guest device (since: 2.8)
5966
5967 "force: boolean" (optional)
5968 if false (the default), an eject request will be sent to the guest
5969 if it has locked the tray (and the tray will not be opened
5970 immediately); if true, the tray will be opened regardless of
5971 whether it is locked
5972
5973 Since: 2.5
5974
5975 Example:
5976
5977 -> { "execute": "blockdev-open-tray",
5978 "arguments": { "id": "ide0-1-0" } }
5979
5980 <- { "timestamp": { "seconds": 1418751016,
5981 "microseconds": 716996 },
5982 "event": "DEVICE_TRAY_MOVED",
5983 "data": { "device": "ide1-cd0",
5984 "id": "ide0-1-0",
5985 "tray-open": true } }
5986
5987 <- { "return": {} }
5988
5989 blockdev-close-tray (Command) Closes a block device's tray. If there
5990 is a block driver state tree associated with the block device (which is
5991 currently ejected), that tree will be loaded as the medium.
5992
5993 If the tray was already closed before, this will be a no-op.
5994
5995 Arguments:
5996
5997 "device: string" (optional)
5998 Block device name (deprecated, use "id" instead)
5999
6000 "id: string" (optional)
6001 The name or QOM path of the guest device (since: 2.8)
6002
6003 Since: 2.5
6004
6005 Example:
6006
6007 -> { "execute": "blockdev-close-tray",
6008 "arguments": { "id": "ide0-1-0" } }
6009
6010 <- { "timestamp": { "seconds": 1418751345,
6011 "microseconds": 272147 },
6012 "event": "DEVICE_TRAY_MOVED",
6013 "data": { "device": "ide1-cd0",
6014 "id": "ide0-1-0",
6015 "tray-open": false } }
6016
6017 <- { "return": {} }
6018
6019 blockdev-remove-medium (Command) Removes a medium (a block driver
6020 state tree) from a block device. That block device's tray must
6021 currently be open (unless there is no attached guest device).
6022
6023 If the tray is open and there is no medium inserted, this will be a no-
6024 op.
6025
6026 Arguments:
6027
6028 "id: string"
6029 The name or QOM path of the guest device
6030
6031 Since: 2.12
6032
6033 Example:
6034
6035 -> { "execute": "blockdev-remove-medium",
6036 "arguments": { "id": "ide0-1-0" } }
6037
6038 <- { "error": { "class": "GenericError",
6039 "desc": "Tray of device 'ide0-1-0' is not open" } }
6040
6041 -> { "execute": "blockdev-open-tray",
6042 "arguments": { "id": "ide0-1-0" } }
6043
6044 <- { "timestamp": { "seconds": 1418751627,
6045 "microseconds": 549958 },
6046 "event": "DEVICE_TRAY_MOVED",
6047 "data": { "device": "ide1-cd0",
6048 "id": "ide0-1-0",
6049 "tray-open": true } }
6050
6051 <- { "return": {} }
6052
6053 -> { "execute": "blockdev-remove-medium",
6054 "arguments": { "id": "ide0-1-0" } }
6055
6056 <- { "return": {} }
6057
6058 blockdev-insert-medium (Command) Inserts a medium (a block driver
6059 state tree) into a block device. That block device's tray must
6060 currently be open (unless there is no attached guest device) and there
6061 must be no medium inserted already.
6062
6063 Arguments:
6064
6065 "id: string"
6066 The name or QOM path of the guest device
6067
6068 "node-name: string"
6069 name of a node in the block driver state graph
6070
6071 Since: 2.12
6072
6073 Example:
6074
6075 -> { "execute": "blockdev-add",
6076 "arguments": {
6077 "node-name": "node0",
6078 "driver": "raw",
6079 "file": { "driver": "file",
6080 "filename": "fedora.iso" } } }
6081 <- { "return": {} }
6082
6083 -> { "execute": "blockdev-insert-medium",
6084 "arguments": { "id": "ide0-1-0",
6085 "node-name": "node0" } }
6086
6087 <- { "return": {} }
6088
6089 BlockdevChangeReadOnlyMode (Enum)
6090
6091 Specifies the new read-only mode of a block device subject to the
6092 "blockdev-change-medium" command.
6093
6094 Values:
6095
6096 "retain"
6097 Retains the current read-only mode
6098
6099 "read-only"
6100 Makes the device read-only
6101
6102 "read-write"
6103 Makes the device writable
6104
6105 Since: 2.3
6106
6107 blockdev-change-medium (Command) Changes the medium inserted into a
6108 block device by ejecting the current medium and loading a new image
6109 file which is inserted as the new medium (this command combines
6110 blockdev-open-tray, blockdev-remove-medium, blockdev-insert-medium and
6111 blockdev-close-tray).
6112
6113 Arguments:
6114
6115 "device: string" (optional)
6116 Block device name (deprecated, use "id" instead)
6117
6118 "id: string" (optional)
6119 The name or QOM path of the guest device (since: 2.8)
6120
6121 "filename: string"
6122 filename of the new image to be loaded
6123
6124 "format: string" (optional)
6125 format to open the new image with (defaults to the probed format)
6126
6127 "read-only-mode: BlockdevChangeReadOnlyMode" (optional)
6128 change the read-only mode of the device; defaults to 'retain'
6129
6130 Since: 2.5
6131
6132 Examples:
6133
6134 1. Change a removable medium
6135
6136 -> { "execute": "blockdev-change-medium",
6137 "arguments": { "id": "ide0-1-0",
6138 "filename": "/srv/images/Fedora-12-x86_64-DVD.iso",
6139 "format": "raw" } }
6140 <- { "return": {} }
6141
6142 2. Load a read-only medium into a writable drive
6143
6144 -> { "execute": "blockdev-change-medium",
6145 "arguments": { "id": "floppyA",
6146 "filename": "/srv/images/ro.img",
6147 "format": "raw",
6148 "read-only-mode": "retain" } }
6149
6150 <- { "error":
6151 { "class": "GenericError",
6152 "desc": "Could not open '/srv/images/ro.img': Permission denied" } }
6153
6154 -> { "execute": "blockdev-change-medium",
6155 "arguments": { "id": "floppyA",
6156 "filename": "/srv/images/ro.img",
6157 "format": "raw",
6158 "read-only-mode": "read-only" } }
6159
6160 <- { "return": {} }
6161
6162 BlockErrorAction (Enum)
6163
6164 An enumeration of action that has been taken when a DISK I/O occurs
6165
6166 Values:
6167
6168 "ignore"
6169 error has been ignored
6170
6171 "report"
6172 error has been reported to the device
6173
6174 "stop"
6175 error caused VM to be stopped
6176
6177 Since: 2.1
6178
6179 BLOCK_IMAGE_CORRUPTED (Event) Emitted when a disk image is being
6180 marked corrupt. The image can be identified by its device or node name.
6181 The 'device' field is always present for compatibility reasons, but it
6182 can be empty ("") if the image does not have a device name associated.
6183
6184 Arguments:
6185
6186 "device: string"
6187 device name. This is always present for compatibility reasons, but
6188 it can be empty ("") if the image does not have a device name
6189 associated.
6190
6191 "node-name: string" (optional)
6192 node name (Since: 2.4)
6193
6194 "msg: string"
6195 informative message for human consumption, such as the kind of
6196 corruption being detected. It should not be parsed by machine as it
6197 is not guaranteed to be stable
6198
6199 "offset: int" (optional)
6200 if the corruption resulted from an image access, this is the host's
6201 access offset into the image
6202
6203 "size: int" (optional)
6204 if the corruption resulted from an image access, this is the access
6205 size
6206
6207 "fatal: boolean"
6208 if set, the image is marked corrupt and therefore unusable after
6209 this event and must be repaired (Since 2.2; before, every
6210 BLOCK_IMAGE_CORRUPTED event was fatal)
6211
6212 Note: If action is "stop", a STOP event will eventually follow the
6213 BLOCK_IO_ERROR event.
6214
6215 Example:
6216
6217 <- { "event": "BLOCK_IMAGE_CORRUPTED",
6218 "data": { "device": "ide0-hd0", "node-name": "node0",
6219 "msg": "Prevented active L1 table overwrite", "offset": 196608,
6220 "size": 65536 },
6221 "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }
6222
6223 Since: 1.7
6224
6225 BLOCK_IO_ERROR (Event) Emitted when a disk I/O error occurs
6226
6227 Arguments:
6228
6229 "device: string"
6230 device name. This is always present for compatibility reasons, but
6231 it can be empty ("") if the image does not have a device name
6232 associated.
6233
6234 "node-name: string" (optional)
6235 node name. Note that errors may be reported for the root node that
6236 is directly attached to a guest device rather than for the node
6237 where the error occurred. The node name is not present if the drive
6238 is empty. (Since: 2.8)
6239
6240 "operation: IoOperationType"
6241 I/O operation
6242
6243 "action: BlockErrorAction"
6244 action that has been taken
6245
6246 "nospace: boolean" (optional)
6247 true if I/O error was caused due to a no-space condition. This key
6248 is only present if query-block's io-status is present, please see
6249 query-block documentation for more information (since: 2.2)
6250
6251 "reason: string"
6252 human readable string describing the error cause. (This field is a
6253 debugging aid for humans, it should not be parsed by applications)
6254 (since: 2.2)
6255
6256 Note: If action is "stop", a STOP event will eventually follow the
6257 BLOCK_IO_ERROR event
6258
6259 Since: 0.13.0
6260
6261 Example:
6262
6263 <- { "event": "BLOCK_IO_ERROR",
6264 "data": { "device": "ide0-hd1",
6265 "node-name": "#block212",
6266 "operation": "write",
6267 "action": "stop" },
6268 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
6269
6270 BLOCK_JOB_COMPLETED (Event) Emitted when a block job has completed
6271
6272 Arguments:
6273
6274 "type: JobType"
6275 job type
6276
6277 "device: string"
6278 The job identifier. Originally the device name but other values are
6279 allowed since QEMU 2.7
6280
6281 "len: int"
6282 maximum progress value
6283
6284 "offset: int"
6285 current progress value. On success this is equal to len. On
6286 failure this is less than len
6287
6288 "speed: int"
6289 rate limit, bytes per second
6290
6291 "error: string" (optional)
6292 error message. Only present on failure. This field contains a
6293 human-readable error message. There are no semantics other than
6294 that streaming has failed and clients should not try to interpret
6295 the error string
6296
6297 Since: 1.1
6298
6299 Example:
6300
6301 <- { "event": "BLOCK_JOB_COMPLETED",
6302 "data": { "type": "stream", "device": "virtio-disk0",
6303 "len": 10737418240, "offset": 10737418240,
6304 "speed": 0 },
6305 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
6306
6307 BLOCK_JOB_CANCELLED (Event) Emitted when a block job has been
6308 cancelled
6309
6310 Arguments:
6311
6312 "type: JobType"
6313 job type
6314
6315 "device: string"
6316 The job identifier. Originally the device name but other values are
6317 allowed since QEMU 2.7
6318
6319 "len: int"
6320 maximum progress value
6321
6322 "offset: int"
6323 current progress value. On success this is equal to len. On
6324 failure this is less than len
6325
6326 "speed: int"
6327 rate limit, bytes per second
6328
6329 Since: 1.1
6330
6331 Example:
6332
6333 <- { "event": "BLOCK_JOB_CANCELLED",
6334 "data": { "type": "stream", "device": "virtio-disk0",
6335 "len": 10737418240, "offset": 134217728,
6336 "speed": 0 },
6337 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
6338
6339 BLOCK_JOB_ERROR (Event) Emitted when a block job encounters an error
6340
6341 Arguments:
6342
6343 "device: string"
6344 The job identifier. Originally the device name but other values are
6345 allowed since QEMU 2.7
6346
6347 "operation: IoOperationType"
6348 I/O operation
6349
6350 "action: BlockErrorAction"
6351 action that has been taken
6352
6353 Since: 1.3
6354
6355 Example:
6356
6357 <- { "event": "BLOCK_JOB_ERROR",
6358 "data": { "device": "ide0-hd1",
6359 "operation": "write",
6360 "action": "stop" },
6361 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
6362
6363 BLOCK_JOB_READY (Event) Emitted when a block job is ready to complete
6364
6365 Arguments:
6366
6367 "type: JobType"
6368 job type
6369
6370 "device: string"
6371 The job identifier. Originally the device name but other values are
6372 allowed since QEMU 2.7
6373
6374 "len: int"
6375 maximum progress value
6376
6377 "offset: int"
6378 current progress value. On success this is equal to len. On
6379 failure this is less than len
6380
6381 "speed: int"
6382 rate limit, bytes per second
6383
6384 Note: The "ready to complete" status is always reset by a
6385 "BLOCK_JOB_ERROR" event
6386
6387 Since: 1.3
6388
6389 Example:
6390
6391 <- { "event": "BLOCK_JOB_READY",
6392 "data": { "device": "drive0", "type": "mirror", "speed": 0,
6393 "len": 2097152, "offset": 2097152 }
6394 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
6395
6396 BLOCK_JOB_PENDING (Event) Emitted when a block job is awaiting
6397 explicit authorization to finalize graph changes via
6398 "block-job-finalize". If this job is part of a transaction, it will not
6399 emit this event until the transaction has converged first.
6400
6401 Arguments:
6402
6403 "type: JobType"
6404 job type
6405
6406 "id: string"
6407 The job identifier.
6408
6409 Since: 2.12
6410
6411 Example:
6412
6413 <- { "event": "BLOCK_JOB_WAITING",
6414 "data": { "device": "drive0", "type": "mirror" },
6415 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
6416
6417 PreallocMode (Enum)
6418
6419 Preallocation mode of QEMU image file
6420
6421 Values:
6422
6423 "off"
6424 no preallocation
6425
6426 "metadata"
6427 preallocate only for metadata
6428
6429 "falloc"
6430 like "full" preallocation but allocate disk space by
6431 posix_fallocate() rather than writing zeros.
6432
6433 "full"
6434 preallocate all data by writing zeros to device to ensure disk
6435 space is really available. "full" preallocation also sets up
6436 metadata correctly.
6437
6438 Since: 2.2
6439
6440 BLOCK_WRITE_THRESHOLD (Event) Emitted when writes on block device
6441 reaches or exceeds the configured write threshold. For thin-provisioned
6442 devices, this means the device should be extended to avoid pausing for
6443 disk exhaustion. The event is one shot. Once triggered, it needs to be
6444 re-registered with another block-set-write-threshold command.
6445
6446 Arguments:
6447
6448 "node-name: string"
6449 graph node name on which the threshold was exceeded.
6450
6451 "amount-exceeded: int"
6452 amount of data which exceeded the threshold, in bytes.
6453
6454 "write-threshold: int"
6455 last configured threshold, in bytes.
6456
6457 Since: 2.3
6458
6459 block-set-write-threshold (Command) Change the write threshold for a
6460 block drive. An event will be delivered if a write to this block drive
6461 crosses the configured threshold. The threshold is an offset, thus
6462 must be non-negative. Default is no write threshold. Setting the
6463 threshold to zero disables it.
6464
6465 This is useful to transparently resize thin-provisioned drives without
6466 the guest OS noticing.
6467
6468 Arguments:
6469
6470 "node-name: string"
6471 graph node name on which the threshold must be set.
6472
6473 "write-threshold: int"
6474 configured threshold for the block device, bytes. Use 0 to disable
6475 the threshold.
6476
6477 Since: 2.3
6478
6479 Example:
6480
6481 -> { "execute": "block-set-write-threshold",
6482 "arguments": { "node-name": "mydev",
6483 "write-threshold": 17179869184 } }
6484 <- { "return": {} }
6485
6486 x-blockdev-change (Command) Dynamically reconfigure the block driver
6487 state graph. It can be used to add, remove, insert or replace a graph
6488 node. Currently only the Quorum driver implements this feature to add
6489 or remove its child. This is useful to fix a broken quorum child.
6490
6491 If "node" is specified, it will be inserted under "parent". "child" may
6492 not be specified in this case. If both "parent" and "child" are
6493 specified but "node" is not, "child" will be detached from "parent".
6494
6495 Arguments:
6496
6497 "parent: string"
6498 the id or name of the parent node.
6499
6500 "child: string" (optional)
6501 the name of a child under the given parent node.
6502
6503 "node: string" (optional)
6504 the name of the node that will be added.
6505
6506 Note: this command is experimental, and its API is not stable. It does
6507 not support all kinds of operations, all kinds of children, nor all
6508 block drivers.
6509
6510 FIXME Removing children from a quorum node means introducing gaps in
6511 the child indices. This cannot be represented in the 'children' list of
6512 BlockdevOptionsQuorum, as returned by .bdrv_refresh_filename().
6513
6514 Warning: The data in a new quorum child MUST be consistent with that of
6515 the rest of the array.
6516
6517 Since: 2.7
6518
6519 Example:
6520
6521 1. Add a new node to a quorum
6522 -> { "execute": "blockdev-add",
6523 "arguments": {
6524 "driver": "raw",
6525 "node-name": "new_node",
6526 "file": { "driver": "file",
6527 "filename": "test.raw" } } }
6528 <- { "return": {} }
6529 -> { "execute": "x-blockdev-change",
6530 "arguments": { "parent": "disk1",
6531 "node": "new_node" } }
6532 <- { "return": {} }
6533
6534 2. Delete a quorum's node
6535 -> { "execute": "x-blockdev-change",
6536 "arguments": { "parent": "disk1",
6537 "child": "children.1" } }
6538 <- { "return": {} }
6539
6540 x-blockdev-set-iothread (Command) Move "node" and its children into
6541 the "iothread". If "iothread" is null then move "node" and its
6542 children into the main loop.
6543
6544 The node must not be attached to a BlockBackend.
6545
6546 Arguments:
6547
6548 "node-name: string"
6549 the name of the block driver node
6550
6551 "iothread: StrOrNull"
6552 the name of the IOThread object or null for the main loop
6553
6554 "force: boolean" (optional)
6555 true if the node and its children should be moved when a
6556 BlockBackend is already attached
6557
6558 Note: this command is experimental and intended for test cases that
6559 need control over IOThreads only.
6560
6561 Since: 2.12
6562
6563 Example:
6564
6565 1. Move a node into an IOThread
6566 -> { "execute": "x-blockdev-set-iothread",
6567 "arguments": { "node-name": "disk1",
6568 "iothread": "iothread0" } }
6569 <- { "return": {} }
6570
6571 2. Move a node into the main loop
6572 -> { "execute": "x-blockdev-set-iothread",
6573 "arguments": { "node-name": "disk1",
6574 "iothread": null } }
6575 <- { "return": {} }
6576
6577 Additional block stuff (VM related)
6578
6579 BiosAtaTranslation (Enum)
6580
6581 Policy that BIOS should use to interpret cylinder/head/sector
6582 addresses. Note that Bochs BIOS and SeaBIOS will not actually
6583 translate logical CHS to physical; instead, they will use logical block
6584 addressing.
6585
6586 Values:
6587
6588 "auto"
6589 If cylinder/heads/sizes are passed, choose between none and LBA
6590 depending on the size of the disk. If they are not passed, choose
6591 none if QEMU can guess that the disk had 16 or fewer heads, large
6592 if QEMU can guess that the disk had 131072 or fewer tracks across
6593 all heads (i.e. cylinders*heads<131072), otherwise LBA.
6594
6595 "none"
6596 The physical disk geometry is equal to the logical geometry.
6597
6598 "lba"
6599 Assume 63 sectors per track and one of 16, 32, 64, 128 or 255 heads
6600 (if fewer than 255 are enough to cover the whole disk with 1024
6601 cylinders/head). The number of cylinders/head is then computed
6602 based on the number of sectors and heads.
6603
6604 "large"
6605 The number of cylinders per head is scaled down to 1024 by
6606 correspondingly scaling up the number of heads.
6607
6608 "rechs"
6609 Same as "large", but first convert a 16-head geometry to 15-head,
6610 by proportionally scaling up the number of cylinders/head.
6611
6612 Since: 2.0
6613
6614 FloppyDriveType (Enum)
6615
6616 Type of Floppy drive to be emulated by the Floppy Disk Controller.
6617
6618 Values:
6619
6620 144 1.44MB 3.5" drive
6621
6622 288 2.88MB 3.5" drive
6623
6624 120 1.2MB 5.25" drive
6625
6626 "none"
6627 No drive connected
6628
6629 "auto"
6630 Automatically determined by inserted media at boot
6631
6632 Since: 2.6
6633
6634 BlockdevSnapshotInternal (Object)
6635
6636 Members:
6637
6638 "device: string"
6639 the device name or node-name of a root node to generate the
6640 snapshot from
6641
6642 "name: string"
6643 the name of the internal snapshot to be created
6644
6645 Notes: In transaction, if "name" is empty, or any snapshot matching
6646 "name" exists, the operation will fail. Only some image formats support
6647 it, for example, qcow2, rbd, and sheepdog.
6648
6649 Since: 1.7
6650
6651 PRManagerInfo (Object)
6652
6653 Information about a persistent reservation manager
6654
6655 Members:
6656
6657 "id: string"
6658 the identifier of the persistent reservation manager
6659
6660 "connected: boolean"
6661 true if the persistent reservation manager is connected to the
6662 underlying storage or helper
6663
6664 Since: 3.0
6665
6666 query-pr-managers (Command) Returns a list of information about each
6667 persistent reservation manager.
6668
6669 Returns: a list of "PRManagerInfo" for each persistent reservation
6670 manager
6671
6672 Since: 3.0
6673
6674 blockdev-snapshot-internal-sync (Command) Synchronously take an
6675 internal snapshot of a block device, when the format of the image used
6676 supports it. If the name is an empty string, or a snapshot with name
6677 already exists, the operation will fail.
6678
6679 For the arguments, see the documentation of BlockdevSnapshotInternal.
6680
6681 Returns: nothing on success
6682
6683 If "device" is not a valid block device, GenericError
6684
6685 If any snapshot matching "name" exists, or "name" is empty,
6686 GenericError
6687
6688 If the format of the image used does not support it,
6689 BlockFormatFeatureNotSupported
6690
6691 Since: 1.7
6692
6693 Example:
6694
6695 -> { "execute": "blockdev-snapshot-internal-sync",
6696 "arguments": { "device": "ide-hd0",
6697 "name": "snapshot0" }
6698 }
6699 <- { "return": {} }
6700
6701 blockdev-snapshot-delete-internal-sync (Command) Synchronously delete
6702 an internal snapshot of a block device, when the format of the image
6703 used support it. The snapshot is identified by name or id or both. One
6704 of the name or id is required. Return SnapshotInfo for the successfully
6705 deleted snapshot.
6706
6707 Arguments:
6708
6709 "device: string"
6710 the device name or node-name of a root node to delete the snapshot
6711 from
6712
6713 "id: string" (optional)
6714 optional the snapshot's ID to be deleted
6715
6716 "name: string" (optional)
6717 optional the snapshot's name to be deleted
6718
6719 Returns: SnapshotInfo on success If "device" is not a valid block
6720 device, GenericError If snapshot not found, GenericError If the format
6721 of the image used does not support it, BlockFormatFeatureNotSupported
6722 If "id" and "name" are both not specified, GenericError
6723
6724 Since: 1.7
6725
6726 Example:
6727
6728 -> { "execute": "blockdev-snapshot-delete-internal-sync",
6729 "arguments": { "device": "ide-hd0",
6730 "name": "snapshot0" }
6731 }
6732 <- { "return": {
6733 "id": "1",
6734 "name": "snapshot0",
6735 "vm-state-size": 0,
6736 "date-sec": 1000012,
6737 "date-nsec": 10,
6738 "vm-clock-sec": 100,
6739 "vm-clock-nsec": 20
6740 }
6741 }
6742
6743 eject (Command) Ejects a device from a removable drive.
6744
6745 Arguments:
6746
6747 "device: string" (optional)
6748 Block device name (deprecated, use "id" instead)
6749
6750 "id: string" (optional)
6751 The name or QOM path of the guest device (since: 2.8)
6752
6753 "force: boolean" (optional)
6754 If true, eject regardless of whether the drive is locked. If not
6755 specified, the default value is false.
6756
6757 Returns: Nothing on success
6758
6759 If "device" is not a valid block device, DeviceNotFound
6760
6761 Notes: Ejecting a device with no media results in success
6762
6763 Since: 0.14.0
6764
6765 Example:
6766
6767 -> { "execute": "eject", "arguments": { "id": "ide1-0-1" } }
6768 <- { "return": {} }
6769
6770 nbd-server-start (Command) Start an NBD server listening on the given
6771 host and port. Block devices can then be exported using
6772 "nbd-server-add". The NBD server will present them as named exports;
6773 for example, another QEMU instance could refer to them as
6774 "nbd:HOST:PORT:exportname=NAME".
6775
6776 Arguments:
6777
6778 "addr: SocketAddressLegacy"
6779 Address on which to listen.
6780
6781 "tls-creds: string" (optional)
6782 (optional) ID of the TLS credentials object. Since 2.6
6783
6784 Returns: error if the server is already running.
6785
6786 Since: 1.3.0
6787
6788 nbd-server-add (Command) Export a block node to QEMU's embedded NBD
6789 server.
6790
6791 Arguments:
6792
6793 "device: string"
6794 The device name or node name of the node to be exported
6795
6796 "name: string" (optional)
6797 Export name. If unspecified, the "device" parameter is used as the
6798 export name. (Since 2.12)
6799
6800 "writable: boolean" (optional)
6801 Whether clients should be able to write to the device via the NBD
6802 connection (default false).
6803
6804 Returns: error if the server is not running, or export with the same
6805 name already exists.
6806
6807 Since: 1.3.0
6808
6809 NbdServerRemoveMode (Enum)
6810
6811 Mode for removing an NBD export.
6812
6813 Values:
6814
6815 "safe"
6816 Remove export if there are no existing connections, fail otherwise.
6817
6818 "hard"
6819 Drop all connections immediately and remove export.
6820
6821 Potential additional modes to be added in the future:
6822
6823 hide: Just hide export from new clients, leave existing connections as
6824 is. Remove export after all clients are disconnected.
6825
6826 soft: Hide export from new clients, answer with ESHUTDOWN for all
6827 further requests from existing clients.
6828
6829 Since: 2.12
6830
6831 nbd-server-remove (Command) Remove NBD export by name.
6832
6833 Arguments:
6834
6835 "name: string"
6836 Export name.
6837
6838 "mode: NbdServerRemoveMode" (optional)
6839 Mode of command operation. See "NbdServerRemoveMode" description.
6840 Default is 'safe'.
6841
6842 Returns: error if
6843
6844 - the server is not running
6845
6846 - export is not found
6847
6848 - mode is 'safe' and there are existing connections
6849
6850 Since: 2.12
6851
6852 x-nbd-server-add-bitmap (Command) Expose a dirty bitmap associated
6853 with the selected export. The bitmap search starts at the device
6854 attached to the export, and includes all backing files. The exported
6855 bitmap is then locked until the NBD export is removed.
6856
6857 Arguments:
6858
6859 "name: string"
6860 Export name.
6861
6862 "bitmap: string"
6863 Bitmap name to search for.
6864
6865 "bitmap-export-name: string" (optional)
6866 How the bitmap will be seen by nbd clients (default "bitmap")
6867
6868 Note: the client must use NBD_OPT_SET_META_CONTEXT with a query of
6869 "qemu:dirty-bitmap:NAME" (where NAME matches "bitmap-export-name") to
6870 access the exposed bitmap.
6871
6872 Since: 3.0
6873
6874 nbd-server-stop (Command) Stop QEMU's embedded NBD server, and
6875 unregister all devices previously added via "nbd-server-add".
6876
6877 Since: 1.3.0
6878
6879 DEVICE_TRAY_MOVED (Event) Emitted whenever the tray of a removable
6880 device is moved by the guest or by HMP/QMP commands
6881
6882 Arguments:
6883
6884 "device: string"
6885 Block device name. This is always present for compatibility
6886 reasons, but it can be empty ("") if the image does not have a
6887 device name associated.
6888
6889 "id: string"
6890 The name or QOM path of the guest device (since 2.8)
6891
6892 "tray-open: boolean"
6893 true if the tray has been opened or false if it has been closed
6894
6895 Since: 1.1
6896
6897 Example:
6898
6899 <- { "event": "DEVICE_TRAY_MOVED",
6900 "data": { "device": "ide1-cd0",
6901 "id": "/machine/unattached/device[22]",
6902 "tray-open": true
6903 },
6904 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
6905
6906 PR_MANAGER_STATUS_CHANGED (Event) Emitted whenever the connected
6907 status of a persistent reservation manager changes.
6908
6909 Arguments:
6910
6911 "id: string"
6912 The id of the PR manager object
6913
6914 "connected: boolean"
6915 true if the PR manager is connected to a backend
6916
6917 Since: 3.0
6918
6919 Example:
6920
6921 <- { "event": "PR_MANAGER_STATUS_CHANGED",
6922 "data": { "id": "pr-helper0",
6923 "connected": true
6924 },
6925 "timestamp": { "seconds": 1519840375, "microseconds": 450486 } }
6926
6927 QuorumOpType (Enum)
6928
6929 An enumeration of the quorum operation types
6930
6931 Values:
6932
6933 "read"
6934 read operation
6935
6936 "write"
6937 write operation
6938
6939 "flush"
6940 flush operation
6941
6942 Since: 2.6
6943
6944 QUORUM_FAILURE (Event) Emitted by the Quorum block driver if it fails
6945 to establish a quorum
6946
6947 Arguments:
6948
6949 "reference: string"
6950 device name if defined else node name
6951
6952 "sector-num: int"
6953 number of the first sector of the failed read operation
6954
6955 "sectors-count: int"
6956 failed read operation sector count
6957
6958 Note: This event is rate-limited.
6959
6960 Since: 2.0
6961
6962 Example:
6963
6964 <- { "event": "QUORUM_FAILURE",
6965 "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
6966 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
6967
6968 QUORUM_REPORT_BAD (Event) Emitted to report a corruption of a Quorum
6969 file
6970
6971 Arguments:
6972
6973 "type: QuorumOpType"
6974 quorum operation type (Since 2.6)
6975
6976 "error: string" (optional)
6977 error message. Only present on failure. This field contains a
6978 human-readable error message. There are no semantics other than
6979 that the block layer reported an error and clients should not try
6980 to interpret the error string.
6981
6982 "node-name: string"
6983 the graph node name of the block driver state
6984
6985 "sector-num: int"
6986 number of the first sector of the failed read operation
6987
6988 "sectors-count: int"
6989 failed read operation sector count
6990
6991 Note: This event is rate-limited.
6992
6993 Since: 2.0
6994
6995 Example:
6996
6997 1. Read operation
6998
6999 { "event": "QUORUM_REPORT_BAD",
7000 "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
7001 "type": "read" },
7002 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
7003
7004 2. Flush operation
7005
7006 { "event": "QUORUM_REPORT_BAD",
7007 "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
7008 "type": "flush", "error": "Broken pipe" },
7009 "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
7010
7011 Character devices
7012 ChardevInfo (Object)
7013
7014 Information about a character device.
7015
7016 Members:
7017
7018 "label: string"
7019 the label of the character device
7020
7021 "filename: string"
7022 the filename of the character device
7023
7024 "frontend-open: boolean"
7025 shows whether the frontend device attached to this backend (eg.
7026 with the chardev=... option) is in open or closed state (since 2.1)
7027
7028 Notes: "filename" is encoded using the QEMU command line character
7029 device encoding. See the QEMU man page for details.
7030
7031 Since: 0.14.0
7032
7033 query-chardev (Command) Returns information about current character
7034 devices.
7035
7036 Returns: a list of "ChardevInfo"
7037
7038 Since: 0.14.0
7039
7040 Example:
7041
7042 -> { "execute": "query-chardev" }
7043 <- {
7044 "return": [
7045 {
7046 "label": "charchannel0",
7047 "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.agent,server",
7048 "frontend-open": false
7049 },
7050 {
7051 "label": "charmonitor",
7052 "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.monitor,server",
7053 "frontend-open": true
7054 },
7055 {
7056 "label": "charserial0",
7057 "filename": "pty:/dev/pts/2",
7058 "frontend-open": true
7059 }
7060 ]
7061 }
7062
7063 ChardevBackendInfo (Object)
7064
7065 Information about a character device backend
7066
7067 Members:
7068
7069 "name: string"
7070 The backend name
7071
7072 Since: 2.0
7073
7074 query-chardev-backends (Command) Returns information about character
7075 device backends.
7076
7077 Returns: a list of "ChardevBackendInfo"
7078
7079 Since: 2.0
7080
7081 Example:
7082
7083 -> { "execute": "query-chardev-backends" }
7084 <- {
7085 "return":[
7086 {
7087 "name":"udp"
7088 },
7089 {
7090 "name":"tcp"
7091 },
7092 {
7093 "name":"unix"
7094 },
7095 {
7096 "name":"spiceport"
7097 }
7098 ]
7099 }
7100
7101 DataFormat (Enum)
7102
7103 An enumeration of data format.
7104
7105 Values:
7106
7107 "utf8"
7108 Data is a UTF-8 string (RFC 3629)
7109
7110 "base64"
7111 Data is Base64 encoded binary (RFC 3548)
7112
7113 Since: 1.4
7114
7115 ringbuf-write (Command) Write to a ring buffer character device.
7116
7117 Arguments:
7118
7119 "device: string"
7120 the ring buffer character device name
7121
7122 "data: string"
7123 data to write
7124
7125 "format: DataFormat" (optional)
7126 data encoding (default 'utf8').
7127
7128 - base64: data must be base64 encoded text. Its binary decoding
7129 gets written.
7130
7131 - utf8: data's UTF-8 encoding is written
7132
7133 - data itself is always Unicode regardless of format, like any
7134 other string.
7135
7136 Returns: Nothing on success
7137
7138 Since: 1.4
7139
7140 Example:
7141
7142 -> { "execute": "ringbuf-write",
7143 "arguments": { "device": "foo",
7144 "data": "abcdefgh",
7145 "format": "utf8" } }
7146 <- { "return": {} }
7147
7148 ringbuf-read (Command) Read from a ring buffer character device.
7149
7150 Arguments:
7151
7152 "device: string"
7153 the ring buffer character device name
7154
7155 "size: int"
7156 how many bytes to read at most
7157
7158 "format: DataFormat" (optional)
7159 data encoding (default 'utf8').
7160
7161 - base64: the data read is returned in base64 encoding.
7162
7163 - utf8: the data read is interpreted as UTF-8. Bug: can screw up
7164 when the buffer contains invalid UTF-8 sequences, NUL
7165 characters, after the ring buffer lost data, and when reading
7166 stops because the size limit is reached.
7167
7168 - The return value is always Unicode regardless of format, like
7169 any other string.
7170
7171 Returns: data read from the device
7172
7173 Since: 1.4
7174
7175 Example:
7176
7177 -> { "execute": "ringbuf-read",
7178 "arguments": { "device": "foo",
7179 "size": 1000,
7180 "format": "utf8" } }
7181 <- { "return": "abcdefgh" }
7182
7183 ChardevCommon (Object)
7184
7185 Configuration shared across all chardev backends
7186
7187 Members:
7188
7189 "logfile: string" (optional)
7190 The name of a logfile to save output
7191
7192 "logappend: boolean" (optional)
7193 true to append instead of truncate (default to false to truncate)
7194
7195 Since: 2.6
7196
7197 ChardevFile (Object)
7198
7199 Configuration info for file chardevs.
7200
7201 Members:
7202
7203 "in: string" (optional)
7204 The name of the input file
7205
7206 "out: string"
7207 The name of the output file
7208
7209 "append: boolean" (optional)
7210 Open the file in append mode (default false to truncate) (Since
7211 2.6)
7212
7213 The members of "ChardevCommon"
7214
7215 Since: 1.4
7216
7217 ChardevHostdev (Object)
7218
7219 Configuration info for device and pipe chardevs.
7220
7221 Members:
7222
7223 "device: string"
7224 The name of the special file for the device, i.e. /dev/ttyS0 on
7225 Unix or COM1: on Windows
7226
7227 The members of "ChardevCommon"
7228
7229 Since: 1.4
7230
7231 ChardevSocket (Object)
7232
7233 Configuration info for (stream) socket chardevs.
7234
7235 Members:
7236
7237 "addr: SocketAddressLegacy"
7238 socket address to listen on (server=true) or connect to
7239 (server=false)
7240
7241 "tls-creds: string" (optional)
7242 the ID of the TLS credentials object (since 2.6)
7243
7244 "server: boolean" (optional)
7245 create server socket (default: true)
7246
7247 "wait: boolean" (optional)
7248 wait for incoming connection on server sockets (default: false).
7249
7250 "nodelay: boolean" (optional)
7251 set TCP_NODELAY socket option (default: false)
7252
7253 "telnet: boolean" (optional)
7254 enable telnet protocol on server sockets (default: false)
7255
7256 "tn3270: boolean" (optional)
7257 enable tn3270 protocol on server sockets (default: false) (Since:
7258 2.10)
7259
7260 "websocket: boolean" (optional)
7261 enable websocket protocol on server sockets (default: false)
7262 (Since: 3.1)
7263
7264 "reconnect: int" (optional)
7265 For a client socket, if a socket is disconnected, then attempt a
7266 reconnect after the given number of seconds. Setting this to zero
7267 disables this function. (default: 0) (Since: 2.2)
7268
7269 The members of "ChardevCommon"
7270
7271 Since: 1.4
7272
7273 ChardevUdp (Object)
7274
7275 Configuration info for datagram socket chardevs.
7276
7277 Members:
7278
7279 "remote: SocketAddressLegacy"
7280 remote address
7281
7282 "local: SocketAddressLegacy" (optional)
7283 local address
7284
7285 The members of "ChardevCommon"
7286
7287 Since: 1.5
7288
7289 ChardevMux (Object)
7290
7291 Configuration info for mux chardevs.
7292
7293 Members:
7294
7295 "chardev: string"
7296 name of the base chardev.
7297
7298 The members of "ChardevCommon"
7299
7300 Since: 1.5
7301
7302 ChardevStdio (Object)
7303
7304 Configuration info for stdio chardevs.
7305
7306 Members:
7307
7308 "signal: boolean" (optional)
7309 Allow signals (such as SIGINT triggered by ^C) be delivered to
7310 qemu. Default: true in -nographic mode, false otherwise.
7311
7312 The members of "ChardevCommon"
7313
7314 Since: 1.5
7315
7316 ChardevSpiceChannel (Object)
7317
7318 Configuration info for spice vm channel chardevs.
7319
7320 Members:
7321
7322 "type: string"
7323 kind of channel (for example vdagent).
7324
7325 The members of "ChardevCommon"
7326
7327 Since: 1.5
7328
7329 ChardevSpicePort (Object)
7330
7331 Configuration info for spice port chardevs.
7332
7333 Members:
7334
7335 "fqdn: string"
7336 name of the channel (see docs/spice-port-fqdn.txt)
7337
7338 The members of "ChardevCommon"
7339
7340 Since: 1.5
7341
7342 ChardevVC (Object)
7343
7344 Configuration info for virtual console chardevs.
7345
7346 Members:
7347
7348 "width: int" (optional)
7349 console width, in pixels
7350
7351 "height: int" (optional)
7352 console height, in pixels
7353
7354 "cols: int" (optional)
7355 console width, in chars
7356
7357 "rows: int" (optional)
7358 console height, in chars
7359
7360 The members of "ChardevCommon"
7361
7362 Since: 1.5
7363
7364 ChardevRingbuf (Object)
7365
7366 Configuration info for ring buffer chardevs.
7367
7368 Members:
7369
7370 "size: int" (optional)
7371 ring buffer size, must be power of two, default is 65536
7372
7373 The members of "ChardevCommon"
7374
7375 Since: 1.5
7376
7377 ChardevBackend (Object)
7378
7379 Configuration info for the new chardev backend.
7380
7381 Members:
7382
7383 "type"
7384 One of "file", "serial", "parallel", "pipe", "socket", "udp",
7385 "pty", "null", "mux", "msmouse", "wctablet", "braille", "testdev",
7386 "stdio", "console", "spicevmc", "spiceport", "vc", "ringbuf",
7387 "memory"
7388
7389 "data: ChardevFile" when "type" is "file"
7390 "data: ChardevHostdev" when "type" is "serial"
7391 "data: ChardevHostdev" when "type" is "parallel"
7392 "data: ChardevHostdev" when "type" is "pipe"
7393 "data: ChardevSocket" when "type" is "socket"
7394 "data: ChardevUdp" when "type" is "udp"
7395 "data: ChardevCommon" when "type" is "pty"
7396 "data: ChardevCommon" when "type" is "null"
7397 "data: ChardevMux" when "type" is "mux"
7398 "data: ChardevCommon" when "type" is "msmouse"
7399 "data: ChardevCommon" when "type" is "wctablet"
7400 "data: ChardevCommon" when "type" is "braille"
7401 "data: ChardevCommon" when "type" is "testdev"
7402 "data: ChardevStdio" when "type" is "stdio"
7403 "data: ChardevCommon" when "type" is "console"
7404 "data: ChardevSpiceChannel" when "type" is "spicevmc"
7405 "data: ChardevSpicePort" when "type" is "spiceport"
7406 "data: ChardevVC" when "type" is "vc"
7407 "data: ChardevRingbuf" when "type" is "ringbuf"
7408 "data: ChardevRingbuf" when "type" is "memory"
7409
7410 Since: 1.4 (testdev since 2.2, wctablet since 2.9)
7411
7412 ChardevReturn (Object)
7413
7414 Return info about the chardev backend just created.
7415
7416 Members:
7417
7418 "pty: string" (optional)
7419 name of the slave pseudoterminal device, present if and only if a
7420 chardev of type 'pty' was created
7421
7422 Since: 1.4
7423
7424 chardev-add (Command) Add a character device backend
7425
7426 Arguments:
7427
7428 "id: string"
7429 the chardev's ID, must be unique
7430
7431 "backend: ChardevBackend"
7432 backend type and parameters
7433
7434 Returns: ChardevReturn.
7435
7436 Since: 1.4
7437
7438 Example:
7439
7440 -> { "execute" : "chardev-add",
7441 "arguments" : { "id" : "foo",
7442 "backend" : { "type" : "null", "data" : {} } } }
7443 <- { "return": {} }
7444
7445 -> { "execute" : "chardev-add",
7446 "arguments" : { "id" : "bar",
7447 "backend" : { "type" : "file",
7448 "data" : { "out" : "/tmp/bar.log" } } } }
7449 <- { "return": {} }
7450
7451 -> { "execute" : "chardev-add",
7452 "arguments" : { "id" : "baz",
7453 "backend" : { "type" : "pty", "data" : {} } } }
7454 <- { "return": { "pty" : "/dev/pty/42" } }
7455
7456 chardev-change (Command) Change a character device backend
7457
7458 Arguments:
7459
7460 "id: string"
7461 the chardev's ID, must exist
7462
7463 "backend: ChardevBackend"
7464 new backend type and parameters
7465
7466 Returns: ChardevReturn.
7467
7468 Since: 2.10
7469
7470 Example:
7471
7472 -> { "execute" : "chardev-change",
7473 "arguments" : { "id" : "baz",
7474 "backend" : { "type" : "pty", "data" : {} } } }
7475 <- { "return": { "pty" : "/dev/pty/42" } }
7476
7477 -> {"execute" : "chardev-change",
7478 "arguments" : {
7479 "id" : "charchannel2",
7480 "backend" : {
7481 "type" : "socket",
7482 "data" : {
7483 "addr" : {
7484 "type" : "unix" ,
7485 "data" : {
7486 "path" : "/tmp/charchannel2.socket"
7487 }
7488 },
7489 "server" : true,
7490 "wait" : false }}}}
7491 <- {"return": {}}
7492
7493 chardev-remove (Command) Remove a character device backend
7494
7495 Arguments:
7496
7497 "id: string"
7498 the chardev's ID, must exist and not be in use
7499
7500 Returns: Nothing on success
7501
7502 Since: 1.4
7503
7504 Example:
7505
7506 -> { "execute": "chardev-remove", "arguments": { "id" : "foo" } }
7507 <- { "return": {} }
7508
7509 chardev-send-break (Command) Send a break to a character device
7510
7511 Arguments:
7512
7513 "id: string"
7514 the chardev's ID, must exist
7515
7516 Returns: Nothing on success
7517
7518 Since: 2.10
7519
7520 Example:
7521
7522 -> { "execute": "chardev-send-break", "arguments": { "id" : "foo" } }
7523 <- { "return": {} }
7524
7525 VSERPORT_CHANGE (Event) Emitted when the guest opens or closes a
7526 virtio-serial port.
7527
7528 Arguments:
7529
7530 "id: string"
7531 device identifier of the virtio-serial port
7532
7533 "open: boolean"
7534 true if the guest has opened the virtio-serial port
7535
7536 Since: 2.1
7537
7538 Example:
7539
7540 <- { "event": "VSERPORT_CHANGE",
7541 "data": { "id": "channel0", "open": true },
7542 "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
7543
7544 Net devices
7545 set_link (Command) Sets the link status of a virtual network adapter.
7546
7547 Arguments:
7548
7549 "name: string"
7550 the device name of the virtual network adapter
7551
7552 "up: boolean"
7553 true to set the link status to be up
7554
7555 Returns: Nothing on success If "name" is not a valid network device,
7556 DeviceNotFound
7557
7558 Since: 0.14.0
7559
7560 Notes: Not all network adapters support setting link status. This
7561 command will succeed even if the network adapter does not support link
7562 status notification.
7563
7564 Example:
7565
7566 -> { "execute": "set_link",
7567 "arguments": { "name": "e1000.0", "up": false } }
7568 <- { "return": {} }
7569
7570 netdev_add (Command) Add a network backend.
7571
7572 Arguments:
7573
7574 "type: string"
7575 the type of network backend. Possible values are listed in
7576 NetClientDriver (excluding 'none' and 'nic')
7577
7578 "id: string"
7579 the name of the new network backend
7580
7581 Additional arguments depend on the type.
7582
7583 TODO: This command effectively bypasses QAPI completely due to its
7584 "additional arguments" business. It shouldn't have been added to the
7585 schema in this form. It should be qapified properly, or replaced by a
7586 properly qapified command.
7587
7588 Since: 0.14.0
7589
7590 Returns: Nothing on success If "type" is not a valid network backend,
7591 DeviceNotFound
7592
7593 Example:
7594
7595 -> { "execute": "netdev_add",
7596 "arguments": { "type": "user", "id": "netdev1",
7597 "dnssearch": "example.org" } }
7598 <- { "return": {} }
7599
7600 netdev_del (Command) Remove a network backend.
7601
7602 Arguments:
7603
7604 "id: string"
7605 the name of the network backend to remove
7606
7607 Returns: Nothing on success If "id" is not a valid network backend,
7608 DeviceNotFound
7609
7610 Since: 0.14.0
7611
7612 Example:
7613
7614 -> { "execute": "netdev_del", "arguments": { "id": "netdev1" } }
7615 <- { "return": {} }
7616
7617 NetLegacyNicOptions (Object)
7618
7619 Create a new Network Interface Card.
7620
7621 Members:
7622
7623 "netdev: string" (optional)
7624 id of -netdev to connect to
7625
7626 "macaddr: string" (optional)
7627 MAC address
7628
7629 "model: string" (optional)
7630 device model (e1000, rtl8139, virtio etc.)
7631
7632 "addr: string" (optional)
7633 PCI device address
7634
7635 "vectors: int" (optional)
7636 number of MSI-x vectors, 0 to disable MSI-X
7637
7638 Since: 1.2
7639
7640 NetdevUserOptions (Object)
7641
7642 Use the user mode network stack which requires no administrator
7643 privilege to run.
7644
7645 Members:
7646
7647 "hostname: string" (optional)
7648 client hostname reported by the builtin DHCP server
7649
7650 "restrict: boolean" (optional)
7651 isolate the guest from the host
7652
7653 "ipv4: boolean" (optional)
7654 whether to support IPv4, default true for enabled (since 2.6)
7655
7656 "ipv6: boolean" (optional)
7657 whether to support IPv6, default true for enabled (since 2.6)
7658
7659 "ip: string" (optional)
7660 legacy parameter, use net= instead
7661
7662 "net: string" (optional)
7663 IP network address that the guest will see, in the form
7664 addr[/netmask] The netmask is optional, and can be either in the
7665 form a.b.c.d or as a number of valid top-most bits. Default is
7666 10.0.2.0/24.
7667
7668 "host: string" (optional)
7669 guest-visible address of the host
7670
7671 "tftp: string" (optional)
7672 root directory of the built-in TFTP server
7673
7674 "bootfile: string" (optional)
7675 BOOTP filename, for use with tftp=
7676
7677 "dhcpstart: string" (optional)
7678 the first of the 16 IPs the built-in DHCP server can assign
7679
7680 "dns: string" (optional)
7681 guest-visible address of the virtual nameserver
7682
7683 "dnssearch: array of String" (optional)
7684 list of DNS suffixes to search, passed as DHCP option to the guest
7685
7686 "domainname: string" (optional)
7687 guest-visible domain name of the virtual nameserver (since 3.0)
7688
7689 "ipv6-prefix: string" (optional)
7690 IPv6 network prefix (default is fec0::) (since 2.6). The network
7691 prefix is given in the usual hexadecimal IPv6 address notation.
7692
7693 "ipv6-prefixlen: int" (optional)
7694 IPv6 network prefix length (default is 64) (since 2.6)
7695
7696 "ipv6-host: string" (optional)
7697 guest-visible IPv6 address of the host (since 2.6)
7698
7699 "ipv6-dns: string" (optional)
7700 guest-visible IPv6 address of the virtual nameserver (since 2.6)
7701
7702 "smb: string" (optional)
7703 root directory of the built-in SMB server
7704
7705 "smbserver: string" (optional)
7706 IP address of the built-in SMB server
7707
7708 "hostfwd: array of String" (optional)
7709 redirect incoming TCP or UDP host connections to guest endpoints
7710
7711 "guestfwd: array of String" (optional)
7712 forward guest TCP connections
7713
7714 "tftp-server-name: string" (optional)
7715 RFC2132 "TFTP server name" string (Since 3.1)
7716
7717 Since: 1.2
7718
7719 NetdevTapOptions (Object)
7720
7721 Used to configure a host TAP network interface backend.
7722
7723 Members:
7724
7725 "ifname: string" (optional)
7726 interface name
7727
7728 "fd: string" (optional)
7729 file descriptor of an already opened tap
7730
7731 "fds: string" (optional)
7732 multiple file descriptors of already opened multiqueue capable tap
7733
7734 "script: string" (optional)
7735 script to initialize the interface
7736
7737 "downscript: string" (optional)
7738 script to shut down the interface
7739
7740 "br: string" (optional)
7741 bridge name (since 2.8)
7742
7743 "helper: string" (optional)
7744 command to execute to configure bridge
7745
7746 "sndbuf: int" (optional)
7747 send buffer limit. Understands [TGMKkb] suffixes.
7748
7749 "vnet_hdr: boolean" (optional)
7750 enable the IFF_VNET_HDR flag on the tap interface
7751
7752 "vhost: boolean" (optional)
7753 enable vhost-net network accelerator
7754
7755 "vhostfd: string" (optional)
7756 file descriptor of an already opened vhost net device
7757
7758 "vhostfds: string" (optional)
7759 file descriptors of multiple already opened vhost net devices
7760
7761 "vhostforce: boolean" (optional)
7762 vhost on for non-MSIX virtio guests
7763
7764 "queues: int" (optional)
7765 number of queues to be created for multiqueue capable tap
7766
7767 "poll-us: int" (optional)
7768 maximum number of microseconds that could be spent on busy polling
7769 for tap (since 2.7)
7770
7771 Since: 1.2
7772
7773 NetdevSocketOptions (Object)
7774
7775 Socket netdevs are used to establish a network connection to another
7776 QEMU virtual machine via a TCP socket.
7777
7778 Members:
7779
7780 "fd: string" (optional)
7781 file descriptor of an already opened socket
7782
7783 "listen: string" (optional)
7784 port number, and optional hostname, to listen on
7785
7786 "connect: string" (optional)
7787 port number, and optional hostname, to connect to
7788
7789 "mcast: string" (optional)
7790 UDP multicast address and port number
7791
7792 "localaddr: string" (optional)
7793 source address and port for multicast and udp packets
7794
7795 "udp: string" (optional)
7796 UDP unicast address and port number
7797
7798 Since: 1.2
7799
7800 NetdevL2TPv3Options (Object)
7801
7802 Configure an Ethernet over L2TPv3 tunnel.
7803
7804 Members:
7805
7806 "src: string"
7807 source address
7808
7809 "dst: string"
7810 destination address
7811
7812 "srcport: string" (optional)
7813 source port - mandatory for udp, optional for ip
7814
7815 "dstport: string" (optional)
7816 destination port - mandatory for udp, optional for ip
7817
7818 "ipv6: boolean" (optional)
7819 force the use of ipv6
7820
7821 "udp: boolean" (optional)
7822 use the udp version of l2tpv3 encapsulation
7823
7824 "cookie64: boolean" (optional)
7825 use 64 bit coookies
7826
7827 "counter: boolean" (optional)
7828 have sequence counter
7829
7830 "pincounter: boolean" (optional)
7831 pin sequence counter to zero - workaround for buggy implementations
7832 or networks with packet reorder
7833
7834 "txcookie: int" (optional)
7835 32 or 64 bit transmit cookie
7836
7837 "rxcookie: int" (optional)
7838 32 or 64 bit receive cookie
7839
7840 "txsession: int"
7841 32 bit transmit session
7842
7843 "rxsession: int" (optional)
7844 32 bit receive session - if not specified set to the same value as
7845 transmit
7846
7847 "offset: int" (optional)
7848 additional offset - allows the insertion of additional application-
7849 specific data before the packet payload
7850
7851 Since: 2.1
7852
7853 NetdevVdeOptions (Object)
7854
7855 Connect to a vde switch running on the host.
7856
7857 Members:
7858
7859 "sock: string" (optional)
7860 socket path
7861
7862 "port: int" (optional)
7863 port number
7864
7865 "group: string" (optional)
7866 group owner of socket
7867
7868 "mode: int" (optional)
7869 permissions for socket
7870
7871 Since: 1.2
7872
7873 NetdevBridgeOptions (Object)
7874
7875 Connect a host TAP network interface to a host bridge device.
7876
7877 Members:
7878
7879 "br: string" (optional)
7880 bridge name
7881
7882 "helper: string" (optional)
7883 command to execute to configure bridge
7884
7885 Since: 1.2
7886
7887 NetdevHubPortOptions (Object)
7888
7889 Connect two or more net clients through a software hub.
7890
7891 Members:
7892
7893 "hubid: int"
7894 hub identifier number
7895
7896 "netdev: string" (optional)
7897 used to connect hub to a netdev instead of a device (since 2.12)
7898
7899 Since: 1.2
7900
7901 NetdevNetmapOptions (Object)
7902
7903 Connect a client to a netmap-enabled NIC or to a VALE switch port
7904
7905 Members:
7906
7907 "ifname: string"
7908 Either the name of an existing network interface supported by
7909 netmap, or the name of a VALE port (created on the fly). A VALE
7910 port name is in the form 'valeXXX:YYY', where XXX and YYY are non-
7911 negative integers. XXX identifies a switch and YYY identifies a
7912 port of the switch. VALE ports having the same XXX are therefore
7913 connected to the same switch.
7914
7915 "devname: string" (optional)
7916 path of the netmap device (default: '/dev/netmap').
7917
7918 Since: 2.0
7919
7920 NetdevVhostUserOptions (Object)
7921
7922 Vhost-user network backend
7923
7924 Members:
7925
7926 "chardev: string"
7927 name of a unix socket chardev
7928
7929 "vhostforce: boolean" (optional)
7930 vhost on for non-MSIX virtio guests (default: false).
7931
7932 "queues: int" (optional)
7933 number of queues to be created for multiqueue vhost-user (default:
7934 1) (Since 2.5)
7935
7936 Since: 2.1
7937
7938 NetClientDriver (Enum)
7939
7940 Available netdev drivers.
7941
7942 Values:
7943
7944 "none"
7945 Not documented
7946
7947 "nic"
7948 Not documented
7949
7950 "user"
7951 Not documented
7952
7953 "tap"
7954 Not documented
7955
7956 "l2tpv3"
7957 Not documented
7958
7959 "socket"
7960 Not documented
7961
7962 "vde"
7963 Not documented
7964
7965 "bridge"
7966 Not documented
7967
7968 "hubport"
7969 Not documented
7970
7971 "netmap"
7972 Not documented
7973
7974 "vhost-user"
7975 Not documented
7976
7977 Since: 2.7
7978
7979 'dump': dropped in 2.12
7980
7981 Netdev (Object)
7982
7983 Captures the configuration of a network device.
7984
7985 Members:
7986
7987 "id: string"
7988 identifier for monitor commands.
7989
7990 "type: NetClientDriver"
7991 Specify the driver used for interpreting remaining arguments.
7992
7993 The members of "NetLegacyNicOptions" when "type" is "nic"
7994 The members of "NetdevUserOptions" when "type" is "user"
7995 The members of "NetdevTapOptions" when "type" is "tap"
7996 The members of "NetdevL2TPv3Options" when "type" is "l2tpv3"
7997 The members of "NetdevSocketOptions" when "type" is "socket"
7998 The members of "NetdevVdeOptions" when "type" is "vde"
7999 The members of "NetdevBridgeOptions" when "type" is "bridge"
8000 The members of "NetdevHubPortOptions" when "type" is "hubport"
8001 The members of "NetdevNetmapOptions" when "type" is "netmap"
8002 The members of "NetdevVhostUserOptions" when "type" is "vhost-user"
8003
8004 Since: 1.2
8005
8006 'l2tpv3' - since 2.1
8007
8008 NetLegacy (Object)
8009
8010 Captures the configuration of a network device; legacy.
8011
8012 Members:
8013
8014 "id: string" (optional)
8015 identifier for monitor commands
8016
8017 "name: string" (optional)
8018 identifier for monitor commands, ignored if "id" is present
8019
8020 "opts: NetLegacyOptions"
8021 device type specific properties (legacy)
8022
8023 Since: 1.2
8024
8025 'vlan': dropped in 3.0
8026
8027 NetLegacyOptionsType (Enum)
8028
8029 Values:
8030
8031 "none"
8032 Not documented
8033
8034 "nic"
8035 Not documented
8036
8037 "user"
8038 Not documented
8039
8040 "tap"
8041 Not documented
8042
8043 "l2tpv3"
8044 Not documented
8045
8046 "socket"
8047 Not documented
8048
8049 "vde"
8050 Not documented
8051
8052 "bridge"
8053 Not documented
8054
8055 "netmap"
8056 Not documented
8057
8058 "vhost-user"
8059 Not documented
8060
8061 Since: 1.2
8062
8063 NetLegacyOptions (Object)
8064
8065 Like Netdev, but for use only by the legacy command line options
8066
8067 Members:
8068
8069 "type: NetLegacyOptionsType"
8070 Not documented
8071
8072 The members of "NetLegacyNicOptions" when "type" is "nic"
8073 The members of "NetdevUserOptions" when "type" is "user"
8074 The members of "NetdevTapOptions" when "type" is "tap"
8075 The members of "NetdevL2TPv3Options" when "type" is "l2tpv3"
8076 The members of "NetdevSocketOptions" when "type" is "socket"
8077 The members of "NetdevVdeOptions" when "type" is "vde"
8078 The members of "NetdevBridgeOptions" when "type" is "bridge"
8079 The members of "NetdevNetmapOptions" when "type" is "netmap"
8080 The members of "NetdevVhostUserOptions" when "type" is "vhost-user"
8081
8082 Since: 1.2
8083
8084 NetFilterDirection (Enum)
8085
8086 Indicates whether a netfilter is attached to a netdev's transmit queue
8087 or receive queue or both.
8088
8089 Values:
8090
8091 "all"
8092 the filter is attached both to the receive and the transmit queue
8093 of the netdev (default).
8094
8095 "rx"
8096 the filter is attached to the receive queue of the netdev, where it
8097 will receive packets sent to the netdev.
8098
8099 "tx"
8100 the filter is attached to the transmit queue of the netdev, where
8101 it will receive packets sent by the netdev.
8102
8103 Since: 2.5
8104
8105 RxState (Enum)
8106
8107 Packets receiving state
8108
8109 Values:
8110
8111 "normal"
8112 filter assigned packets according to the mac-table
8113
8114 "none"
8115 don't receive any assigned packet
8116
8117 "all"
8118 receive all assigned packets
8119
8120 Since: 1.6
8121
8122 RxFilterInfo (Object)
8123
8124 Rx-filter information for a NIC.
8125
8126 Members:
8127
8128 "name: string"
8129 net client name
8130
8131 "promiscuous: boolean"
8132 whether promiscuous mode is enabled
8133
8134 "multicast: RxState"
8135 multicast receive state
8136
8137 "unicast: RxState"
8138 unicast receive state
8139
8140 "vlan: RxState"
8141 vlan receive state (Since 2.0)
8142
8143 "broadcast-allowed: boolean"
8144 whether to receive broadcast
8145
8146 "multicast-overflow: boolean"
8147 multicast table is overflowed or not
8148
8149 "unicast-overflow: boolean"
8150 unicast table is overflowed or not
8151
8152 "main-mac: string"
8153 the main macaddr string
8154
8155 "vlan-table: array of int"
8156 a list of active vlan id
8157
8158 "unicast-table: array of string"
8159 a list of unicast macaddr string
8160
8161 "multicast-table: array of string"
8162 a list of multicast macaddr string
8163
8164 Since: 1.6
8165
8166 query-rx-filter (Command) Return rx-filter information for all NICs
8167 (or for the given NIC).
8168
8169 Arguments:
8170
8171 "name: string" (optional)
8172 net client name
8173
8174 Returns: list of "RxFilterInfo" for all NICs (or for the given NIC).
8175 Returns an error if the given "name" doesn't exist, or given NIC
8176 doesn't support rx-filter querying, or given net client isn't a NIC.
8177
8178 Since: 1.6
8179
8180 Example:
8181
8182 -> { "execute": "query-rx-filter", "arguments": { "name": "vnet0" } }
8183 <- { "return": [
8184 {
8185 "promiscuous": true,
8186 "name": "vnet0",
8187 "main-mac": "52:54:00:12:34:56",
8188 "unicast": "normal",
8189 "vlan": "normal",
8190 "vlan-table": [
8191 4,
8192 0
8193 ],
8194 "unicast-table": [
8195 ],
8196 "multicast": "normal",
8197 "multicast-overflow": false,
8198 "unicast-overflow": false,
8199 "multicast-table": [
8200 "01:00:5e:00:00:01",
8201 "33:33:00:00:00:01",
8202 "33:33:ff:12:34:56"
8203 ],
8204 "broadcast-allowed": false
8205 }
8206 ]
8207 }
8208
8209 NIC_RX_FILTER_CHANGED (Event) Emitted once until the 'query-rx-filter'
8210 command is executed, the first event will always be emitted
8211
8212 Arguments:
8213
8214 "name: string" (optional)
8215 net client name
8216
8217 "path: string"
8218 device path
8219
8220 Since: 1.6
8221
8222 Example:
8223
8224 <- { "event": "NIC_RX_FILTER_CHANGED",
8225 "data": { "name": "vnet0",
8226 "path": "/machine/peripheral/vnet0/virtio-backend" },
8227 "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
8228 }
8229
8230 Rocker switch device
8231 RockerSwitch (Object)
8232
8233 Rocker switch information.
8234
8235 Members:
8236
8237 "name: string"
8238 switch name
8239
8240 "id: int"
8241 switch ID
8242
8243 "ports: int"
8244 number of front-panel ports
8245
8246 Since: 2.4
8247
8248 query-rocker (Command) Return rocker switch information.
8249
8250 Arguments:
8251
8252 "name: string"
8253 Not documented
8254
8255 Returns: "Rocker" information
8256
8257 Since: 2.4
8258
8259 Example:
8260
8261 -> { "execute": "query-rocker", "arguments": { "name": "sw1" } }
8262 <- { "return": {"name": "sw1", "ports": 2, "id": 1327446905938}}
8263
8264 RockerPortDuplex (Enum)
8265
8266 An eumeration of port duplex states.
8267
8268 Values:
8269
8270 "half"
8271 half duplex
8272
8273 "full"
8274 full duplex
8275
8276 Since: 2.4
8277
8278 RockerPortAutoneg (Enum)
8279
8280 An eumeration of port autoneg states.
8281
8282 Values:
8283
8284 "off"
8285 autoneg is off
8286
8287 "on"
8288 autoneg is on
8289
8290 Since: 2.4
8291
8292 RockerPort (Object)
8293
8294 Rocker switch port information.
8295
8296 Members:
8297
8298 "name: string"
8299 port name
8300
8301 "enabled: boolean"
8302 port is enabled for I/O
8303
8304 "link-up: boolean"
8305 physical link is UP on port
8306
8307 "speed: int"
8308 port link speed in Mbps
8309
8310 "duplex: RockerPortDuplex"
8311 port link duplex
8312
8313 "autoneg: RockerPortAutoneg"
8314 port link autoneg
8315
8316 Since: 2.4
8317
8318 query-rocker-ports (Command) Return rocker switch port information.
8319
8320 Arguments:
8321
8322 "name: string"
8323 Not documented
8324
8325 Returns: a list of "RockerPort" information
8326
8327 Since: 2.4
8328
8329 Example:
8330
8331 -> { "execute": "query-rocker-ports", "arguments": { "name": "sw1" } }
8332 <- { "return": [ {"duplex": "full", "enabled": true, "name": "sw1.1",
8333 "autoneg": "off", "link-up": true, "speed": 10000},
8334 {"duplex": "full", "enabled": true, "name": "sw1.2",
8335 "autoneg": "off", "link-up": true, "speed": 10000}
8336 ]}
8337
8338 RockerOfDpaFlowKey (Object)
8339
8340 Rocker switch OF-DPA flow key
8341
8342 Members:
8343
8344 "priority: int"
8345 key priority, 0 being lowest priority
8346
8347 "tbl-id: int"
8348 flow table ID
8349
8350 "in-pport: int" (optional)
8351 physical input port
8352
8353 "tunnel-id: int" (optional)
8354 tunnel ID
8355
8356 "vlan-id: int" (optional)
8357 VLAN ID
8358
8359 "eth-type: int" (optional)
8360 Ethernet header type
8361
8362 "eth-src: string" (optional)
8363 Ethernet header source MAC address
8364
8365 "eth-dst: string" (optional)
8366 Ethernet header destination MAC address
8367
8368 "ip-proto: int" (optional)
8369 IP Header protocol field
8370
8371 "ip-tos: int" (optional)
8372 IP header TOS field
8373
8374 "ip-dst: string" (optional)
8375 IP header destination address
8376
8377 Note: optional members may or may not appear in the flow key depending
8378 if they're relevant to the flow key.
8379
8380 Since: 2.4
8381
8382 RockerOfDpaFlowMask (Object)
8383
8384 Rocker switch OF-DPA flow mask
8385
8386 Members:
8387
8388 "in-pport: int" (optional)
8389 physical input port
8390
8391 "tunnel-id: int" (optional)
8392 tunnel ID
8393
8394 "vlan-id: int" (optional)
8395 VLAN ID
8396
8397 "eth-src: string" (optional)
8398 Ethernet header source MAC address
8399
8400 "eth-dst: string" (optional)
8401 Ethernet header destination MAC address
8402
8403 "ip-proto: int" (optional)
8404 IP Header protocol field
8405
8406 "ip-tos: int" (optional)
8407 IP header TOS field
8408
8409 Note: optional members may or may not appear in the flow mask depending
8410 if they're relevant to the flow mask.
8411
8412 Since: 2.4
8413
8414 RockerOfDpaFlowAction (Object)
8415
8416 Rocker switch OF-DPA flow action
8417
8418 Members:
8419
8420 "goto-tbl: int" (optional)
8421 next table ID
8422
8423 "group-id: int" (optional)
8424 group ID
8425
8426 "tunnel-lport: int" (optional)
8427 tunnel logical port ID
8428
8429 "vlan-id: int" (optional)
8430 VLAN ID
8431
8432 "new-vlan-id: int" (optional)
8433 new VLAN ID
8434
8435 "out-pport: int" (optional)
8436 physical output port
8437
8438 Note: optional members may or may not appear in the flow action
8439 depending if they're relevant to the flow action.
8440
8441 Since: 2.4
8442
8443 RockerOfDpaFlow (Object)
8444
8445 Rocker switch OF-DPA flow
8446
8447 Members:
8448
8449 "cookie: int"
8450 flow unique cookie ID
8451
8452 "hits: int"
8453 count of matches (hits) on flow
8454
8455 "key: RockerOfDpaFlowKey"
8456 flow key
8457
8458 "mask: RockerOfDpaFlowMask"
8459 flow mask
8460
8461 "action: RockerOfDpaFlowAction"
8462 flow action
8463
8464 Since: 2.4
8465
8466 query-rocker-of-dpa-flows (Command) Return rocker OF-DPA flow
8467 information.
8468
8469 Arguments:
8470
8471 "name: string"
8472 switch name
8473
8474 "tbl-id: int" (optional)
8475 flow table ID. If tbl-id is not specified, returns flow
8476 information for all tables.
8477
8478 Returns: rocker OF-DPA flow information
8479
8480 Since: 2.4
8481
8482 Example:
8483
8484 -> { "execute": "query-rocker-of-dpa-flows",
8485 "arguments": { "name": "sw1" } }
8486 <- { "return": [ {"key": {"in-pport": 0, "priority": 1, "tbl-id": 0},
8487 "hits": 138,
8488 "cookie": 0,
8489 "action": {"goto-tbl": 10},
8490 "mask": {"in-pport": 4294901760}
8491 },
8492 {...more...},
8493 ]}
8494
8495 RockerOfDpaGroup (Object)
8496
8497 Rocker switch OF-DPA group
8498
8499 Members:
8500
8501 "id: int"
8502 group unique ID
8503
8504 "type: int"
8505 group type
8506
8507 "vlan-id: int" (optional)
8508 VLAN ID
8509
8510 "pport: int" (optional)
8511 physical port number
8512
8513 "index: int" (optional)
8514 group index, unique with group type
8515
8516 "out-pport: int" (optional)
8517 output physical port number
8518
8519 "group-id: int" (optional)
8520 next group ID
8521
8522 "set-vlan-id: int" (optional)
8523 VLAN ID to set
8524
8525 "pop-vlan: int" (optional)
8526 pop VLAN headr from packet
8527
8528 "group-ids: array of int" (optional)
8529 list of next group IDs
8530
8531 "set-eth-src: string" (optional)
8532 set source MAC address in Ethernet header
8533
8534 "set-eth-dst: string" (optional)
8535 set destination MAC address in Ethernet header
8536
8537 "ttl-check: int" (optional)
8538 perform TTL check
8539
8540 Note: optional members may or may not appear in the group depending if
8541 they're relevant to the group type.
8542
8543 Since: 2.4
8544
8545 query-rocker-of-dpa-groups (Command) Return rocker OF-DPA group
8546 information.
8547
8548 Arguments:
8549
8550 "name: string"
8551 switch name
8552
8553 "type: int" (optional)
8554 group type. If type is not specified, returns group information
8555 for all group types.
8556
8557 Returns: rocker OF-DPA group information
8558
8559 Since: 2.4
8560
8561 Example:
8562
8563 -> { "execute": "query-rocker-of-dpa-groups",
8564 "arguments": { "name": "sw1" } }
8565 <- { "return": [ {"type": 0, "out-pport": 2,
8566 "pport": 2, "vlan-id": 3841,
8567 "pop-vlan": 1, "id": 251723778},
8568 {"type": 0, "out-pport": 0,
8569 "pport": 0, "vlan-id": 3841,
8570 "pop-vlan": 1, "id": 251723776},
8571 {"type": 0, "out-pport": 1,
8572 "pport": 1, "vlan-id": 3840,
8573 "pop-vlan": 1, "id": 251658241},
8574 {"type": 0, "out-pport": 0,
8575 "pport": 0, "vlan-id": 3840,
8576 "pop-vlan": 1, "id": 251658240}
8577 ]}
8578
8579 TPM (trusted platform module) devices
8580 TpmModel (Enum)
8581
8582 An enumeration of TPM models
8583
8584 Values:
8585
8586 "tpm-tis"
8587 TPM TIS model
8588
8589 "tpm-crb"
8590 TPM CRB model (since 2.12)
8591
8592 Since: 1.5
8593
8594 query-tpm-models (Command) Return a list of supported TPM models
8595
8596 Returns: a list of TpmModel
8597
8598 Since: 1.5
8599
8600 Example:
8601
8602 -> { "execute": "query-tpm-models" }
8603 <- { "return": [ "tpm-tis", "tpm-crb" ] }
8604
8605 TpmType (Enum)
8606
8607 An enumeration of TPM types
8608
8609 Values:
8610
8611 "passthrough"
8612 TPM passthrough type
8613
8614 "emulator"
8615 Software Emulator TPM type Since: 2.11
8616
8617 Since: 1.5
8618
8619 query-tpm-types (Command) Return a list of supported TPM types
8620
8621 Returns: a list of TpmType
8622
8623 Since: 1.5
8624
8625 Example:
8626
8627 -> { "execute": "query-tpm-types" }
8628 <- { "return": [ "passthrough", "emulator" ] }
8629
8630 TPMPassthroughOptions (Object)
8631
8632 Information about the TPM passthrough type
8633
8634 Members:
8635
8636 "path: string" (optional)
8637 string describing the path used for accessing the TPM device
8638
8639 "cancel-path: string" (optional)
8640 string showing the TPM's sysfs cancel file for cancellation of TPM
8641 commands while they are executing
8642
8643 Since: 1.5
8644
8645 TPMEmulatorOptions (Object)
8646
8647 Information about the TPM emulator type
8648
8649 Members:
8650
8651 "chardev: string"
8652 Name of a unix socket chardev
8653
8654 Since: 2.11
8655
8656 TpmTypeOptions (Object)
8657
8658 A union referencing different TPM backend types' configuration options
8659
8660 Members:
8661
8662 "type"
8663 'passthrough' The configuration options for the TPM passthrough
8664 type 'emulator' The configuration options for TPM emulator backend
8665 type
8666
8667 "data: TPMPassthroughOptions" when "type" is "passthrough"
8668 "data: TPMEmulatorOptions" when "type" is "emulator"
8669
8670 Since: 1.5
8671
8672 TPMInfo (Object)
8673
8674 Information about the TPM
8675
8676 Members:
8677
8678 "id: string"
8679 The Id of the TPM
8680
8681 "model: TpmModel"
8682 The TPM frontend model
8683
8684 "options: TpmTypeOptions"
8685 The TPM (backend) type configuration options
8686
8687 Since: 1.5
8688
8689 query-tpm (Command) Return information about the TPM device
8690
8691 Returns: "TPMInfo" on success
8692
8693 Since: 1.5
8694
8695 Example:
8696
8697 -> { "execute": "query-tpm" }
8698 <- { "return":
8699 [
8700 { "model": "tpm-tis",
8701 "options":
8702 { "type": "passthrough",
8703 "data":
8704 { "cancel-path": "/sys/class/misc/tpm0/device/cancel",
8705 "path": "/dev/tpm0"
8706 }
8707 },
8708 "id": "tpm0"
8709 }
8710 ]
8711 }
8712
8713 Remote desktop
8714 set_password (Command) Sets the password of a remote display session.
8715
8716 Arguments:
8717
8718 "protocol: string"
8719 `vnc' to modify the VNC server password `spice' to modify the Spice
8720 server password
8721
8722 "password: string"
8723 the new password
8724
8725 "connected: string" (optional)
8726 how to handle existing clients when changing the password. If
8727 nothing is specified, defaults to `keep' `fail' to fail the command
8728 if clients are connected `disconnect' to disconnect existing
8729 clients `keep' to maintain existing clients
8730
8731 Returns: Nothing on success If Spice is not enabled, DeviceNotFound
8732
8733 Since: 0.14.0
8734
8735 Example:
8736
8737 -> { "execute": "set_password", "arguments": { "protocol": "vnc",
8738 "password": "secret" } }
8739 <- { "return": {} }
8740
8741 expire_password (Command) Expire the password of a remote display
8742 server.
8743
8744 Arguments:
8745
8746 "protocol: string"
8747 the name of the remote display protocol `vnc' or `spice'
8748
8749 "time: string"
8750 when to expire the password. `now' to expire the password
8751 immediately `never' to cancel password expiration `+INT' where INT
8752 is the number of seconds from now (integer) `INT' where INT is the
8753 absolute time in seconds
8754
8755 Returns: Nothing on success If "protocol" is `spice' and Spice is not
8756 active, DeviceNotFound
8757
8758 Since: 0.14.0
8759
8760 Notes: Time is relative to the server and currently there is no way to
8761 coordinate server time with client time. It is not recommended to use
8762 the absolute time version of the "time" parameter unless you're sure
8763 you are on the same machine as the QEMU instance.
8764
8765 Example:
8766
8767 -> { "execute": "expire_password", "arguments": { "protocol": "vnc",
8768 "time": "+60" } }
8769 <- { "return": {} }
8770
8771 screendump (Command) Write a PPM of the VGA screen to a file.
8772
8773 Arguments:
8774
8775 "filename: string"
8776 the path of a new PPM file to store the image
8777
8778 "device: string" (optional)
8779 ID of the display device that should be dumped. If this parameter
8780 is missing, the primary display will be used. (Since 2.12)
8781
8782 "head: int" (optional)
8783 head to use in case the device supports multiple heads. If this
8784 parameter is missing, head #0 will be used. Also note that the head
8785 can only be specified in conjunction with the device ID. (Since
8786 2.12)
8787
8788 Returns: Nothing on success
8789
8790 Since: 0.14.0
8791
8792 Example:
8793
8794 -> { "execute": "screendump",
8795 "arguments": { "filename": "/tmp/image" } }
8796 <- { "return": {} }
8797
8798 Spice
8799
8800 SpiceBasicInfo (Object)
8801
8802 The basic information for SPICE network connection
8803
8804 Members:
8805
8806 "host: string"
8807 IP address
8808
8809 "port: string"
8810 port number
8811
8812 "family: NetworkAddressFamily"
8813 address family
8814
8815 Since: 2.1
8816
8817 If: "defined(CONFIG_SPICE)"
8818
8819 SpiceServerInfo (Object)
8820
8821 Information about a SPICE server
8822
8823 Members:
8824
8825 "auth: string" (optional)
8826 authentication method
8827
8828 The members of "SpiceBasicInfo"
8829
8830 Since: 2.1
8831
8832 If: "defined(CONFIG_SPICE)"
8833
8834 SpiceChannel (Object)
8835
8836 Information about a SPICE client channel.
8837
8838 Members:
8839
8840 "connection-id: int"
8841 SPICE connection id number. All channels with the same id belong
8842 to the same SPICE session.
8843
8844 "channel-type: int"
8845 SPICE channel type number. "1" is the main control channel, filter
8846 for this one if you want to track spice sessions only
8847
8848 "channel-id: int"
8849 SPICE channel ID number. Usually "0", might be different when
8850 multiple channels of the same type exist, such as multiple display
8851 channels in a multihead setup
8852
8853 "tls: boolean"
8854 true if the channel is encrypted, false otherwise.
8855
8856 The members of "SpiceBasicInfo"
8857
8858 Since: 0.14.0
8859
8860 If: "defined(CONFIG_SPICE)"
8861
8862 SpiceQueryMouseMode (Enum)
8863
8864 An enumeration of Spice mouse states.
8865
8866 Values:
8867
8868 "client"
8869 Mouse cursor position is determined by the client.
8870
8871 "server"
8872 Mouse cursor position is determined by the server.
8873
8874 "unknown"
8875 No information is available about mouse mode used by the spice
8876 server.
8877
8878 Note: spice/enums.h has a SpiceMouseMode already, hence the name.
8879
8880 Since: 1.1
8881
8882 If: "defined(CONFIG_SPICE)"
8883
8884 SpiceInfo (Object)
8885
8886 Information about the SPICE session.
8887
8888 Members:
8889
8890 "enabled: boolean"
8891 true if the SPICE server is enabled, false otherwise
8892
8893 "migrated: boolean"
8894 true if the last guest migration completed and spice migration had
8895 completed as well. false otherwise. (since 1.4)
8896
8897 "host: string" (optional)
8898 The hostname the SPICE server is bound to. This depends on the
8899 name resolution on the host and may be an IP address.
8900
8901 "port: int" (optional)
8902 The SPICE server's port number.
8903
8904 "compiled-version: string" (optional)
8905 SPICE server version.
8906
8907 "tls-port: int" (optional)
8908 The SPICE server's TLS port number.
8909
8910 "auth: string" (optional)
8911 the current authentication type used by the server 'none' if no
8912 authentication is being used 'spice' uses SASL or direct TLS
8913 authentication, depending on command line options
8914
8915 "mouse-mode: SpiceQueryMouseMode"
8916 The mode in which the mouse cursor is displayed currently. Can be
8917 determined by the client or the server, or unknown if spice server
8918 doesn't provide this information. (since: 1.1)
8919
8920 "channels: array of SpiceChannel" (optional)
8921 a list of "SpiceChannel" for each active spice channel
8922
8923 Since: 0.14.0
8924
8925 If: "defined(CONFIG_SPICE)"
8926
8927 query-spice (Command) Returns information about the current SPICE
8928 server
8929
8930 Returns: "SpiceInfo"
8931
8932 Since: 0.14.0
8933
8934 Example:
8935
8936 -> { "execute": "query-spice" }
8937 <- { "return": {
8938 "enabled": true,
8939 "auth": "spice",
8940 "port": 5920,
8941 "tls-port": 5921,
8942 "host": "0.0.0.0",
8943 "channels": [
8944 {
8945 "port": "54924",
8946 "family": "ipv4",
8947 "channel-type": 1,
8948 "connection-id": 1804289383,
8949 "host": "127.0.0.1",
8950 "channel-id": 0,
8951 "tls": true
8952 },
8953 {
8954 "port": "36710",
8955 "family": "ipv4",
8956 "channel-type": 4,
8957 "connection-id": 1804289383,
8958 "host": "127.0.0.1",
8959 "channel-id": 0,
8960 "tls": false
8961 },
8962 [ ... more channels follow ... ]
8963 ]
8964 }
8965 }
8966
8967 If: "defined(CONFIG_SPICE)"
8968
8969 SPICE_CONNECTED (Event) Emitted when a SPICE client establishes a
8970 connection
8971
8972 Arguments:
8973
8974 "server: SpiceBasicInfo"
8975 server information
8976
8977 "client: SpiceBasicInfo"
8978 client information
8979
8980 Since: 0.14.0
8981
8982 Example:
8983
8984 <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
8985 "event": "SPICE_CONNECTED",
8986 "data": {
8987 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
8988 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
8989 }}
8990
8991 If: "defined(CONFIG_SPICE)"
8992
8993 SPICE_INITIALIZED (Event) Emitted after initial handshake and
8994 authentication takes place (if any) and the SPICE channel is up and
8995 running
8996
8997 Arguments:
8998
8999 "server: SpiceServerInfo"
9000 server information
9001
9002 "client: SpiceChannel"
9003 client information
9004
9005 Since: 0.14.0
9006
9007 Example:
9008
9009 <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
9010 "event": "SPICE_INITIALIZED",
9011 "data": {"server": {"auth": "spice", "port": "5921",
9012 "family": "ipv4", "host": "127.0.0.1"},
9013 "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
9014 "connection-id": 1804289383, "host": "127.0.0.1",
9015 "channel-id": 0, "tls": true}
9016 }}
9017
9018 If: "defined(CONFIG_SPICE)"
9019
9020 SPICE_DISCONNECTED (Event) Emitted when the SPICE connection is closed
9021
9022 Arguments:
9023
9024 "server: SpiceBasicInfo"
9025 server information
9026
9027 "client: SpiceBasicInfo"
9028 client information
9029
9030 Since: 0.14.0
9031
9032 Example:
9033
9034 <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
9035 "event": "SPICE_DISCONNECTED",
9036 "data": {
9037 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
9038 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
9039 }}
9040
9041 If: "defined(CONFIG_SPICE)"
9042
9043 SPICE_MIGRATE_COMPLETED (Event) Emitted when SPICE migration has
9044 completed
9045
9046 Since: 1.3
9047
9048 Example:
9049
9050 <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
9051 "event": "SPICE_MIGRATE_COMPLETED" }
9052
9053 If: "defined(CONFIG_SPICE)"
9054
9055 VNC
9056
9057 VncBasicInfo (Object)
9058
9059 The basic information for vnc network connection
9060
9061 Members:
9062
9063 "host: string"
9064 IP address
9065
9066 "service: string"
9067 The service name of the vnc port. This may depend on the host
9068 system's service database so symbolic names should not be relied
9069 on.
9070
9071 "family: NetworkAddressFamily"
9072 address family
9073
9074 "websocket: boolean"
9075 true in case the socket is a websocket (since 2.3).
9076
9077 Since: 2.1
9078
9079 If: "defined(CONFIG_VNC)"
9080
9081 VncServerInfo (Object)
9082
9083 The network connection information for server
9084
9085 Members:
9086
9087 "auth: string" (optional)
9088 authentication method used for the plain (non-websocket) VNC server
9089
9090 The members of "VncBasicInfo"
9091
9092 Since: 2.1
9093
9094 If: "defined(CONFIG_VNC)"
9095
9096 VncClientInfo (Object)
9097
9098 Information about a connected VNC client.
9099
9100 Members:
9101
9102 "x509_dname: string" (optional)
9103 If x509 authentication is in use, the Distinguished Name of the
9104 client.
9105
9106 "sasl_username: string" (optional)
9107 If SASL authentication is in use, the SASL username used for
9108 authentication.
9109
9110 The members of "VncBasicInfo"
9111
9112 Since: 0.14.0
9113
9114 If: "defined(CONFIG_VNC)"
9115
9116 VncInfo (Object)
9117
9118 Information about the VNC session.
9119
9120 Members:
9121
9122 "enabled: boolean"
9123 true if the VNC server is enabled, false otherwise
9124
9125 "host: string" (optional)
9126 The hostname the VNC server is bound to. This depends on the name
9127 resolution on the host and may be an IP address.
9128
9129 "family: NetworkAddressFamily" (optional)
9130 'ipv6' if the host is listening for IPv6 connections 'ipv4' if the
9131 host is listening for IPv4 connections 'unix' if the host is
9132 listening on a unix domain socket 'unknown' otherwise
9133
9134 "service: string" (optional)
9135 The service name of the server's port. This may depends on the
9136 host system's service database so symbolic names should not be
9137 relied on.
9138
9139 "auth: string" (optional)
9140 the current authentication type used by the server 'none' if no
9141 authentication is being used 'vnc' if VNC authentication is being
9142 used 'vencrypt+plain' if VEncrypt is used with plain text
9143 authentication 'vencrypt+tls+none' if VEncrypt is used with TLS and
9144 no authentication 'vencrypt+tls+vnc' if VEncrypt is used with TLS
9145 and VNC authentication 'vencrypt+tls+plain' if VEncrypt is used
9146 with TLS and plain text auth 'vencrypt+x509+none' if VEncrypt is
9147 used with x509 and no auth 'vencrypt+x509+vnc' if VEncrypt is used
9148 with x509 and VNC auth 'vencrypt+x509+plain' if VEncrypt is used
9149 with x509 and plain text auth 'vencrypt+tls+sasl' if VEncrypt is
9150 used with TLS and SASL auth 'vencrypt+x509+sasl' if VEncrypt is
9151 used with x509 and SASL auth
9152
9153 "clients: array of VncClientInfo" (optional)
9154 a list of "VncClientInfo" of all currently connected clients
9155
9156 Since: 0.14.0
9157
9158 If: "defined(CONFIG_VNC)"
9159
9160 VncPrimaryAuth (Enum)
9161
9162 vnc primary authentication method.
9163
9164 Values:
9165
9166 "none"
9167 Not documented
9168
9169 "vnc"
9170 Not documented
9171
9172 "ra2"
9173 Not documented
9174
9175 "ra2ne"
9176 Not documented
9177
9178 "tight"
9179 Not documented
9180
9181 "ultra"
9182 Not documented
9183
9184 "tls"
9185 Not documented
9186
9187 "vencrypt"
9188 Not documented
9189
9190 "sasl"
9191 Not documented
9192
9193 Since: 2.3
9194
9195 If: "defined(CONFIG_VNC)"
9196
9197 VncVencryptSubAuth (Enum)
9198
9199 vnc sub authentication method with vencrypt.
9200
9201 Values:
9202
9203 "plain"
9204 Not documented
9205
9206 "tls-none"
9207 Not documented
9208
9209 "x509-none"
9210 Not documented
9211
9212 "tls-vnc"
9213 Not documented
9214
9215 "x509-vnc"
9216 Not documented
9217
9218 "tls-plain"
9219 Not documented
9220
9221 "x509-plain"
9222 Not documented
9223
9224 "tls-sasl"
9225 Not documented
9226
9227 "x509-sasl"
9228 Not documented
9229
9230 Since: 2.3
9231
9232 If: "defined(CONFIG_VNC)"
9233
9234 VncServerInfo2 (Object)
9235
9236 The network connection information for server
9237
9238 Members:
9239
9240 "auth: VncPrimaryAuth"
9241 The current authentication type used by the servers
9242
9243 "vencrypt: VncVencryptSubAuth" (optional)
9244 The vencrypt sub authentication type used by the servers, only
9245 specified in case auth == vencrypt.
9246
9247 The members of "VncBasicInfo"
9248
9249 Since: 2.9
9250
9251 If: "defined(CONFIG_VNC)"
9252
9253 VncInfo2 (Object)
9254
9255 Information about a vnc server
9256
9257 Members:
9258
9259 "id: string"
9260 vnc server name.
9261
9262 "server: array of VncServerInfo2"
9263 A list of "VncBasincInfo" describing all listening sockets. The
9264 list can be empty (in case the vnc server is disabled). It also
9265 may have multiple entries: normal + websocket, possibly also ipv4 +
9266 ipv6 in the future.
9267
9268 "clients: array of VncClientInfo"
9269 A list of "VncClientInfo" of all currently connected clients. The
9270 list can be empty, for obvious reasons.
9271
9272 "auth: VncPrimaryAuth"
9273 The current authentication type used by the non-websockets servers
9274
9275 "vencrypt: VncVencryptSubAuth" (optional)
9276 The vencrypt authentication type used by the servers, only
9277 specified in case auth == vencrypt.
9278
9279 "display: string" (optional)
9280 The display device the vnc server is linked to.
9281
9282 Since: 2.3
9283
9284 If: "defined(CONFIG_VNC)"
9285
9286 query-vnc (Command) Returns information about the current VNC server
9287
9288 Returns: "VncInfo"
9289
9290 Since: 0.14.0
9291
9292 Example:
9293
9294 -> { "execute": "query-vnc" }
9295 <- { "return": {
9296 "enabled":true,
9297 "host":"0.0.0.0",
9298 "service":"50402",
9299 "auth":"vnc",
9300 "family":"ipv4",
9301 "clients":[
9302 {
9303 "host":"127.0.0.1",
9304 "service":"50401",
9305 "family":"ipv4"
9306 }
9307 ]
9308 }
9309 }
9310
9311 If: "defined(CONFIG_VNC)"
9312
9313 query-vnc-servers (Command) Returns a list of vnc servers. The list
9314 can be empty.
9315
9316 Returns: a list of "VncInfo2"
9317
9318 Since: 2.3
9319
9320 If: "defined(CONFIG_VNC)"
9321
9322 change-vnc-password (Command) Change the VNC server password.
9323
9324 Arguments:
9325
9326 "password: string"
9327 the new password to use with VNC authentication
9328
9329 Since: 1.1
9330
9331 Notes: An empty password in this command will set the password to the
9332 empty string. Existing clients are unaffected by executing this
9333 command.
9334
9335 If: "defined(CONFIG_VNC)"
9336
9337 VNC_CONNECTED (Event) Emitted when a VNC client establishes a
9338 connection
9339
9340 Arguments:
9341
9342 "server: VncServerInfo"
9343 server information
9344
9345 "client: VncBasicInfo"
9346 client information
9347
9348 Note: This event is emitted before any authentication takes place, thus
9349 the authentication ID is not provided
9350
9351 Since: 0.13.0
9352
9353 Example:
9354
9355 <- { "event": "VNC_CONNECTED",
9356 "data": {
9357 "server": { "auth": "sasl", "family": "ipv4",
9358 "service": "5901", "host": "0.0.0.0" },
9359 "client": { "family": "ipv4", "service": "58425",
9360 "host": "127.0.0.1" } },
9361 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
9362
9363 If: "defined(CONFIG_VNC)"
9364
9365 VNC_INITIALIZED (Event) Emitted after authentication takes place (if
9366 any) and the VNC session is made active
9367
9368 Arguments:
9369
9370 "server: VncServerInfo"
9371 server information
9372
9373 "client: VncClientInfo"
9374 client information
9375
9376 Since: 0.13.0
9377
9378 Example:
9379
9380 <- { "event": "VNC_INITIALIZED",
9381 "data": {
9382 "server": { "auth": "sasl", "family": "ipv4",
9383 "service": "5901", "host": "0.0.0.0"},
9384 "client": { "family": "ipv4", "service": "46089",
9385 "host": "127.0.0.1", "sasl_username": "luiz" } },
9386 "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
9387
9388 If: "defined(CONFIG_VNC)"
9389
9390 VNC_DISCONNECTED (Event) Emitted when the connection is closed
9391
9392 Arguments:
9393
9394 "server: VncServerInfo"
9395 server information
9396
9397 "client: VncClientInfo"
9398 client information
9399
9400 Since: 0.13.0
9401
9402 Example:
9403
9404 <- { "event": "VNC_DISCONNECTED",
9405 "data": {
9406 "server": { "auth": "sasl", "family": "ipv4",
9407 "service": "5901", "host": "0.0.0.0" },
9408 "client": { "family": "ipv4", "service": "58425",
9409 "host": "127.0.0.1", "sasl_username": "luiz" } },
9410 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
9411
9412 If: "defined(CONFIG_VNC)"
9413
9414 Input
9415 MouseInfo (Object)
9416
9417 Information about a mouse device.
9418
9419 Members:
9420
9421 "name: string"
9422 the name of the mouse device
9423
9424 "index: int"
9425 the index of the mouse device
9426
9427 "current: boolean"
9428 true if this device is currently receiving mouse events
9429
9430 "absolute: boolean"
9431 true if this device supports absolute coordinates as input
9432
9433 Since: 0.14.0
9434
9435 query-mice (Command) Returns information about each active mouse
9436 device
9437
9438 Returns: a list of "MouseInfo" for each device
9439
9440 Since: 0.14.0
9441
9442 Example:
9443
9444 -> { "execute": "query-mice" }
9445 <- { "return": [
9446 {
9447 "name":"QEMU Microsoft Mouse",
9448 "index":0,
9449 "current":false,
9450 "absolute":false
9451 },
9452 {
9453 "name":"QEMU PS/2 Mouse",
9454 "index":1,
9455 "current":true,
9456 "absolute":true
9457 }
9458 ]
9459 }
9460
9461 QKeyCode (Enum)
9462
9463 An enumeration of key name.
9464
9465 This is used by the "send-key" command.
9466
9467 Values:
9468
9469 "unmapped"
9470 since 2.0
9471
9472 "pause"
9473 since 2.0
9474
9475 "ro"
9476 since 2.4
9477
9478 "kp_comma"
9479 since 2.4
9480
9481 "kp_equals"
9482 since 2.6
9483
9484 "power"
9485 since 2.6
9486
9487 "hiragana"
9488 since 2.9
9489
9490 "henkan"
9491 since 2.9
9492
9493 "yen"
9494 since 2.9
9495
9496 "sleep"
9497 since 2.10
9498
9499 "wake"
9500 since 2.10
9501
9502 "audionext"
9503 since 2.10
9504
9505 "audioprev"
9506 since 2.10
9507
9508 "audiostop"
9509 since 2.10
9510
9511 "audioplay"
9512 since 2.10
9513
9514 "audiomute"
9515 since 2.10
9516
9517 "volumeup"
9518 since 2.10
9519
9520 "volumedown"
9521 since 2.10
9522
9523 "mediaselect"
9524 since 2.10
9525
9526 "mail"
9527 since 2.10
9528
9529 "calculator"
9530 since 2.10
9531
9532 "computer"
9533 since 2.10
9534
9535 "ac_home"
9536 since 2.10
9537
9538 "ac_back"
9539 since 2.10
9540
9541 "ac_forward"
9542 since 2.10
9543
9544 "ac_refresh"
9545 since 2.10
9546
9547 "ac_bookmarks"
9548 since 2.10 altgr, altgr_r: dropped in 2.10
9549
9550 "muhenkan"
9551 since 2.12
9552
9553 "katakanahiragana"
9554 since 2.12
9555
9556 "shift"
9557 Not documented
9558
9559 "shift_r"
9560 Not documented
9561
9562 "alt"
9563 Not documented
9564
9565 "alt_r"
9566 Not documented
9567
9568 "ctrl"
9569 Not documented
9570
9571 "ctrl_r"
9572 Not documented
9573
9574 "menu"
9575 Not documented
9576
9577 "esc"
9578 Not documented
9579
9580 1 Not documented
9581
9582 2 Not documented
9583
9584 3 Not documented
9585
9586 4 Not documented
9587
9588 5 Not documented
9589
9590 6 Not documented
9591
9592 7 Not documented
9593
9594 8 Not documented
9595
9596 9 Not documented
9597
9598 0 Not documented
9599
9600 "minus"
9601 Not documented
9602
9603 "equal"
9604 Not documented
9605
9606 "backspace"
9607 Not documented
9608
9609 "tab"
9610 Not documented
9611
9612 "q" Not documented
9613
9614 "w" Not documented
9615
9616 "e" Not documented
9617
9618 "r" Not documented
9619
9620 "t" Not documented
9621
9622 "y" Not documented
9623
9624 "u" Not documented
9625
9626 "i" Not documented
9627
9628 "o" Not documented
9629
9630 "p" Not documented
9631
9632 "bracket_left"
9633 Not documented
9634
9635 "bracket_right"
9636 Not documented
9637
9638 "ret"
9639 Not documented
9640
9641 "a" Not documented
9642
9643 "s" Not documented
9644
9645 "d" Not documented
9646
9647 "f" Not documented
9648
9649 "g" Not documented
9650
9651 "h" Not documented
9652
9653 "j" Not documented
9654
9655 "k" Not documented
9656
9657 "l" Not documented
9658
9659 "semicolon"
9660 Not documented
9661
9662 "apostrophe"
9663 Not documented
9664
9665 "grave_accent"
9666 Not documented
9667
9668 "backslash"
9669 Not documented
9670
9671 "z" Not documented
9672
9673 "x" Not documented
9674
9675 "c" Not documented
9676
9677 "v" Not documented
9678
9679 "b" Not documented
9680
9681 "n" Not documented
9682
9683 "m" Not documented
9684
9685 "comma"
9686 Not documented
9687
9688 "dot"
9689 Not documented
9690
9691 "slash"
9692 Not documented
9693
9694 "asterisk"
9695 Not documented
9696
9697 "spc"
9698 Not documented
9699
9700 "caps_lock"
9701 Not documented
9702
9703 "f1"
9704 Not documented
9705
9706 "f2"
9707 Not documented
9708
9709 "f3"
9710 Not documented
9711
9712 "f4"
9713 Not documented
9714
9715 "f5"
9716 Not documented
9717
9718 "f6"
9719 Not documented
9720
9721 "f7"
9722 Not documented
9723
9724 "f8"
9725 Not documented
9726
9727 "f9"
9728 Not documented
9729
9730 "f10"
9731 Not documented
9732
9733 "num_lock"
9734 Not documented
9735
9736 "scroll_lock"
9737 Not documented
9738
9739 "kp_divide"
9740 Not documented
9741
9742 "kp_multiply"
9743 Not documented
9744
9745 "kp_subtract"
9746 Not documented
9747
9748 "kp_add"
9749 Not documented
9750
9751 "kp_enter"
9752 Not documented
9753
9754 "kp_decimal"
9755 Not documented
9756
9757 "sysrq"
9758 Not documented
9759
9760 "kp_0"
9761 Not documented
9762
9763 "kp_1"
9764 Not documented
9765
9766 "kp_2"
9767 Not documented
9768
9769 "kp_3"
9770 Not documented
9771
9772 "kp_4"
9773 Not documented
9774
9775 "kp_5"
9776 Not documented
9777
9778 "kp_6"
9779 Not documented
9780
9781 "kp_7"
9782 Not documented
9783
9784 "kp_8"
9785 Not documented
9786
9787 "kp_9"
9788 Not documented
9789
9790 "less"
9791 Not documented
9792
9793 "f11"
9794 Not documented
9795
9796 "f12"
9797 Not documented
9798
9799 "print"
9800 Not documented
9801
9802 "home"
9803 Not documented
9804
9805 "pgup"
9806 Not documented
9807
9808 "pgdn"
9809 Not documented
9810
9811 "end"
9812 Not documented
9813
9814 "left"
9815 Not documented
9816
9817 "up"
9818 Not documented
9819
9820 "down"
9821 Not documented
9822
9823 "right"
9824 Not documented
9825
9826 "insert"
9827 Not documented
9828
9829 "delete"
9830 Not documented
9831
9832 "stop"
9833 Not documented
9834
9835 "again"
9836 Not documented
9837
9838 "props"
9839 Not documented
9840
9841 "undo"
9842 Not documented
9843
9844 "front"
9845 Not documented
9846
9847 "copy"
9848 Not documented
9849
9850 "open"
9851 Not documented
9852
9853 "paste"
9854 Not documented
9855
9856 "find"
9857 Not documented
9858
9859 "cut"
9860 Not documented
9861
9862 "lf"
9863 Not documented
9864
9865 "help"
9866 Not documented
9867
9868 "meta_l"
9869 Not documented
9870
9871 "meta_r"
9872 Not documented
9873
9874 "compose"
9875 Not documented
9876
9877 'sysrq' was mistakenly added to hack around the fact that the ps2
9878 driver was not generating correct scancodes sequences when 'alt+print'
9879 was pressed. This flaw is now fixed and the 'sysrq' key serves no
9880 further purpose. Any further use of 'sysrq' will be transparently
9881 changed to 'print', so they are effectively synonyms.
9882
9883 Since: 1.3.0
9884
9885 KeyValue (Object)
9886
9887 Represents a keyboard key.
9888
9889 Members:
9890
9891 "type"
9892 One of "number", "qcode"
9893
9894 "data: int" when "type" is "number"
9895 "data: QKeyCode" when "type" is "qcode"
9896
9897 Since: 1.3.0
9898
9899 send-key (Command) Send keys to guest.
9900
9901 Arguments:
9902
9903 "keys: array of KeyValue"
9904 An array of "KeyValue" elements. All "KeyValues" in this array are
9905 simultaneously sent to the guest. A "KeyValue".number value is sent
9906 directly to the guest, while "KeyValue".qcode must be a valid
9907 "QKeyCode" value
9908
9909 "hold-time: int" (optional)
9910 time to delay key up events, milliseconds. Defaults to 100
9911
9912 Returns: Nothing on success If key is unknown or redundant,
9913 InvalidParameter
9914
9915 Since: 1.3.0
9916
9917 Example:
9918
9919 -> { "execute": "send-key",
9920 "arguments": { "keys": [ { "type": "qcode", "data": "ctrl" },
9921 { "type": "qcode", "data": "alt" },
9922 { "type": "qcode", "data": "delete" } ] } }
9923 <- { "return": {} }
9924
9925 InputButton (Enum)
9926
9927 Button of a pointer input device (mouse, tablet).
9928
9929 Values:
9930
9931 "side"
9932 front side button of a 5-button mouse (since 2.9)
9933
9934 "extra"
9935 rear side button of a 5-button mouse (since 2.9)
9936
9937 "left"
9938 Not documented
9939
9940 "middle"
9941 Not documented
9942
9943 "right"
9944 Not documented
9945
9946 "wheel-up"
9947 Not documented
9948
9949 "wheel-down"
9950 Not documented
9951
9952 Since: 2.0
9953
9954 InputAxis (Enum)
9955
9956 Position axis of a pointer input device (mouse, tablet).
9957
9958 Values:
9959
9960 "x" Not documented
9961
9962 "y" Not documented
9963
9964 Since: 2.0
9965
9966 InputKeyEvent (Object)
9967
9968 Keyboard input event.
9969
9970 Members:
9971
9972 "key: KeyValue"
9973 Which key this event is for.
9974
9975 "down: boolean"
9976 True for key-down and false for key-up events.
9977
9978 Since: 2.0
9979
9980 InputBtnEvent (Object)
9981
9982 Pointer button input event.
9983
9984 Members:
9985
9986 "button: InputButton"
9987 Which button this event is for.
9988
9989 "down: boolean"
9990 True for key-down and false for key-up events.
9991
9992 Since: 2.0
9993
9994 InputMoveEvent (Object)
9995
9996 Pointer motion input event.
9997
9998 Members:
9999
10000 "axis: InputAxis"
10001 Which axis is referenced by "value".
10002
10003 "value: int"
10004 Pointer position. For absolute coordinates the valid range is 0 ->
10005 0x7ffff
10006
10007 Since: 2.0
10008
10009 InputEvent (Object)
10010
10011 Input event union.
10012
10013 Members:
10014
10015 "type"
10016 the input type, one of:
10017
10018 - 'key': Input event of Keyboard
10019
10020 - 'btn': Input event of pointer buttons
10021
10022 - 'rel': Input event of relative pointer motion
10023
10024 - 'abs': Input event of absolute pointer motion
10025
10026 "data: InputKeyEvent" when "type" is "key"
10027 "data: InputBtnEvent" when "type" is "btn"
10028 "data: InputMoveEvent" when "type" is "rel"
10029 "data: InputMoveEvent" when "type" is "abs"
10030
10031 Since: 2.0
10032
10033 input-send-event (Command) Send input event(s) to guest.
10034
10035 Arguments:
10036
10037 "device: string" (optional)
10038 display device to send event(s) to.
10039
10040 "head: int" (optional)
10041 head to send event(s) to, in case the display device supports
10042 multiple scanouts.
10043
10044 "events: array of InputEvent"
10045 List of InputEvent union.
10046
10047 Returns: Nothing on success.
10048
10049 The "device" and "head" parameters can be used to send the input event
10050 to specific input devices in case (a) multiple input devices of the
10051 same kind are added to the virtual machine and (b) you have configured
10052 input routing (see docs/multiseat.txt) for those input devices. The
10053 parameters work exactly like the device and head properties of input
10054 devices. If "device" is missing, only devices that have no input
10055 routing config are admissible. If "device" is specified, both input
10056 devices with and without input routing config are admissible, but
10057 devices with input routing config take precedence.
10058
10059 Since: 2.6
10060
10061 Note: The consoles are visible in the qom tree, under
10062 /backend/console[$index]. They have a device link and head property, so
10063 it is possible to map which console belongs to which device and
10064 display.
10065
10066 Example:
10067
10068 1. Press left mouse button.
10069
10070 -> { "execute": "input-send-event",
10071 "arguments": { "device": "video0",
10072 "events": [ { "type": "btn",
10073 "data" : { "down": true, "button": "left" } } ] } }
10074 <- { "return": {} }
10075
10076 -> { "execute": "input-send-event",
10077 "arguments": { "device": "video0",
10078 "events": [ { "type": "btn",
10079 "data" : { "down": false, "button": "left" } } ] } }
10080 <- { "return": {} }
10081
10082 2. Press ctrl-alt-del.
10083
10084 -> { "execute": "input-send-event",
10085 "arguments": { "events": [
10086 { "type": "key", "data" : { "down": true,
10087 "key": {"type": "qcode", "data": "ctrl" } } },
10088 { "type": "key", "data" : { "down": true,
10089 "key": {"type": "qcode", "data": "alt" } } },
10090 { "type": "key", "data" : { "down": true,
10091 "key": {"type": "qcode", "data": "delete" } } } ] } }
10092 <- { "return": {} }
10093
10094 3. Move mouse pointer to absolute coordinates (20000, 400).
10095
10096 -> { "execute": "input-send-event" ,
10097 "arguments": { "events": [
10098 { "type": "abs", "data" : { "axis": "x", "value" : 20000 } },
10099 { "type": "abs", "data" : { "axis": "y", "value" : 400 } } ] } }
10100 <- { "return": {} }
10101
10102 DisplayGTK (Object)
10103
10104 GTK display options.
10105
10106 Members:
10107
10108 "grab-on-hover: boolean" (optional)
10109 Grab keyboard input on mouse hover.
10110
10111 "zoom-to-fit: boolean" (optional)
10112 Zoom guest display to fit into the host window. When turned off
10113 the host window will be resized instead. In case the display
10114 device can notify the guest on window resizes (virtio-gpu) this
10115 will default to "on", assuming the guest will resize the display to
10116 match the window size then. Otherwise it defaults to "off". Since
10117 3.1
10118
10119 Since: 2.12
10120
10121 DisplayEGLHeadless (Object)
10122
10123 EGL headless display options.
10124
10125 Members:
10126
10127 "rendernode: string" (optional)
10128 Which DRM render node should be used. Default is the first
10129 available node on the host.
10130
10131 Since: 3.1
10132
10133 DisplayGLMode (Enum)
10134
10135 Display OpenGL mode.
10136
10137 Values:
10138
10139 "off"
10140 Disable OpenGL (default).
10141
10142 "on"
10143 Use OpenGL, pick context type automatically. Would better be named
10144 'auto' but is called 'on' for backward compatibility with bool
10145 type.
10146
10147 "core"
10148 Use OpenGL with Core (desktop) Context.
10149
10150 "es"
10151 Use OpenGL with ES (embedded systems) Context.
10152
10153 Since: 3.0
10154
10155 DisplayType (Enum)
10156
10157 Display (user interface) type.
10158
10159 Values:
10160
10161 "default"
10162 Not documented
10163
10164 "none"
10165 Not documented
10166
10167 "gtk"
10168 Not documented
10169
10170 "sdl"
10171 Not documented
10172
10173 "egl-headless"
10174 Not documented
10175
10176 "curses"
10177 Not documented
10178
10179 "cocoa"
10180 Not documented
10181
10182 Since: 2.12
10183
10184 DisplayOptions (Object)
10185
10186 Display (user interface) options.
10187
10188 Members:
10189
10190 "type: DisplayType"
10191 Which DisplayType qemu should use.
10192
10193 "full-screen: boolean" (optional)
10194 Start user interface in fullscreen mode (default: off).
10195
10196 "window-close: boolean" (optional)
10197 Allow to quit qemu with window close button (default: on).
10198
10199 "gl: DisplayGLMode" (optional)
10200 Enable OpenGL support (default: off).
10201
10202 The members of "DisplayGTK" when "type" is "gtk"
10203 The members of "DisplayEGLHeadless" when "type" is "egl-headless"
10204
10205 Since: 2.12
10206
10207 query-display-options (Command) Returns information about display
10208 configuration
10209
10210 Returns: "DisplayOptions"
10211
10212 Since: 3.1
10213
10214 Migration
10215 MigrationStats (Object)
10216
10217 Detailed migration status.
10218
10219 Members:
10220
10221 "transferred: int"
10222 amount of bytes already transferred to the target VM
10223
10224 "remaining: int"
10225 amount of bytes remaining to be transferred to the target VM
10226
10227 "total: int"
10228 total amount of bytes involved in the migration process
10229
10230 "duplicate: int"
10231 number of duplicate (zero) pages (since 1.2)
10232
10233 "skipped: int"
10234 number of skipped zero pages (since 1.5)
10235
10236 "normal: int"
10237 number of normal pages (since 1.2)
10238
10239 "normal-bytes: int"
10240 number of normal bytes sent (since 1.2)
10241
10242 "dirty-pages-rate: int"
10243 number of pages dirtied by second by the guest (since 1.3)
10244
10245 "mbps: number"
10246 throughput in megabits/sec. (since 1.6)
10247
10248 "dirty-sync-count: int"
10249 number of times that dirty ram was synchronized (since 2.1)
10250
10251 "postcopy-requests: int"
10252 The number of page requests received from the destination (since
10253 2.7)
10254
10255 "page-size: int"
10256 The number of bytes per page for the various page-based statistics
10257 (since 2.10)
10258
10259 "multifd-bytes: int"
10260 The number of bytes sent through multifd (since 3.0)
10261
10262 Since: 0.14.0
10263
10264 XBZRLECacheStats (Object)
10265
10266 Detailed XBZRLE migration cache statistics
10267
10268 Members:
10269
10270 "cache-size: int"
10271 XBZRLE cache size
10272
10273 "bytes: int"
10274 amount of bytes already transferred to the target VM
10275
10276 "pages: int"
10277 amount of pages transferred to the target VM
10278
10279 "cache-miss: int"
10280 number of cache miss
10281
10282 "cache-miss-rate: number"
10283 rate of cache miss (since 2.1)
10284
10285 "overflow: int"
10286 number of overflows
10287
10288 Since: 1.2
10289
10290 CompressionStats (Object)
10291
10292 Detailed migration compression statistics
10293
10294 Members:
10295
10296 "pages: int"
10297 amount of pages compressed and transferred to the target VM
10298
10299 "busy: int"
10300 count of times that no free thread was available to compress data
10301
10302 "busy-rate: number"
10303 rate of thread busy
10304
10305 "compressed-size: int"
10306 amount of bytes after compression
10307
10308 "compression-rate: number"
10309 rate of compressed size
10310
10311 Since: 3.1
10312
10313 MigrationStatus (Enum)
10314
10315 An enumeration of migration status.
10316
10317 Values:
10318
10319 "none"
10320 no migration has ever happened.
10321
10322 "setup"
10323 migration process has been initiated.
10324
10325 "cancelling"
10326 in the process of cancelling migration.
10327
10328 "cancelled"
10329 cancelling migration is finished.
10330
10331 "active"
10332 in the process of doing migration.
10333
10334 "postcopy-active"
10335 like active, but now in postcopy mode. (since 2.5)
10336
10337 "postcopy-paused"
10338 during postcopy but paused. (since 3.0)
10339
10340 "postcopy-recover"
10341 trying to recover from a paused postcopy. (since 3.0)
10342
10343 "completed"
10344 migration is finished.
10345
10346 "failed"
10347 some error occurred during migration process.
10348
10349 "colo"
10350 VM is in the process of fault tolerance, VM can not get into this
10351 state unless colo capability is enabled for migration. (since 2.8)
10352
10353 "pre-switchover"
10354 Paused before device serialisation. (since 2.11)
10355
10356 "device"
10357 During device serialisation when pause-before-switchover is enabled
10358 (since 2.11)
10359
10360 Since: 2.3
10361
10362 MigrationInfo (Object)
10363
10364 Information about current migration process.
10365
10366 Members:
10367
10368 "status: MigrationStatus" (optional)
10369 "MigrationStatus" describing the current migration status. If this
10370 field is not returned, no migration process has been initiated
10371
10372 "ram: MigrationStats" (optional)
10373 "MigrationStats" containing detailed migration status, only
10374 returned if status is 'active' or 'completed'(since 1.2)
10375
10376 "disk: MigrationStats" (optional)
10377 "MigrationStats" containing detailed disk migration status, only
10378 returned if status is 'active' and it is a block migration
10379
10380 "xbzrle-cache: XBZRLECacheStats" (optional)
10381 "XBZRLECacheStats" containing detailed XBZRLE migration statistics,
10382 only returned if XBZRLE feature is on and status is 'active' or
10383 'completed' (since 1.2)
10384
10385 "total-time: int" (optional)
10386 total amount of milliseconds since migration started. If migration
10387 has ended, it returns the total migration time. (since 1.2)
10388
10389 "downtime: int" (optional)
10390 only present when migration finishes correctly total downtime in
10391 milliseconds for the guest. (since 1.3)
10392
10393 "expected-downtime: int" (optional)
10394 only present while migration is active expected downtime in
10395 milliseconds for the guest in last walk of the dirty bitmap. (since
10396 1.3)
10397
10398 "setup-time: int" (optional)
10399 amount of setup time in milliseconds before the iterations begin
10400 but after the QMP command is issued. This is designed to provide an
10401 accounting of any activities (such as RDMA pinning) which may be
10402 expensive, but do not actually occur during the iterative migration
10403 rounds themselves. (since 1.6)
10404
10405 "cpu-throttle-percentage: int" (optional)
10406 percentage of time guest cpus are being throttled during auto-
10407 converge. This is only present when auto-converge has started
10408 throttling guest cpus. (Since 2.7)
10409
10410 "error-desc: string" (optional)
10411 the human readable error description string, when "status" is
10412 'failed'. Clients should not attempt to parse the error strings.
10413 (Since 2.7)
10414
10415 "postcopy-blocktime: int" (optional)
10416 total time when all vCPU were blocked during postcopy live
10417 migration. This is only present when the postcopy-blocktime
10418 migration capability is enabled. (Since 3.0)
10419
10420 "postcopy-vcpu-blocktime: array of int" (optional)
10421 list of the postcopy blocktime per vCPU. This is only present when
10422 the postcopy-blocktime migration capability is enabled. (Since 3.0)
10423
10424 "compression: CompressionStats" (optional)
10425 migration compression statistics, only returned if compression
10426 feature is on and status is 'active' or 'completed' (Since 3.1)
10427
10428 Since: 0.14.0
10429
10430 query-migrate (Command) Returns information about current migration
10431 process. If migration is active there will be another json-object with
10432 RAM migration status and if block migration is active another one with
10433 block migration status.
10434
10435 Returns: "MigrationInfo"
10436
10437 Since: 0.14.0
10438
10439 Example:
10440
10441 1. Before the first migration
10442
10443 -> { "execute": "query-migrate" }
10444 <- { "return": {} }
10445
10446 2. Migration is done and has succeeded
10447
10448 -> { "execute": "query-migrate" }
10449 <- { "return": {
10450 "status": "completed",
10451 "total-time":12345,
10452 "setup-time":12345,
10453 "downtime":12345,
10454 "ram":{
10455 "transferred":123,
10456 "remaining":123,
10457 "total":246,
10458 "duplicate":123,
10459 "normal":123,
10460 "normal-bytes":123456,
10461 "dirty-sync-count":15
10462 }
10463 }
10464 }
10465
10466 3. Migration is done and has failed
10467
10468 -> { "execute": "query-migrate" }
10469 <- { "return": { "status": "failed" } }
10470
10471 4. Migration is being performed and is not a block migration:
10472
10473 -> { "execute": "query-migrate" }
10474 <- {
10475 "return":{
10476 "status":"active",
10477 "total-time":12345,
10478 "setup-time":12345,
10479 "expected-downtime":12345,
10480 "ram":{
10481 "transferred":123,
10482 "remaining":123,
10483 "total":246,
10484 "duplicate":123,
10485 "normal":123,
10486 "normal-bytes":123456,
10487 "dirty-sync-count":15
10488 }
10489 }
10490 }
10491
10492 5. Migration is being performed and is a block migration:
10493
10494 -> { "execute": "query-migrate" }
10495 <- {
10496 "return":{
10497 "status":"active",
10498 "total-time":12345,
10499 "setup-time":12345,
10500 "expected-downtime":12345,
10501 "ram":{
10502 "total":1057024,
10503 "remaining":1053304,
10504 "transferred":3720,
10505 "duplicate":123,
10506 "normal":123,
10507 "normal-bytes":123456,
10508 "dirty-sync-count":15
10509 },
10510 "disk":{
10511 "total":20971520,
10512 "remaining":20880384,
10513 "transferred":91136
10514 }
10515 }
10516 }
10517
10518 6. Migration is being performed and XBZRLE is active:
10519
10520 -> { "execute": "query-migrate" }
10521 <- {
10522 "return":{
10523 "status":"active",
10524 "total-time":12345,
10525 "setup-time":12345,
10526 "expected-downtime":12345,
10527 "ram":{
10528 "total":1057024,
10529 "remaining":1053304,
10530 "transferred":3720,
10531 "duplicate":10,
10532 "normal":3333,
10533 "normal-bytes":3412992,
10534 "dirty-sync-count":15
10535 },
10536 "xbzrle-cache":{
10537 "cache-size":67108864,
10538 "bytes":20971520,
10539 "pages":2444343,
10540 "cache-miss":2244,
10541 "cache-miss-rate":0.123,
10542 "overflow":34434
10543 }
10544 }
10545 }
10546
10547 MigrationCapability (Enum)
10548
10549 Migration capabilities enumeration
10550
10551 Values:
10552
10553 "xbzrle"
10554 Migration supports xbzrle (Xor Based Zero Run Length Encoding).
10555 This feature allows us to minimize migration traffic for certain
10556 work loads, by sending compressed difference of the pages
10557
10558 "rdma-pin-all"
10559 Controls whether or not the entire VM memory footprint is mlock()'d
10560 on demand or all at once. Refer to docs/rdma.txt for usage.
10561 Disabled by default. (since 2.0)
10562
10563 "zero-blocks"
10564 During storage migration encode blocks of zeroes efficiently. This
10565 essentially saves 1MB of zeroes per block on the wire. Enabling
10566 requires source and target VM to support this feature. To enable it
10567 is sufficient to enable the capability on the source VM. The
10568 feature is disabled by default. (since 1.6)
10569
10570 "compress"
10571 Use multiple compression threads to accelerate live migration.
10572 This feature can help to reduce the migration traffic, by sending
10573 compressed pages. Please note that if compress and xbzrle are both
10574 on, compress only takes effect in the ram bulk stage, after that,
10575 it will be disabled and only xbzrle takes effect, this can help to
10576 minimize migration traffic. The feature is disabled by default.
10577 (since 2.4 )
10578
10579 "events"
10580 generate events for each migration state change (since 2.4 )
10581
10582 "auto-converge"
10583 If enabled, QEMU will automatically throttle down the guest to
10584 speed up convergence of RAM migration. (since 1.6)
10585
10586 "postcopy-ram"
10587 Start executing on the migration target before all of RAM has been
10588 migrated, pulling the remaining pages along as needed. The capacity
10589 must have the same setting on both source and target or migration
10590 will not even start. NOTE: If the migration fails during postcopy
10591 the VM will fail. (since 2.6)
10592
10593 "x-colo"
10594 If enabled, migration will never end, and the state of the VM on
10595 the primary side will be migrated continuously to the VM on
10596 secondary side, this process is called COarse-Grain LOck Stepping
10597 (COLO) for Non-stop Service. (since 2.8)
10598
10599 "release-ram"
10600 if enabled, qemu will free the migrated ram pages on the source
10601 during postcopy-ram migration. (since 2.9)
10602
10603 "block"
10604 If enabled, QEMU will also migrate the contents of all block
10605 devices. Default is disabled. A possible alternative uses mirror
10606 jobs to a builtin NBD server on the destination, which offers more
10607 flexibility. (Since 2.10)
10608
10609 "return-path"
10610 If enabled, migration will use the return path even for precopy.
10611 (since 2.10)
10612
10613 "pause-before-switchover"
10614 Pause outgoing migration before serialising device state and before
10615 disabling block IO (since 2.11)
10616
10617 "x-multifd"
10618 Use more than one fd for migration (since 2.11)
10619
10620 "dirty-bitmaps"
10621 If enabled, QEMU will migrate named dirty bitmaps. (since 2.12)
10622
10623 "postcopy-blocktime"
10624 Calculate downtime for postcopy live migration (since 3.0)
10625
10626 "late-block-activate"
10627 If enabled, the destination will not activate block devices (and
10628 thus take locks) immediately at the end of migration. (since 3.0)
10629
10630 Since: 1.2
10631
10632 MigrationCapabilityStatus (Object)
10633
10634 Migration capability information
10635
10636 Members:
10637
10638 "capability: MigrationCapability"
10639 capability enum
10640
10641 "state: boolean"
10642 capability state bool
10643
10644 Since: 1.2
10645
10646 migrate-set-capabilities (Command) Enable/Disable the following
10647 migration capabilities (like xbzrle)
10648
10649 Arguments:
10650
10651 "capabilities: array of MigrationCapabilityStatus"
10652 json array of capability modifications to make
10653
10654 Since: 1.2
10655
10656 Example:
10657
10658 -> { "execute": "migrate-set-capabilities" , "arguments":
10659 { "capabilities": [ { "capability": "xbzrle", "state": true } ] } }
10660
10661 query-migrate-capabilities (Command) Returns information about the
10662 current migration capabilities status
10663
10664 Returns: "MigrationCapabilitiesStatus"
10665
10666 Since: 1.2
10667
10668 Example:
10669
10670 -> { "execute": "query-migrate-capabilities" }
10671 <- { "return": [
10672 {"state": false, "capability": "xbzrle"},
10673 {"state": false, "capability": "rdma-pin-all"},
10674 {"state": false, "capability": "auto-converge"},
10675 {"state": false, "capability": "zero-blocks"},
10676 {"state": false, "capability": "compress"},
10677 {"state": true, "capability": "events"},
10678 {"state": false, "capability": "postcopy-ram"},
10679 {"state": false, "capability": "x-colo"}
10680 ]}
10681
10682 MigrationParameter (Enum)
10683
10684 Migration parameters enumeration
10685
10686 Values:
10687
10688 "compress-level"
10689 Set the compression level to be used in live migration, the
10690 compression level is an integer between 0 and 9, where 0 means no
10691 compression, 1 means the best compression speed, and 9 means best
10692 compression ratio which will consume more CPU.
10693
10694 "compress-threads"
10695 Set compression thread count to be used in live migration, the
10696 compression thread count is an integer between 1 and 255.
10697
10698 "compress-wait-thread"
10699 Controls behavior when all compression threads are currently busy.
10700 If true (default), wait for a free compression thread to become
10701 available; otherwise, send the page uncompressed. (Since 3.1)
10702
10703 "decompress-threads"
10704 Set decompression thread count to be used in live migration, the
10705 decompression thread count is an integer between 1 and 255.
10706 Usually, decompression is at least 4 times as fast as compression,
10707 so set the decompress-threads to the number about 1/4 of compress-
10708 threads is adequate.
10709
10710 "cpu-throttle-initial"
10711 Initial percentage of time guest cpus are throttled when migration
10712 auto-converge is activated. The default value is 20. (Since 2.7)
10713
10714 "cpu-throttle-increment"
10715 throttle percentage increase each time auto-converge detects that
10716 migration is not making progress. The default value is 10. (Since
10717 2.7)
10718
10719 "tls-creds"
10720 ID of the 'tls-creds' object that provides credentials for
10721 establishing a TLS connection over the migration data channel. On
10722 the outgoing side of the migration, the credentials must be for a
10723 'client' endpoint, while for the incoming side the credentials must
10724 be for a 'server' endpoint. Setting this will enable TLS for all
10725 migrations. The default is unset, resulting in unsecured migration
10726 at the QEMU level. (Since 2.7)
10727
10728 "tls-hostname"
10729 hostname of the target host for the migration. This is required
10730 when using x509 based TLS credentials and the migration URI does
10731 not already include a hostname. For example if using fd: or exec:
10732 based migration, the hostname must be provided so that the server's
10733 x509 certificate identity can be validated. (Since 2.7)
10734
10735 "max-bandwidth"
10736 to set maximum speed for migration. maximum speed in bytes per
10737 second. (Since 2.8)
10738
10739 "downtime-limit"
10740 set maximum tolerated downtime for migration. maximum downtime in
10741 milliseconds (Since 2.8)
10742
10743 "x-checkpoint-delay"
10744 The delay time (in ms) between two COLO checkpoints in periodic
10745 mode. (Since 2.8)
10746
10747 "block-incremental"
10748 Affects how much storage is migrated when the block migration
10749 capability is enabled. When false, the entire storage backing
10750 chain is migrated into a flattened image at the destination; when
10751 true, only the active qcow2 layer is migrated and the destination
10752 must already have access to the same backing chain as was used on
10753 the source. (since 2.10)
10754
10755 "x-multifd-channels"
10756 Number of channels used to migrate data in parallel. This is the
10757 same number that the number of sockets used for migration. The
10758 default value is 2 (since 2.11)
10759
10760 "x-multifd-page-count"
10761 Number of pages sent together to a thread. The default value is 16
10762 (since 2.11)
10763
10764 "xbzrle-cache-size"
10765 cache size to be used by XBZRLE migration. It needs to be a
10766 multiple of the target page size and a power of 2 (Since 2.11)
10767
10768 "max-postcopy-bandwidth"
10769 Background transfer bandwidth during postcopy. Defaults to 0
10770 (unlimited). In bytes per second. (Since 3.0)
10771
10772 "max-cpu-throttle"
10773 maximum cpu throttle percentage. Defaults to 99. (Since 3.1)
10774
10775 Since: 2.4
10776
10777 MigrateSetParameters (Object)
10778
10779 Members:
10780
10781 "compress-level: int" (optional)
10782 compression level
10783
10784 "compress-threads: int" (optional)
10785 compression thread count
10786
10787 "compress-wait-thread: boolean" (optional)
10788 Controls behavior when all compression threads are currently busy.
10789 If true (default), wait for a free compression thread to become
10790 available; otherwise, send the page uncompressed. (Since 3.1)
10791
10792 "decompress-threads: int" (optional)
10793 decompression thread count
10794
10795 "cpu-throttle-initial: int" (optional)
10796 Initial percentage of time guest cpus are throttled when migration
10797 auto-converge is activated. The default value is 20. (Since 2.7)
10798
10799 "cpu-throttle-increment: int" (optional)
10800 throttle percentage increase each time auto-converge detects that
10801 migration is not making progress. The default value is 10. (Since
10802 2.7)
10803
10804 "tls-creds: StrOrNull" (optional)
10805 ID of the 'tls-creds' object that provides credentials for
10806 establishing a TLS connection over the migration data channel. On
10807 the outgoing side of the migration, the credentials must be for a
10808 'client' endpoint, while for the incoming side the credentials must
10809 be for a 'server' endpoint. Setting this to a non-empty string
10810 enables TLS for all migrations. An empty string means that QEMU
10811 will use plain text mode for migration, rather than TLS (Since 2.9)
10812 Previously (since 2.7), this was reported by omitting tls-creds
10813 instead.
10814
10815 "tls-hostname: StrOrNull" (optional)
10816 hostname of the target host for the migration. This is required
10817 when using x509 based TLS credentials and the migration URI does
10818 not already include a hostname. For example if using fd: or exec:
10819 based migration, the hostname must be provided so that the server's
10820 x509 certificate identity can be validated. (Since 2.7) An empty
10821 string means that QEMU will use the hostname associated with the
10822 migration URI, if any. (Since 2.9) Previously (since 2.7), this was
10823 reported by omitting tls-hostname instead.
10824
10825 "max-bandwidth: int" (optional)
10826 to set maximum speed for migration. maximum speed in bytes per
10827 second. (Since 2.8)
10828
10829 "downtime-limit: int" (optional)
10830 set maximum tolerated downtime for migration. maximum downtime in
10831 milliseconds (Since 2.8)
10832
10833 "x-checkpoint-delay: int" (optional)
10834 the delay time between two COLO checkpoints. (Since 2.8)
10835
10836 "block-incremental: boolean" (optional)
10837 Affects how much storage is migrated when the block migration
10838 capability is enabled. When false, the entire storage backing
10839 chain is migrated into a flattened image at the destination; when
10840 true, only the active qcow2 layer is migrated and the destination
10841 must already have access to the same backing chain as was used on
10842 the source. (since 2.10)
10843
10844 "x-multifd-channels: int" (optional)
10845 Number of channels used to migrate data in parallel. This is the
10846 same number that the number of sockets used for migration. The
10847 default value is 2 (since 2.11)
10848
10849 "x-multifd-page-count: int" (optional)
10850 Number of pages sent together to a thread. The default value is 16
10851 (since 2.11)
10852
10853 "xbzrle-cache-size: int" (optional)
10854 cache size to be used by XBZRLE migration. It needs to be a
10855 multiple of the target page size and a power of 2 (Since 2.11)
10856
10857 "max-postcopy-bandwidth: int" (optional)
10858 Background transfer bandwidth during postcopy. Defaults to 0
10859 (unlimited). In bytes per second. (Since 3.0)
10860
10861 "max-cpu-throttle: int" (optional)
10862 maximum cpu throttle percentage. The default value is 99. (Since
10863 3.1)
10864
10865 Since: 2.4
10866
10867 migrate-set-parameters (Command) Set various migration parameters.
10868
10869 Arguments: the members of "MigrateSetParameters"
10870
10871 Since: 2.4
10872
10873 Example:
10874
10875 -> { "execute": "migrate-set-parameters" ,
10876 "arguments": { "compress-level": 1 } }
10877
10878 MigrationParameters (Object)
10879
10880 The optional members aren't actually optional.
10881
10882 Members:
10883
10884 "compress-level: int" (optional)
10885 compression level
10886
10887 "compress-threads: int" (optional)
10888 compression thread count
10889
10890 "compress-wait-thread: boolean" (optional)
10891 Controls behavior when all compression threads are currently busy.
10892 If true (default), wait for a free compression thread to become
10893 available; otherwise, send the page uncompressed. (Since 3.1)
10894
10895 "decompress-threads: int" (optional)
10896 decompression thread count
10897
10898 "cpu-throttle-initial: int" (optional)
10899 Initial percentage of time guest cpus are throttled when migration
10900 auto-converge is activated. (Since 2.7)
10901
10902 "cpu-throttle-increment: int" (optional)
10903 throttle percentage increase each time auto-converge detects that
10904 migration is not making progress. (Since 2.7)
10905
10906 "tls-creds: string" (optional)
10907 ID of the 'tls-creds' object that provides credentials for
10908 establishing a TLS connection over the migration data channel. On
10909 the outgoing side of the migration, the credentials must be for a
10910 'client' endpoint, while for the incoming side the credentials must
10911 be for a 'server' endpoint. An empty string means that QEMU will
10912 use plain text mode for migration, rather than TLS (Since 2.7)
10913 Note: 2.8 reports this by omitting tls-creds instead.
10914
10915 "tls-hostname: string" (optional)
10916 hostname of the target host for the migration. This is required
10917 when using x509 based TLS credentials and the migration URI does
10918 not already include a hostname. For example if using fd: or exec:
10919 based migration, the hostname must be provided so that the server's
10920 x509 certificate identity can be validated. (Since 2.7) An empty
10921 string means that QEMU will use the hostname associated with the
10922 migration URI, if any. (Since 2.9) Note: 2.8 reports this by
10923 omitting tls-hostname instead.
10924
10925 "max-bandwidth: int" (optional)
10926 to set maximum speed for migration. maximum speed in bytes per
10927 second. (Since 2.8)
10928
10929 "downtime-limit: int" (optional)
10930 set maximum tolerated downtime for migration. maximum downtime in
10931 milliseconds (Since 2.8)
10932
10933 "x-checkpoint-delay: int" (optional)
10934 the delay time between two COLO checkpoints. (Since 2.8)
10935
10936 "block-incremental: boolean" (optional)
10937 Affects how much storage is migrated when the block migration
10938 capability is enabled. When false, the entire storage backing
10939 chain is migrated into a flattened image at the destination; when
10940 true, only the active qcow2 layer is migrated and the destination
10941 must already have access to the same backing chain as was used on
10942 the source. (since 2.10)
10943
10944 "x-multifd-channels: int" (optional)
10945 Number of channels used to migrate data in parallel. This is the
10946 same number that the number of sockets used for migration. The
10947 default value is 2 (since 2.11)
10948
10949 "x-multifd-page-count: int" (optional)
10950 Number of pages sent together to a thread. The default value is 16
10951 (since 2.11)
10952
10953 "xbzrle-cache-size: int" (optional)
10954 cache size to be used by XBZRLE migration. It needs to be a
10955 multiple of the target page size and a power of 2 (Since 2.11)
10956
10957 "max-postcopy-bandwidth: int" (optional)
10958 Background transfer bandwidth during postcopy. Defaults to 0
10959 (unlimited). In bytes per second. (Since 3.0)
10960
10961 "max-cpu-throttle: int" (optional)
10962 maximum cpu throttle percentage. Defaults to 99. (Since 3.1)
10963
10964 Since: 2.4
10965
10966 query-migrate-parameters (Command) Returns information about the
10967 current migration parameters
10968
10969 Returns: "MigrationParameters"
10970
10971 Since: 2.4
10972
10973 Example:
10974
10975 -> { "execute": "query-migrate-parameters" }
10976 <- { "return": {
10977 "decompress-threads": 2,
10978 "cpu-throttle-increment": 10,
10979 "compress-threads": 8,
10980 "compress-level": 1,
10981 "cpu-throttle-initial": 20,
10982 "max-bandwidth": 33554432,
10983 "downtime-limit": 300
10984 }
10985 }
10986
10987 client_migrate_info (Command) Set migration information for remote
10988 display. This makes the server ask the client to automatically
10989 reconnect using the new parameters once migration finished
10990 successfully. Only implemented for SPICE.
10991
10992 Arguments:
10993
10994 "protocol: string"
10995 must be "spice"
10996
10997 "hostname: string"
10998 migration target hostname
10999
11000 "port: int" (optional)
11001 spice tcp port for plaintext channels
11002
11003 "tls-port: int" (optional)
11004 spice tcp port for tls-secured channels
11005
11006 "cert-subject: string" (optional)
11007 server certificate subject
11008
11009 Since: 0.14.0
11010
11011 Example:
11012
11013 -> { "execute": "client_migrate_info",
11014 "arguments": { "protocol": "spice",
11015 "hostname": "virt42.lab.kraxel.org",
11016 "port": 1234 } }
11017 <- { "return": {} }
11018
11019 migrate-start-postcopy (Command) Followup to a migration command to
11020 switch the migration to postcopy mode. The postcopy-ram capability
11021 must be set on both source and destination before the original
11022 migration command.
11023
11024 Since: 2.5
11025
11026 Example:
11027
11028 -> { "execute": "migrate-start-postcopy" }
11029 <- { "return": {} }
11030
11031 MIGRATION (Event) Emitted when a migration event happens
11032
11033 Arguments:
11034
11035 "status: MigrationStatus"
11036 "MigrationStatus" describing the current migration status.
11037
11038 Since: 2.4
11039
11040 Example:
11041
11042 <- {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
11043 "event": "MIGRATION",
11044 "data": {"status": "completed"} }
11045
11046 MIGRATION_PASS (Event) Emitted from the source side of a migration at
11047 the start of each pass (when it syncs the dirty bitmap)
11048
11049 Arguments:
11050
11051 "pass: int"
11052 An incrementing count (starting at 1 on the first pass)
11053
11054 Since: 2.6
11055
11056 Example:
11057
11058 { "timestamp": {"seconds": 1449669631, "microseconds": 239225},
11059 "event": "MIGRATION_PASS", "data": {"pass": 2} }
11060
11061 COLOMessage (Enum)
11062
11063 The message transmission between Primary side and Secondary side.
11064
11065 Values:
11066
11067 "checkpoint-ready"
11068 Secondary VM (SVM) is ready for checkpointing
11069
11070 "checkpoint-request"
11071 Primary VM (PVM) tells SVM to prepare for checkpointing
11072
11073 "checkpoint-reply"
11074 SVM gets PVM's checkpoint request
11075
11076 "vmstate-send"
11077 VM's state will be sent by PVM.
11078
11079 "vmstate-size"
11080 The total size of VMstate.
11081
11082 "vmstate-received"
11083 VM's state has been received by SVM.
11084
11085 "vmstate-loaded"
11086 VM's state has been loaded by SVM.
11087
11088 Since: 2.8
11089
11090 COLOMode (Enum)
11091
11092 The COLO current mode.
11093
11094 Values:
11095
11096 "none"
11097 COLO is disabled.
11098
11099 "primary"
11100 COLO node in primary side.
11101
11102 "secondary"
11103 COLO node in slave side.
11104
11105 Since: 2.8
11106
11107 FailoverStatus (Enum)
11108
11109 An enumeration of COLO failover status
11110
11111 Values:
11112
11113 "none"
11114 no failover has ever happened
11115
11116 "require"
11117 got failover requirement but not handled
11118
11119 "active"
11120 in the process of doing failover
11121
11122 "completed"
11123 finish the process of failover
11124
11125 "relaunch"
11126 restart the failover process, from 'none' -> 'completed' (Since
11127 2.9)
11128
11129 Since: 2.8
11130
11131 COLO_EXIT (Event) Emitted when VM finishes COLO mode due to some
11132 errors happening or at the request of users.
11133
11134 Arguments:
11135
11136 "mode: COLOMode"
11137 report COLO mode when COLO exited.
11138
11139 "reason: COLOExitReason"
11140 describes the reason for the COLO exit.
11141
11142 Since: 3.1
11143
11144 Example:
11145
11146 <- { "timestamp": {"seconds": 2032141960, "microseconds": 417172},
11147 "event": "COLO_EXIT", "data": {"mode": "primary", "reason": "request" } }
11148
11149 COLOExitReason (Enum)
11150
11151 The reason for a COLO exit
11152
11153 Values:
11154
11155 "none"
11156 no failover has ever happened. This can't occur in the COLO_EXIT
11157 event, only in the result of query-colo-status.
11158
11159 "request"
11160 COLO exit is due to an external request
11161
11162 "error"
11163 COLO exit is due to an internal error
11164
11165 Since: 3.1
11166
11167 x-colo-lost-heartbeat (Command) Tell qemu that heartbeat is lost,
11168 request it to do takeover procedures. If this command is sent to the
11169 PVM, the Primary side will exit COLO mode. If sent to the Secondary,
11170 the Secondary side will run failover work, then takes over server
11171 operation to become the service VM.
11172
11173 Since: 2.8
11174
11175 Example:
11176
11177 -> { "execute": "x-colo-lost-heartbeat" }
11178 <- { "return": {} }
11179
11180 migrate_cancel (Command) Cancel the current executing migration
11181 process.
11182
11183 Returns: nothing on success
11184
11185 Notes: This command succeeds even if there is no migration process
11186 running.
11187
11188 Since: 0.14.0
11189
11190 Example:
11191
11192 -> { "execute": "migrate_cancel" }
11193 <- { "return": {} }
11194
11195 migrate-continue (Command) Continue migration when it's in a paused
11196 state.
11197
11198 Arguments:
11199
11200 "state: MigrationStatus"
11201 The state the migration is currently expected to be in
11202
11203 Returns: nothing on success
11204
11205 Since: 2.11
11206
11207 Example:
11208
11209 -> { "execute": "migrate-continue" , "arguments":
11210 { "state": "pre-switchover" } }
11211 <- { "return": {} }
11212
11213 migrate_set_downtime (Command) Set maximum tolerated downtime for
11214 migration.
11215
11216 Arguments:
11217
11218 "value: number"
11219 maximum downtime in seconds
11220
11221 Returns: nothing on success
11222
11223 Notes: This command is deprecated in favor of 'migrate-set-parameters'
11224
11225 Since: 0.14.0
11226
11227 Example:
11228
11229 -> { "execute": "migrate_set_downtime", "arguments": { "value": 0.1 } }
11230 <- { "return": {} }
11231
11232 migrate_set_speed (Command) Set maximum speed for migration.
11233
11234 Arguments:
11235
11236 "value: int"
11237 maximum speed in bytes per second.
11238
11239 Returns: nothing on success
11240
11241 Notes: This command is deprecated in favor of 'migrate-set-parameters'
11242
11243 Since: 0.14.0
11244
11245 Example:
11246
11247 -> { "execute": "migrate_set_speed", "arguments": { "value": 1024 } }
11248 <- { "return": {} }
11249
11250 migrate-set-cache-size (Command) Set cache size to be used by XBZRLE
11251 migration
11252
11253 Arguments:
11254
11255 "value: int"
11256 cache size in bytes
11257
11258 The size will be rounded down to the nearest power of 2. The cache
11259 size can be modified before and during ongoing migration
11260
11261 Returns: nothing on success
11262
11263 Notes: This command is deprecated in favor of 'migrate-set-parameters'
11264
11265 Since: 1.2
11266
11267 Example:
11268
11269 -> { "execute": "migrate-set-cache-size",
11270 "arguments": { "value": 536870912 } }
11271 <- { "return": {} }
11272
11273 query-migrate-cache-size (Command) Query migration XBZRLE cache size
11274
11275 Returns: XBZRLE cache size in bytes
11276
11277 Notes: This command is deprecated in favor of
11278 'query-migrate-parameters'
11279
11280 Since: 1.2
11281
11282 Example:
11283
11284 -> { "execute": "query-migrate-cache-size" }
11285 <- { "return": 67108864 }
11286
11287 migrate (Command) Migrates the current running guest to another
11288 Virtual Machine.
11289
11290 Arguments:
11291
11292 "uri: string"
11293 the Uniform Resource Identifier of the destination VM
11294
11295 "blk: boolean" (optional)
11296 do block migration (full disk copy)
11297
11298 "inc: boolean" (optional)
11299 incremental disk copy migration
11300
11301 "detach: boolean" (optional)
11302 this argument exists only for compatibility reasons and is ignored
11303 by QEMU
11304
11305 "resume: boolean" (optional)
11306 resume one paused migration, default "off". (since 3.0)
11307
11308 Returns: nothing on success
11309
11310 Since: 0.14.0
11311
11312 Notes:
11313
11314 1. The 'query-migrate' command should be used to check migration's
11315 progress and final result (this information is provided by the
11316 'status' member)
11317
11318 2. All boolean arguments default to false
11319
11320 3. The user Monitor's "detach" argument is invalid in QMP and should
11321 not be used
11322
11323 Example:
11324
11325 -> { "execute": "migrate", "arguments": { "uri": "tcp:0:4446" } }
11326 <- { "return": {} }
11327
11328 migrate-incoming (Command) Start an incoming migration, the qemu must
11329 have been started with -incoming defer
11330
11331 Arguments:
11332
11333 "uri: string"
11334 The Uniform Resource Identifier identifying the source or address
11335 to listen on
11336
11337 Returns: nothing on success
11338
11339 Since: 2.3
11340
11341 Notes:
11342
11343 1. It's a bad idea to use a string for the uri, but it needs to stay
11344 compatible with -incoming and the format of the uri is already
11345 exposed above libvirt.
11346
11347 2. QEMU must be started with -incoming defer to allow migrate-incoming
11348 to be used.
11349
11350 3. The uri format is the same as for -incoming
11351
11352 Example:
11353
11354 -> { "execute": "migrate-incoming",
11355 "arguments": { "uri": "tcp::4446" } }
11356 <- { "return": {} }
11357
11358 xen-save-devices-state (Command) Save the state of all devices to
11359 file. The RAM and the block devices of the VM are not saved by this
11360 command.
11361
11362 Arguments:
11363
11364 "filename: string"
11365 the file to save the state of the devices to as binary data. See
11366 xen-save-devices-state.txt for a description of the binary format.
11367
11368 "live: boolean" (optional)
11369 Optional argument to ask QEMU to treat this command as part of a
11370 live migration. Default to true. (since 2.11)
11371
11372 Returns: Nothing on success
11373
11374 Since: 1.1
11375
11376 Example:
11377
11378 -> { "execute": "xen-save-devices-state",
11379 "arguments": { "filename": "/tmp/save" } }
11380 <- { "return": {} }
11381
11382 xen-set-replication (Command) Enable or disable replication.
11383
11384 Arguments:
11385
11386 "enable: boolean"
11387 true to enable, false to disable.
11388
11389 "primary: boolean"
11390 true for primary or false for secondary.
11391
11392 "failover: boolean" (optional)
11393 true to do failover, false to stop. but cannot be specified if
11394 'enable' is true. default value is false.
11395
11396 Returns: nothing.
11397
11398 Example:
11399
11400 -> { "execute": "xen-set-replication",
11401 "arguments": {"enable": true, "primary": false} }
11402 <- { "return": {} }
11403
11404 Since: 2.9
11405
11406 ReplicationStatus (Object)
11407
11408 The result format for 'query-xen-replication-status'.
11409
11410 Members:
11411
11412 "error: boolean"
11413 true if an error happened, false if replication is normal.
11414
11415 "desc: string" (optional)
11416 the human readable error description string, when "error" is
11417 'true'.
11418
11419 Since: 2.9
11420
11421 query-xen-replication-status (Command) Query replication status while
11422 the vm is running.
11423
11424 Returns: A "ReplicationResult" object showing the status.
11425
11426 Example:
11427
11428 -> { "execute": "query-xen-replication-status" }
11429 <- { "return": { "error": false } }
11430
11431 Since: 2.9
11432
11433 xen-colo-do-checkpoint (Command) Xen uses this command to notify
11434 replication to trigger a checkpoint.
11435
11436 Returns: nothing.
11437
11438 Example:
11439
11440 -> { "execute": "xen-colo-do-checkpoint" }
11441 <- { "return": {} }
11442
11443 Since: 2.9
11444
11445 COLOStatus (Object)
11446
11447 The result format for 'query-colo-status'.
11448
11449 Members:
11450
11451 "mode: COLOMode"
11452 COLO running mode. If COLO is running, this field will return
11453 'primary' or 'secondary'.
11454
11455 "reason: COLOExitReason"
11456 describes the reason for the COLO exit.
11457
11458 Since: 3.1
11459
11460 query-colo-status (Command) Query COLO status while the vm is running.
11461
11462 Returns: A "COLOStatus" object showing the status.
11463
11464 Example:
11465
11466 -> { "execute": "query-colo-status" }
11467 <- { "return": { "mode": "primary", "active": true, "reason": "request" } }
11468
11469 Since: 3.1
11470
11471 migrate-recover (Command) Provide a recovery migration stream URI.
11472
11473 Arguments:
11474
11475 "uri: string"
11476 the URI to be used for the recovery of migration stream.
11477
11478 Returns: nothing.
11479
11480 Example:
11481
11482 -> { "execute": "migrate-recover",
11483 "arguments": { "uri": "tcp:192.168.1.200:12345" } }
11484 <- { "return": {} }
11485
11486 Since: 3.0
11487
11488 migrate-pause (Command) Pause a migration. Currently it only supports
11489 postcopy.
11490
11491 Returns: nothing.
11492
11493 Example:
11494
11495 -> { "execute": "migrate-pause" }
11496 <- { "return": {} }
11497
11498 Since: 3.0
11499
11500 Transactions
11501 Abort (Object)
11502
11503 This action can be used to test transaction failure.
11504
11505 Since: 1.6
11506
11507 ActionCompletionMode (Enum)
11508
11509 An enumeration of Transactional completion modes.
11510
11511 Values:
11512
11513 "individual"
11514 Do not attempt to cancel any other Actions if any Actions fail
11515 after the Transaction request succeeds. All Actions that can
11516 complete successfully will do so without waiting on others. This
11517 is the default.
11518
11519 "grouped"
11520 If any Action fails after the Transaction succeeds, cancel all
11521 Actions. Actions do not complete until all Actions are ready to
11522 complete. May be rejected by Actions that do not support this
11523 completion mode.
11524
11525 Since: 2.5
11526
11527 TransactionAction (Object)
11528
11529 A discriminated record of operations that can be performed with
11530 "transaction". Action "type" can be:
11531
11532 - "abort": since 1.6
11533
11534 - "block-dirty-bitmap-add": since 2.5
11535
11536 - "block-dirty-bitmap-clear": since 2.5
11537
11538 - "x-block-dirty-bitmap-enable": since 3.0
11539
11540 - "x-block-dirty-bitmap-disable": since 3.0
11541
11542 - "x-block-dirty-bitmap-merge": since 3.1
11543
11544 - "blockdev-backup": since 2.3
11545
11546 - "blockdev-snapshot": since 2.5
11547
11548 - "blockdev-snapshot-internal-sync": since 1.7
11549
11550 - "blockdev-snapshot-sync": since 1.1
11551
11552 - "drive-backup": since 1.6
11553
11554 Members:
11555
11556 "type"
11557 One of "abort", "block-dirty-bitmap-add", "block-dirty-bitmap-
11558 clear", "x-block-dirty-bitmap-enable", "x-block-dirty-bitmap-
11559 disable", "x-block-dirty-bitmap-merge", "blockdev-backup",
11560 "blockdev-snapshot", "blockdev-snapshot-internal-sync", "blockdev-
11561 snapshot-sync", "drive-backup"
11562
11563 "data: Abort" when "type" is "abort"
11564 "data: BlockDirtyBitmapAdd" when "type" is "block-dirty-bitmap-add"
11565 "data: BlockDirtyBitmap" when "type" is "block-dirty-bitmap-clear"
11566 "data: BlockDirtyBitmap" when "type" is "x-block-dirty-bitmap-enable"
11567 "data: BlockDirtyBitmap" when "type" is "x-block-dirty-bitmap-disable"
11568 "data: BlockDirtyBitmapMerge" when "type" is "x-block-dirty-bitmap-
11569 merge"
11570 "data: BlockdevBackup" when "type" is "blockdev-backup"
11571 "data: BlockdevSnapshot" when "type" is "blockdev-snapshot"
11572 "data: BlockdevSnapshotInternal" when "type" is "blockdev-snapshot-
11573 internal-sync"
11574 "data: BlockdevSnapshotSync" when "type" is "blockdev-snapshot-sync"
11575 "data: DriveBackup" when "type" is "drive-backup"
11576
11577 Since: 1.1
11578
11579 TransactionProperties (Object)
11580
11581 Optional arguments to modify the behavior of a Transaction.
11582
11583 Members:
11584
11585 "completion-mode: ActionCompletionMode" (optional)
11586 Controls how jobs launched asynchronously by Actions will complete
11587 or fail as a group. See "ActionCompletionMode" for details.
11588
11589 Since: 2.5
11590
11591 transaction (Command) Executes a number of transactionable QMP
11592 commands atomically. If any operation fails, then the entire set of
11593 actions will be abandoned and the appropriate error returned.
11594
11595 For external snapshots, the dictionary contains the device, the file to
11596 use for the new snapshot, and the format. The default format, if not
11597 specified, is qcow2.
11598
11599 Each new snapshot defaults to being created by QEMU (wiping any
11600 contents if the file already exists), but it is also possible to reuse
11601 an externally-created file. In the latter case, you should ensure that
11602 the new image file has the same contents as the current one; QEMU
11603 cannot perform any meaningful check. Typically this is achieved by
11604 using the current image file as the backing file for the new image.
11605
11606 On failure, the original disks pre-snapshot attempt will be used.
11607
11608 For internal snapshots, the dictionary contains the device and the
11609 snapshot's name. If an internal snapshot matching name already exists,
11610 the request will be rejected. Only some image formats support it, for
11611 example, qcow2, rbd, and sheepdog.
11612
11613 On failure, qemu will try delete the newly created internal snapshot in
11614 the transaction. When an I/O error occurs during deletion, the user
11615 needs to fix it later with qemu-img or other command.
11616
11617 Arguments:
11618
11619 "actions: array of TransactionAction"
11620 List of "TransactionAction"; information needed for the respective
11621 operations.
11622
11623 "properties: TransactionProperties" (optional)
11624 structure of additional options to control the execution of the
11625 transaction. See "TransactionProperties" for additional detail.
11626
11627 Returns: nothing on success
11628
11629 Errors depend on the operations of the transaction
11630
11631 Note: The transaction aborts on the first failure. Therefore, there
11632 will be information on only one failed operation returned in an error
11633 condition, and subsequent actions will not have been attempted.
11634
11635 Since: 1.1
11636
11637 Example:
11638
11639 -> { "execute": "transaction",
11640 "arguments": { "actions": [
11641 { "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd0",
11642 "snapshot-file": "/some/place/my-image",
11643 "format": "qcow2" } },
11644 { "type": "blockdev-snapshot-sync", "data" : { "node-name": "myfile",
11645 "snapshot-file": "/some/place/my-image2",
11646 "snapshot-node-name": "node3432",
11647 "mode": "existing",
11648 "format": "qcow2" } },
11649 { "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd1",
11650 "snapshot-file": "/some/place/my-image2",
11651 "mode": "existing",
11652 "format": "qcow2" } },
11653 { "type": "blockdev-snapshot-internal-sync", "data" : {
11654 "device": "ide-hd2",
11655 "name": "snapshot0" } } ] } }
11656 <- { "return": {} }
11657
11658 Tracing
11659 TraceEventState (Enum)
11660
11661 State of a tracing event.
11662
11663 Values:
11664
11665 "unavailable"
11666 The event is statically disabled.
11667
11668 "disabled"
11669 The event is dynamically disabled.
11670
11671 "enabled"
11672 The event is dynamically enabled.
11673
11674 Since: 2.2
11675
11676 TraceEventInfo (Object)
11677
11678 Information of a tracing event.
11679
11680 Members:
11681
11682 "name: string"
11683 Event name.
11684
11685 "state: TraceEventState"
11686 Tracing state.
11687
11688 "vcpu: boolean"
11689 Whether this is a per-vCPU event (since 2.7).
11690
11691 An event is per-vCPU if it has the "vcpu" property in the "trace-
11692 events" files.
11693
11694 Since: 2.2
11695
11696 trace-event-get-state (Command) Query the state of events.
11697
11698 Arguments:
11699
11700 "name: string"
11701 Event name pattern (case-sensitive glob).
11702
11703 "vcpu: int" (optional)
11704 The vCPU to query (any by default; since 2.7).
11705
11706 Returns: a list of "TraceEventInfo" for the matching events
11707
11708 An event is returned if:
11709
11710 - its name matches the "name" pattern, and
11711
11712 - if "vcpu" is given, the event has the "vcpu" property.
11713
11714 Therefore, if "vcpu" is given, the operation will only match per-vCPU
11715 events, returning their state on the specified vCPU. Special case: if
11716 "name" is an exact match, "vcpu" is given and the event does not have
11717 the "vcpu" property, an error is returned.
11718
11719 Since: 2.2
11720
11721 Example:
11722
11723 -> { "execute": "trace-event-get-state",
11724 "arguments": { "name": "qemu_memalign" } }
11725 <- { "return": [ { "name": "qemu_memalign", "state": "disabled" } ] }
11726
11727 trace-event-set-state (Command) Set the dynamic tracing state of
11728 events.
11729
11730 Arguments:
11731
11732 "name: string"
11733 Event name pattern (case-sensitive glob).
11734
11735 "enable: boolean"
11736 Whether to enable tracing.
11737
11738 "ignore-unavailable: boolean" (optional)
11739 Do not match unavailable events with "name".
11740
11741 "vcpu: int" (optional)
11742 The vCPU to act upon (all by default; since 2.7).
11743
11744 An event's state is modified if:
11745
11746 - its name matches the "name" pattern, and
11747
11748 - if "vcpu" is given, the event has the "vcpu" property.
11749
11750 Therefore, if "vcpu" is given, the operation will only match per-vCPU
11751 events, setting their state on the specified vCPU. Special case: if
11752 "name" is an exact match, "vcpu" is given and the event does not have
11753 the "vcpu" property, an error is returned.
11754
11755 Since: 2.2
11756
11757 Example:
11758
11759 -> { "execute": "trace-event-set-state",
11760 "arguments": { "name": "qemu_memalign", "enable": "true" } }
11761 <- { "return": {} }
11762
11763 QMP introspection
11764 query-qmp-schema (Command) Command query-qmp-schema exposes the QMP
11765 wire ABI as an array of SchemaInfo. This lets QMP clients figure out
11766 what commands and events are available in this QEMU, and their
11767 parameters and results.
11768
11769 However, the SchemaInfo can't reflect all the rules and restrictions
11770 that apply to QMP. It's interface introspection (figuring out what's
11771 there), not interface specification. The specification is in the QAPI
11772 schema.
11773
11774 Furthermore, while we strive to keep the QMP wire format backwards-
11775 compatible across qemu versions, the introspection output is not
11776 guaranteed to have the same stability. For example, one version of
11777 qemu may list an object member as an optional non-variant, while
11778 another lists the same member only through the object's variants; or
11779 the type of a member may change from a generic string into a specific
11780 enum or from one specific type into an alternate that includes the
11781 original type alongside something else.
11782
11783 Returns: array of "SchemaInfo", where each element describes an entity
11784 in the ABI: command, event, type, ...
11785
11786 The order of the various SchemaInfo is unspecified; however, all names
11787 are guaranteed to be unique (no name will be duplicated with different
11788 meta-types).
11789
11790 Note: the QAPI schema is also used to help define internal interfaces,
11791 by defining QAPI types. These are not part of the QMP wire ABI, and
11792 therefore not returned by this command.
11793
11794 Since: 2.5
11795
11796 SchemaMetaType (Enum)
11797
11798 This is a "SchemaInfo"'s meta type, i.e. the kind of entity it
11799 describes.
11800
11801 Values:
11802
11803 "builtin"
11804 a predefined type such as 'int' or 'bool'.
11805
11806 "enum"
11807 an enumeration type
11808
11809 "array"
11810 an array type
11811
11812 "object"
11813 an object type (struct or union)
11814
11815 "alternate"
11816 an alternate type
11817
11818 "command"
11819 a QMP command
11820
11821 "event"
11822 a QMP event
11823
11824 Since: 2.5
11825
11826 SchemaInfo (Object)
11827
11828 Members:
11829
11830 "name: string"
11831 the entity's name, inherited from "base". The SchemaInfo is always
11832 referenced by this name. Commands and events have the name defined
11833 in the QAPI schema. Unlike command and event names, type names are
11834 not part of the wire ABI. Consequently, type names are meaningless
11835 strings here, although they are still guaranteed unique regardless
11836 of "meta-type".
11837
11838 "meta-type: SchemaMetaType"
11839 the entity's meta type, inherited from "base".
11840
11841 The members of "SchemaInfoBuiltin" when "meta-type" is "builtin"
11842 The members of "SchemaInfoEnum" when "meta-type" is "enum"
11843 The members of "SchemaInfoArray" when "meta-type" is "array"
11844 The members of "SchemaInfoObject" when "meta-type" is "object"
11845 The members of "SchemaInfoAlternate" when "meta-type" is "alternate"
11846 The members of "SchemaInfoCommand" when "meta-type" is "command"
11847 The members of "SchemaInfoEvent" when "meta-type" is "event"
11848
11849 Additional members depend on the value of "meta-type".
11850
11851 Since: 2.5
11852
11853 SchemaInfoBuiltin (Object)
11854
11855 Additional SchemaInfo members for meta-type 'builtin'.
11856
11857 Members:
11858
11859 "json-type: JSONType"
11860 the JSON type used for this type on the wire.
11861
11862 Since: 2.5
11863
11864 JSONType (Enum)
11865
11866 The four primitive and two structured types according to RFC 8259
11867 section 1, plus 'int' (split off 'number'), plus the obvious top type
11868 'value'.
11869
11870 Values:
11871
11872 "string"
11873 Not documented
11874
11875 "number"
11876 Not documented
11877
11878 "int"
11879 Not documented
11880
11881 "boolean"
11882 Not documented
11883
11884 "null"
11885 Not documented
11886
11887 "object"
11888 Not documented
11889
11890 "array"
11891 Not documented
11892
11893 "value"
11894 Not documented
11895
11896 Since: 2.5
11897
11898 SchemaInfoEnum (Object)
11899
11900 Additional SchemaInfo members for meta-type 'enum'.
11901
11902 Members:
11903
11904 "values: array of string"
11905 the enumeration type's values, in no particular order.
11906
11907 Values of this type are JSON string on the wire.
11908
11909 Since: 2.5
11910
11911 SchemaInfoArray (Object)
11912
11913 Additional SchemaInfo members for meta-type 'array'.
11914
11915 Members:
11916
11917 "element-type: string"
11918 the array type's element type.
11919
11920 Values of this type are JSON array on the wire.
11921
11922 Since: 2.5
11923
11924 SchemaInfoObject (Object)
11925
11926 Additional SchemaInfo members for meta-type 'object'.
11927
11928 Members:
11929
11930 "members: array of SchemaInfoObjectMember"
11931 the object type's (non-variant) members, in no particular order.
11932
11933 "tag: string" (optional)
11934 the name of the member serving as type tag. An element of
11935 "members" with this name must exist.
11936
11937 "variants: array of SchemaInfoObjectVariant" (optional)
11938 variant members, i.e. additional members that depend on the type
11939 tag's value. Present exactly when "tag" is present. The variants
11940 are in no particular order, and may even differ from the order of
11941 the values of the enum type of the "tag".
11942
11943 Values of this type are JSON object on the wire.
11944
11945 Since: 2.5
11946
11947 SchemaInfoObjectMember (Object)
11948
11949 An object member.
11950
11951 Members:
11952
11953 "name: string"
11954 the member's name, as defined in the QAPI schema.
11955
11956 "type: string"
11957 the name of the member's type.
11958
11959 "default: value" (optional)
11960 default when used as command parameter. If absent, the parameter
11961 is mandatory. If present, the value must be null. The parameter
11962 is optional, and behavior when it's missing is not specified here.
11963 Future extension: if present and non-null, the parameter is
11964 optional, and defaults to this value.
11965
11966 Since: 2.5
11967
11968 SchemaInfoObjectVariant (Object)
11969
11970 The variant members for a value of the type tag.
11971
11972 Members:
11973
11974 "case: string"
11975 a value of the type tag.
11976
11977 "type: string"
11978 the name of the object type that provides the variant members when
11979 the type tag has value "case".
11980
11981 Since: 2.5
11982
11983 SchemaInfoAlternate (Object)
11984
11985 Additional SchemaInfo members for meta-type 'alternate'.
11986
11987 Members:
11988
11989 "members: array of SchemaInfoAlternateMember"
11990 the alternate type's members, in no particular order. The members'
11991 wire encoding is distinct, see docs/devel/qapi-code-gen.txt section
11992 Alternate types.
11993
11994 On the wire, this can be any of the members.
11995
11996 Since: 2.5
11997
11998 SchemaInfoAlternateMember (Object)
11999
12000 An alternate member.
12001
12002 Members:
12003
12004 "type: string"
12005 the name of the member's type.
12006
12007 Since: 2.5
12008
12009 SchemaInfoCommand (Object)
12010
12011 Additional SchemaInfo members for meta-type 'command'.
12012
12013 Members:
12014
12015 "arg-type: string"
12016 the name of the object type that provides the command's parameters.
12017
12018 "ret-type: string"
12019 the name of the command's result type.
12020
12021 "allow-oob: boolean" (optional)
12022 whether the command allows out-of-band execution, defaults to false
12023 (Since: 2.12)
12024
12025 TODO: "success-response" (currently irrelevant, because it's QGA, not
12026 QMP)
12027
12028 Since: 2.5
12029
12030 SchemaInfoEvent (Object)
12031
12032 Additional SchemaInfo members for meta-type 'event'.
12033
12034 Members:
12035
12036 "arg-type: string"
12037 the name of the object type that provides the event's parameters.
12038
12039 Since: 2.5
12040
12041 Miscellanea
12042 qmp_capabilities (Command) Enable QMP capabilities.
12043
12044 Arguments:
12045
12046 Arguments:
12047
12048 "enable: array of QMPCapability" (optional)
12049 An optional list of QMPCapability values to enable. The client
12050 must not enable any capability that is not mentioned in the QMP
12051 greeting message. If the field is not provided, it means no QMP
12052 capabilities will be enabled. (since 2.12)
12053
12054 Example:
12055
12056 -> { "execute": "qmp_capabilities",
12057 "arguments": { "enable": [ "oob" ] } }
12058 <- { "return": {} }
12059
12060 Notes: This command is valid exactly when first connecting: it must be
12061 issued before any other command will be accepted, and will fail once
12062 the monitor is accepting other commands. (see qemu
12063 docs/interop/qmp-spec.txt)
12064
12065 The QMP client needs to explicitly enable QMP capabilities, otherwise
12066 all the QMP capabilities will be turned off by default.
12067
12068 Since: 0.13
12069
12070 QMPCapability (Enum)
12071
12072 Enumeration of capabilities to be advertised during initial client
12073 connection, used for agreeing on particular QMP extension behaviors.
12074
12075 Values:
12076
12077 "oob"
12078 QMP ability to support out-of-band requests. (Please refer to
12079 qmp-spec.txt for more information on OOB)
12080
12081 Since: 2.12
12082
12083 VersionTriple (Object)
12084
12085 A three-part version number.
12086
12087 Members:
12088
12089 "major: int"
12090 The major version number.
12091
12092 "minor: int"
12093 The minor version number.
12094
12095 "micro: int"
12096 The micro version number.
12097
12098 Since: 2.4
12099
12100 VersionInfo (Object)
12101
12102 A description of QEMU's version.
12103
12104 Members:
12105
12106 "qemu: VersionTriple"
12107 The version of QEMU. By current convention, a micro version of 50
12108 signifies a development branch. A micro version greater than or
12109 equal to 90 signifies a release candidate for the next minor
12110 version. A micro version of less than 50 signifies a stable
12111 release.
12112
12113 "package: string"
12114 QEMU will always set this field to an empty string. Downstream
12115 versions of QEMU should set this to a non-empty string. The exact
12116 format depends on the downstream however it highly recommended that
12117 a unique name is used.
12118
12119 Since: 0.14.0
12120
12121 query-version (Command) Returns the current version of QEMU.
12122
12123 Returns: A "VersionInfo" object describing the current version of QEMU.
12124
12125 Since: 0.14.0
12126
12127 Example:
12128
12129 -> { "execute": "query-version" }
12130 <- {
12131 "return":{
12132 "qemu":{
12133 "major":0,
12134 "minor":11,
12135 "micro":5
12136 },
12137 "package":""
12138 }
12139 }
12140
12141 CommandInfo (Object)
12142
12143 Information about a QMP command
12144
12145 Members:
12146
12147 "name: string"
12148 The command name
12149
12150 Since: 0.14.0
12151
12152 query-commands (Command) Return a list of supported QMP commands by
12153 this server
12154
12155 Returns: A list of "CommandInfo" for all supported commands
12156
12157 Since: 0.14.0
12158
12159 Example:
12160
12161 -> { "execute": "query-commands" }
12162 <- {
12163 "return":[
12164 {
12165 "name":"query-balloon"
12166 },
12167 {
12168 "name":"system_powerdown"
12169 }
12170 ]
12171 }
12172
12173 Note: This example has been shortened as the real response is too long.
12174
12175 LostTickPolicy (Enum)
12176
12177 Policy for handling lost ticks in timer devices.
12178
12179 Values:
12180
12181 "discard"
12182 throw away the missed tick(s) and continue with future injection
12183 normally. Guest time may be delayed, unless the OS has explicit
12184 handling of lost ticks
12185
12186 "delay"
12187 continue to deliver ticks at the normal rate. Guest time will be
12188 delayed due to the late tick
12189
12190 "merge"
12191 merge the missed tick(s) into one tick and inject. Guest time may
12192 be delayed, depending on how the OS reacts to the merging of ticks
12193
12194 "slew"
12195 deliver ticks at a higher rate to catch up with the missed tick.
12196 The guest time should not be delayed once catchup is complete.
12197
12198 Since: 2.0
12199
12200 add_client (Command) Allow client connections for VNC, Spice and
12201 socket based character devices to be passed in to QEMU via SCM_RIGHTS.
12202
12203 Arguments:
12204
12205 "protocol: string"
12206 protocol name. Valid names are "vnc", "spice" or the name of a
12207 character device (eg. from -chardev id=XXXX)
12208
12209 "fdname: string"
12210 file descriptor name previously passed via 'getfd' command
12211
12212 "skipauth: boolean" (optional)
12213 whether to skip authentication. Only applies to "vnc" and "spice"
12214 protocols
12215
12216 "tls: boolean" (optional)
12217 whether to perform TLS. Only applies to the "spice" protocol
12218
12219 Returns: nothing on success.
12220
12221 Since: 0.14.0
12222
12223 Example:
12224
12225 -> { "execute": "add_client", "arguments": { "protocol": "vnc",
12226 "fdname": "myclient" } }
12227 <- { "return": {} }
12228
12229 NameInfo (Object)
12230
12231 Guest name information.
12232
12233 Members:
12234
12235 "name: string" (optional)
12236 The name of the guest
12237
12238 Since: 0.14.0
12239
12240 query-name (Command) Return the name information of a guest.
12241
12242 Returns: "NameInfo" of the guest
12243
12244 Since: 0.14.0
12245
12246 Example:
12247
12248 -> { "execute": "query-name" }
12249 <- { "return": { "name": "qemu-name" } }
12250
12251 KvmInfo (Object)
12252
12253 Information about support for KVM acceleration
12254
12255 Members:
12256
12257 "enabled: boolean"
12258 true if KVM acceleration is active
12259
12260 "present: boolean"
12261 true if KVM acceleration is built into this executable
12262
12263 Since: 0.14.0
12264
12265 query-kvm (Command) Returns information about KVM acceleration
12266
12267 Returns: "KvmInfo"
12268
12269 Since: 0.14.0
12270
12271 Example:
12272
12273 -> { "execute": "query-kvm" }
12274 <- { "return": { "enabled": true, "present": true } }
12275
12276 UuidInfo (Object)
12277
12278 Guest UUID information (Universally Unique Identifier).
12279
12280 Members:
12281
12282 "UUID: string"
12283 the UUID of the guest
12284
12285 Since: 0.14.0
12286
12287 Notes: If no UUID was specified for the guest, a null UUID is returned.
12288
12289 query-uuid (Command) Query the guest UUID information.
12290
12291 Returns: The "UuidInfo" for the guest
12292
12293 Since: 0.14.0
12294
12295 Example:
12296
12297 -> { "execute": "query-uuid" }
12298 <- { "return": { "UUID": "550e8400-e29b-41d4-a716-446655440000" } }
12299
12300 EventInfo (Object)
12301
12302 Information about a QMP event
12303
12304 Members:
12305
12306 "name: string"
12307 The event name
12308
12309 Since: 1.2.0
12310
12311 query-events (Command) Return a list of supported QMP events by this
12312 server
12313
12314 Returns: A list of "EventInfo" for all supported events
12315
12316 Since: 1.2.0
12317
12318 Example:
12319
12320 -> { "execute": "query-events" }
12321 <- {
12322 "return": [
12323 {
12324 "name":"SHUTDOWN"
12325 },
12326 {
12327 "name":"RESET"
12328 }
12329 ]
12330 }
12331
12332 Note: This example has been shortened as the real response is too long.
12333
12334 CpuInfoArch (Enum)
12335
12336 An enumeration of cpu types that enable additional information during
12337 "query-cpus" and "query-cpus-fast".
12338
12339 Values:
12340
12341 "s390"
12342 since 2.12
12343
12344 "riscv"
12345 since 2.12
12346
12347 "x86"
12348 Not documented
12349
12350 "sparc"
12351 Not documented
12352
12353 "ppc"
12354 Not documented
12355
12356 "mips"
12357 Not documented
12358
12359 "tricore"
12360 Not documented
12361
12362 "other"
12363 Not documented
12364
12365 Since: 2.6
12366
12367 CpuInfo (Object)
12368
12369 Information about a virtual CPU
12370
12371 Members:
12372
12373 "CPU: int"
12374 the index of the virtual CPU
12375
12376 "current: boolean"
12377 this only exists for backwards compatibility and should be ignored
12378
12379 "halted: boolean"
12380 true if the virtual CPU is in the halt state. Halt usually refers
12381 to a processor specific low power mode.
12382
12383 "qom_path: string"
12384 path to the CPU object in the QOM tree (since 2.4)
12385
12386 "thread_id: int"
12387 ID of the underlying host thread
12388
12389 "props: CpuInstanceProperties" (optional)
12390 properties describing to which node/socket/core/thread virtual CPU
12391 belongs to, provided if supported by board (since 2.10)
12392
12393 "arch: CpuInfoArch"
12394 architecture of the cpu, which determines which additional fields
12395 will be listed (since 2.6)
12396
12397 The members of "CpuInfoX86" when "arch" is "x86"
12398 The members of "CpuInfoSPARC" when "arch" is "sparc"
12399 The members of "CpuInfoPPC" when "arch" is "ppc"
12400 The members of "CpuInfoMIPS" when "arch" is "mips"
12401 The members of "CpuInfoTricore" when "arch" is "tricore"
12402 The members of "CpuInfoS390" when "arch" is "s390"
12403 The members of "CpuInfoRISCV" when "arch" is "riscv"
12404
12405 Since: 0.14.0
12406
12407 Notes: "halted" is a transient state that changes frequently. By the
12408 time the data is sent to the client, the guest may no longer be halted.
12409
12410 CpuInfoX86 (Object)
12411
12412 Additional information about a virtual i386 or x86_64 CPU
12413
12414 Members:
12415
12416 "pc: int"
12417 the 64-bit instruction pointer
12418
12419 Since: 2.6
12420
12421 CpuInfoSPARC (Object)
12422
12423 Additional information about a virtual SPARC CPU
12424
12425 Members:
12426
12427 "pc: int"
12428 the PC component of the instruction pointer
12429
12430 "npc: int"
12431 the NPC component of the instruction pointer
12432
12433 Since: 2.6
12434
12435 CpuInfoPPC (Object)
12436
12437 Additional information about a virtual PPC CPU
12438
12439 Members:
12440
12441 "nip: int"
12442 the instruction pointer
12443
12444 Since: 2.6
12445
12446 CpuInfoMIPS (Object)
12447
12448 Additional information about a virtual MIPS CPU
12449
12450 Members:
12451
12452 "PC: int"
12453 the instruction pointer
12454
12455 Since: 2.6
12456
12457 CpuInfoTricore (Object)
12458
12459 Additional information about a virtual Tricore CPU
12460
12461 Members:
12462
12463 "PC: int"
12464 the instruction pointer
12465
12466 Since: 2.6
12467
12468 CpuInfoRISCV (Object)
12469
12470 Additional information about a virtual RISCV CPU
12471
12472 Members:
12473
12474 "pc: int"
12475 the instruction pointer
12476
12477 Since 2.12
12478
12479 CpuS390State (Enum)
12480
12481 An enumeration of cpu states that can be assumed by a virtual S390 CPU
12482
12483 Values:
12484
12485 "uninitialized"
12486 Not documented
12487
12488 "stopped"
12489 Not documented
12490
12491 "check-stop"
12492 Not documented
12493
12494 "operating"
12495 Not documented
12496
12497 "load"
12498 Not documented
12499
12500 Since: 2.12
12501
12502 CpuInfoS390 (Object)
12503
12504 Additional information about a virtual S390 CPU
12505
12506 Members:
12507
12508 "cpu-state: CpuS390State"
12509 the virtual CPU's state
12510
12511 Since: 2.12
12512
12513 query-cpus (Command) Returns a list of information about each virtual
12514 CPU.
12515
12516 This command causes vCPU threads to exit to userspace, which causes a
12517 small interruption to guest CPU execution. This will have a negative
12518 impact on realtime guests and other latency sensitive guest workloads.
12519 It is recommended to use "query-cpus-fast" instead of this command to
12520 avoid the vCPU interruption.
12521
12522 Returns: a list of "CpuInfo" for each virtual CPU
12523
12524 Since: 0.14.0
12525
12526 Example:
12527
12528 -> { "execute": "query-cpus" }
12529 <- { "return": [
12530 {
12531 "CPU":0,
12532 "current":true,
12533 "halted":false,
12534 "qom_path":"/machine/unattached/device[0]",
12535 "arch":"x86",
12536 "pc":3227107138,
12537 "thread_id":3134
12538 },
12539 {
12540 "CPU":1,
12541 "current":false,
12542 "halted":true,
12543 "qom_path":"/machine/unattached/device[2]",
12544 "arch":"x86",
12545 "pc":7108165,
12546 "thread_id":3135
12547 }
12548 ]
12549 }
12550
12551 Notes: This interface is deprecated (since 2.12.0), and it is strongly
12552 recommended that you avoid using it. Use "query-cpus-fast" to obtain
12553 information about virtual CPUs.
12554
12555 CpuInfoFast (Object)
12556
12557 Information about a virtual CPU
12558
12559 Members:
12560
12561 "cpu-index: int"
12562 index of the virtual CPU
12563
12564 "qom-path: string"
12565 path to the CPU object in the QOM tree
12566
12567 "thread-id: int"
12568 ID of the underlying host thread
12569
12570 "props: CpuInstanceProperties" (optional)
12571 properties describing to which node/socket/core/thread virtual CPU
12572 belongs to, provided if supported by board
12573
12574 "arch: CpuInfoArch"
12575 base architecture of the cpu; deprecated since 3.0.0 in favor of
12576 "target"
12577
12578 "target: SysEmuTarget"
12579 the QEMU system emulation target, which determines which additional
12580 fields will be listed (since 3.0)
12581
12582 The members of "CpuInfoS390" when "target" is "s390x"
12583
12584 Since: 2.12
12585
12586 query-cpus-fast (Command) Returns information about all virtual CPUs.
12587 This command does not incur a performance penalty and should be used in
12588 production instead of query-cpus.
12589
12590 Returns: list of "CpuInfoFast"
12591
12592 Since: 2.12
12593
12594 Example:
12595
12596 -> { "execute": "query-cpus-fast" }
12597 <- { "return": [
12598 {
12599 "thread-id": 25627,
12600 "props": {
12601 "core-id": 0,
12602 "thread-id": 0,
12603 "socket-id": 0
12604 },
12605 "qom-path": "/machine/unattached/device[0]",
12606 "arch":"x86",
12607 "target":"x86_64",
12608 "cpu-index": 0
12609 },
12610 {
12611 "thread-id": 25628,
12612 "props": {
12613 "core-id": 0,
12614 "thread-id": 0,
12615 "socket-id": 1
12616 },
12617 "qom-path": "/machine/unattached/device[2]",
12618 "arch":"x86",
12619 "target":"x86_64",
12620 "cpu-index": 1
12621 }
12622 ]
12623 }
12624
12625 IOThreadInfo (Object)
12626
12627 Information about an iothread
12628
12629 Members:
12630
12631 "id: string"
12632 the identifier of the iothread
12633
12634 "thread-id: int"
12635 ID of the underlying host thread
12636
12637 "poll-max-ns: int"
12638 maximum polling time in ns, 0 means polling is disabled (since 2.9)
12639
12640 "poll-grow: int"
12641 how many ns will be added to polling time, 0 means that it's not
12642 configured (since 2.9)
12643
12644 "poll-shrink: int"
12645 how many ns will be removed from polling time, 0 means that it's
12646 not configured (since 2.9)
12647
12648 Since: 2.0
12649
12650 query-iothreads (Command) Returns a list of information about each
12651 iothread.
12652
12653 Note: this list excludes the QEMU main loop thread, which is not
12654 declared using the -object iothread command-line option. It is always
12655 the main thread of the process.
12656
12657 Returns: a list of "IOThreadInfo" for each iothread
12658
12659 Since: 2.0
12660
12661 Example:
12662
12663 -> { "execute": "query-iothreads" }
12664 <- { "return": [
12665 {
12666 "id":"iothread0",
12667 "thread-id":3134
12668 },
12669 {
12670 "id":"iothread1",
12671 "thread-id":3135
12672 }
12673 ]
12674 }
12675
12676 BalloonInfo (Object)
12677
12678 Information about the guest balloon device.
12679
12680 Members:
12681
12682 "actual: int"
12683 the number of bytes the balloon currently contains
12684
12685 Since: 0.14.0
12686
12687 query-balloon (Command) Return information about the balloon device.
12688
12689 Returns: "BalloonInfo" on success
12690
12691 If the balloon driver is enabled but not functional because the KVM
12692 kernel module cannot support it, KvmMissingCap
12693
12694 If no balloon device is present, DeviceNotActive
12695
12696 Since: 0.14.0
12697
12698 Example:
12699
12700 -> { "execute": "query-balloon" }
12701 <- { "return": {
12702 "actual": 1073741824,
12703 }
12704 }
12705
12706 BALLOON_CHANGE (Event) Emitted when the guest changes the actual
12707 BALLOON level. This value is equivalent to the "actual" field return by
12708 the 'query-balloon' command
12709
12710 Arguments:
12711
12712 "actual: int"
12713 actual level of the guest memory balloon in bytes
12714
12715 Note: this event is rate-limited.
12716
12717 Since: 1.2
12718
12719 Example:
12720
12721 <- { "event": "BALLOON_CHANGE",
12722 "data": { "actual": 944766976 },
12723 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
12724
12725 PciMemoryRange (Object)
12726
12727 A PCI device memory region
12728
12729 Members:
12730
12731 "base: int"
12732 the starting address (guest physical)
12733
12734 "limit: int"
12735 the ending address (guest physical)
12736
12737 Since: 0.14.0
12738
12739 PciMemoryRegion (Object)
12740
12741 Information about a PCI device I/O region.
12742
12743 Members:
12744
12745 "bar: int"
12746 the index of the Base Address Register for this region
12747
12748 "type: string"
12749 'io' if the region is a PIO region 'memory' if the region is a MMIO
12750 region
12751
12752 "size: int"
12753 memory size
12754
12755 "prefetch: boolean" (optional)
12756 if "type" is 'memory', true if the memory is prefetchable
12757
12758 "mem_type_64: boolean" (optional)
12759 if "type" is 'memory', true if the BAR is 64-bit
12760
12761 "address: int"
12762 Not documented
12763
12764 Since: 0.14.0
12765
12766 PciBusInfo (Object)
12767
12768 Information about a bus of a PCI Bridge device
12769
12770 Members:
12771
12772 "number: int"
12773 primary bus interface number. This should be the number of the bus
12774 the device resides on.
12775
12776 "secondary: int"
12777 secondary bus interface number. This is the number of the main bus
12778 for the bridge
12779
12780 "subordinate: int"
12781 This is the highest number bus that resides below the bridge.
12782
12783 "io_range: PciMemoryRange"
12784 The PIO range for all devices on this bridge
12785
12786 "memory_range: PciMemoryRange"
12787 The MMIO range for all devices on this bridge
12788
12789 "prefetchable_range: PciMemoryRange"
12790 The range of prefetchable MMIO for all devices on this bridge
12791
12792 Since: 2.4
12793
12794 PciBridgeInfo (Object)
12795
12796 Information about a PCI Bridge device
12797
12798 Members:
12799
12800 "bus: PciBusInfo"
12801 information about the bus the device resides on
12802
12803 "devices: array of PciDeviceInfo" (optional)
12804 a list of "PciDeviceInfo" for each device on this bridge
12805
12806 Since: 0.14.0
12807
12808 PciDeviceClass (Object)
12809
12810 Information about the Class of a PCI device
12811
12812 Members:
12813
12814 "desc: string" (optional)
12815 a string description of the device's class
12816
12817 "class: int"
12818 the class code of the device
12819
12820 Since: 2.4
12821
12822 PciDeviceId (Object)
12823
12824 Information about the Id of a PCI device
12825
12826 Members:
12827
12828 "device: int"
12829 the PCI device id
12830
12831 "vendor: int"
12832 the PCI vendor id
12833
12834 "subsystem: int" (optional)
12835 the PCI subsystem id (since 3.1)
12836
12837 "subsystem-vendor: int" (optional)
12838 the PCI subsystem vendor id (since 3.1)
12839
12840 Since: 2.4
12841
12842 PciDeviceInfo (Object)
12843
12844 Information about a PCI device
12845
12846 Members:
12847
12848 "bus: int"
12849 the bus number of the device
12850
12851 "slot: int"
12852 the slot the device is located in
12853
12854 "function: int"
12855 the function of the slot used by the device
12856
12857 "class_info: PciDeviceClass"
12858 the class of the device
12859
12860 "id: PciDeviceId"
12861 the PCI device id
12862
12863 "irq: int" (optional)
12864 if an IRQ is assigned to the device, the IRQ number
12865
12866 "qdev_id: string"
12867 the device name of the PCI device
12868
12869 "pci_bridge: PciBridgeInfo" (optional)
12870 if the device is a PCI bridge, the bridge information
12871
12872 "regions: array of PciMemoryRegion"
12873 a list of the PCI I/O regions associated with the device
12874
12875 Notes: the contents of "class_info".desc are not stable and should only
12876 be treated as informational.
12877
12878 Since: 0.14.0
12879
12880 PciInfo (Object)
12881
12882 Information about a PCI bus
12883
12884 Members:
12885
12886 "bus: int"
12887 the bus index
12888
12889 "devices: array of PciDeviceInfo"
12890 a list of devices on this bus
12891
12892 Since: 0.14.0
12893
12894 query-pci (Command) Return information about the PCI bus topology of
12895 the guest.
12896
12897 Returns: a list of "PciInfo" for each PCI bus. Each bus is represented
12898 by a json-object, which has a key with a json-array of all PCI devices
12899 attached to it. Each device is represented by a json-object.
12900
12901 Since: 0.14.0
12902
12903 Example:
12904
12905 -> { "execute": "query-pci" }
12906 <- { "return": [
12907 {
12908 "bus": 0,
12909 "devices": [
12910 {
12911 "bus": 0,
12912 "qdev_id": "",
12913 "slot": 0,
12914 "class_info": {
12915 "class": 1536,
12916 "desc": "Host bridge"
12917 },
12918 "id": {
12919 "device": 32902,
12920 "vendor": 4663
12921 },
12922 "function": 0,
12923 "regions": [
12924 ]
12925 },
12926 {
12927 "bus": 0,
12928 "qdev_id": "",
12929 "slot": 1,
12930 "class_info": {
12931 "class": 1537,
12932 "desc": "ISA bridge"
12933 },
12934 "id": {
12935 "device": 32902,
12936 "vendor": 28672
12937 },
12938 "function": 0,
12939 "regions": [
12940 ]
12941 },
12942 {
12943 "bus": 0,
12944 "qdev_id": "",
12945 "slot": 1,
12946 "class_info": {
12947 "class": 257,
12948 "desc": "IDE controller"
12949 },
12950 "id": {
12951 "device": 32902,
12952 "vendor": 28688
12953 },
12954 "function": 1,
12955 "regions": [
12956 {
12957 "bar": 4,
12958 "size": 16,
12959 "address": 49152,
12960 "type": "io"
12961 }
12962 ]
12963 },
12964 {
12965 "bus": 0,
12966 "qdev_id": "",
12967 "slot": 2,
12968 "class_info": {
12969 "class": 768,
12970 "desc": "VGA controller"
12971 },
12972 "id": {
12973 "device": 4115,
12974 "vendor": 184
12975 },
12976 "function": 0,
12977 "regions": [
12978 {
12979 "prefetch": true,
12980 "mem_type_64": false,
12981 "bar": 0,
12982 "size": 33554432,
12983 "address": 4026531840,
12984 "type": "memory"
12985 },
12986 {
12987 "prefetch": false,
12988 "mem_type_64": false,
12989 "bar": 1,
12990 "size": 4096,
12991 "address": 4060086272,
12992 "type": "memory"
12993 },
12994 {
12995 "prefetch": false,
12996 "mem_type_64": false,
12997 "bar": 6,
12998 "size": 65536,
12999 "address": -1,
13000 "type": "memory"
13001 }
13002 ]
13003 },
13004 {
13005 "bus": 0,
13006 "qdev_id": "",
13007 "irq": 11,
13008 "slot": 4,
13009 "class_info": {
13010 "class": 1280,
13011 "desc": "RAM controller"
13012 },
13013 "id": {
13014 "device": 6900,
13015 "vendor": 4098
13016 },
13017 "function": 0,
13018 "regions": [
13019 {
13020 "bar": 0,
13021 "size": 32,
13022 "address": 49280,
13023 "type": "io"
13024 }
13025 ]
13026 }
13027 ]
13028 }
13029 ]
13030 }
13031
13032 Note: This example has been shortened as the real response is too long.
13033
13034 quit (Command) This command will cause the QEMU process to exit
13035 gracefully. While every attempt is made to send the QMP response
13036 before terminating, this is not guaranteed. When using this interface,
13037 a premature EOF would not be unexpected.
13038
13039 Since: 0.14.0
13040
13041 Example:
13042
13043 -> { "execute": "quit" }
13044 <- { "return": {} }
13045
13046 stop (Command) Stop all guest VCPU execution.
13047
13048 Since: 0.14.0
13049
13050 Notes: This function will succeed even if the guest is already in the
13051 stopped state. In "inmigrate" state, it will ensure that the guest
13052 remains paused once migration finishes, as if the -S option was passed
13053 on the command line.
13054
13055 Example:
13056
13057 -> { "execute": "stop" }
13058 <- { "return": {} }
13059
13060 system_reset (Command) Performs a hard reset of a guest.
13061
13062 Since: 0.14.0
13063
13064 Example:
13065
13066 -> { "execute": "system_reset" }
13067 <- { "return": {} }
13068
13069 system_powerdown (Command) Requests that a guest perform a powerdown
13070 operation.
13071
13072 Since: 0.14.0
13073
13074 Notes: A guest may or may not respond to this command. This command
13075 returning does not indicate that a guest has accepted the request or
13076 that it has shut down. Many guests will respond to this command by
13077 prompting the user in some way.
13078
13079 Example:
13080
13081 -> { "execute": "system_powerdown" }
13082 <- { "return": {} }
13083
13084 cpu-add (Command) Adds CPU with specified ID
13085
13086 Arguments:
13087
13088 "id: int"
13089 ID of CPU to be created, valid values [0..max_cpus)
13090
13091 Returns: Nothing on success
13092
13093 Since: 1.5
13094
13095 Example:
13096
13097 -> { "execute": "cpu-add", "arguments": { "id": 2 } }
13098 <- { "return": {} }
13099
13100 memsave (Command) Save a portion of guest memory to a file.
13101
13102 Arguments:
13103
13104 "val: int"
13105 the virtual address of the guest to start from
13106
13107 "size: int"
13108 the size of memory region to save
13109
13110 "filename: string"
13111 the file to save the memory to as binary data
13112
13113 "cpu-index: int" (optional)
13114 the index of the virtual CPU to use for translating the virtual
13115 address (defaults to CPU 0)
13116
13117 Returns: Nothing on success
13118
13119 Since: 0.14.0
13120
13121 Notes: Errors were not reliably returned until 1.1
13122
13123 Example:
13124
13125 -> { "execute": "memsave",
13126 "arguments": { "val": 10,
13127 "size": 100,
13128 "filename": "/tmp/virtual-mem-dump" } }
13129 <- { "return": {} }
13130
13131 pmemsave (Command) Save a portion of guest physical memory to a file.
13132
13133 Arguments:
13134
13135 "val: int"
13136 the physical address of the guest to start from
13137
13138 "size: int"
13139 the size of memory region to save
13140
13141 "filename: string"
13142 the file to save the memory to as binary data
13143
13144 Returns: Nothing on success
13145
13146 Since: 0.14.0
13147
13148 Notes: Errors were not reliably returned until 1.1
13149
13150 Example:
13151
13152 -> { "execute": "pmemsave",
13153 "arguments": { "val": 10,
13154 "size": 100,
13155 "filename": "/tmp/physical-mem-dump" } }
13156 <- { "return": {} }
13157
13158 cont (Command) Resume guest VCPU execution.
13159
13160 Since: 0.14.0
13161
13162 Returns: If successful, nothing
13163
13164 Notes: This command will succeed if the guest is currently running. It
13165 will also succeed if the guest is in the "inmigrate" state; in this
13166 case, the effect of the command is to make sure the guest starts once
13167 migration finishes, removing the effect of the -S command line option
13168 if it was passed.
13169
13170 Example:
13171
13172 -> { "execute": "cont" }
13173 <- { "return": {} }
13174
13175 x-exit-preconfig (Command) Exit from "preconfig" state
13176
13177 This command makes QEMU exit the preconfig state and proceed with VM
13178 initialization using configuration data provided on the command line
13179 and via the QMP monitor during the preconfig state. The command is only
13180 available during the preconfig state (i.e. when the --preconfig command
13181 line option was in use).
13182
13183 Since 3.0
13184
13185 Returns: nothing
13186
13187 Example:
13188
13189 -> { "execute": "x-exit-preconfig" }
13190 <- { "return": {} }
13191
13192 system_wakeup (Command) Wakeup guest from suspend. Does nothing in
13193 case the guest isn't suspended.
13194
13195 Since: 1.1
13196
13197 Returns: nothing.
13198
13199 Example:
13200
13201 -> { "execute": "system_wakeup" }
13202 <- { "return": {} }
13203
13204 inject-nmi (Command) Injects a Non-Maskable Interrupt into the default
13205 CPU (x86/s390) or all CPUs (ppc64). The command fails when the guest
13206 doesn't support injecting.
13207
13208 Returns: If successful, nothing
13209
13210 Since: 0.14.0
13211
13212 Note: prior to 2.1, this command was only supported for x86 and s390
13213 VMs
13214
13215 Example:
13216
13217 -> { "execute": "inject-nmi" }
13218 <- { "return": {} }
13219
13220 balloon (Command) Request the balloon driver to change its balloon
13221 size.
13222
13223 Arguments:
13224
13225 "value: int"
13226 the target size of the balloon in bytes
13227
13228 Returns: Nothing on success If the balloon driver is enabled but not
13229 functional because the KVM kernel module cannot support it,
13230 KvmMissingCap If no balloon device is present, DeviceNotActive
13231
13232 Notes: This command just issues a request to the guest. When it
13233 returns, the balloon size may not have changed. A guest can change the
13234 balloon size independent of this command.
13235
13236 Since: 0.14.0
13237
13238 Example:
13239
13240 -> { "execute": "balloon", "arguments": { "value": 536870912 } }
13241 <- { "return": {} }
13242
13243 human-monitor-command (Command) Execute a command on the human monitor
13244 and return the output.
13245
13246 Arguments:
13247
13248 "command-line: string"
13249 the command to execute in the human monitor
13250
13251 "cpu-index: int" (optional)
13252 The CPU to use for commands that require an implicit CPU
13253
13254 Returns: the output of the command as a string
13255
13256 Since: 0.14.0
13257
13258 Notes: This command only exists as a stop-gap. Its use is highly
13259 discouraged. The semantics of this command are not guaranteed: this
13260 means that command names, arguments and responses can change or be
13261 removed at ANY time. Applications that rely on long term stability
13262 guarantees should NOT use this command.
13263
13264 Known limitations:
13265
13266 · This command is stateless, this means that commands that depend on
13267 state information (such as getfd) might not work
13268
13269 · Commands that prompt the user for data don't currently work
13270
13271 Example:
13272
13273 -> { "execute": "human-monitor-command",
13274 "arguments": { "command-line": "info kvm" } }
13275 <- { "return": "kvm support: enabled\r\n" }
13276
13277 ObjectPropertyInfo (Object)
13278
13279 Members:
13280
13281 "name: string"
13282 the name of the property
13283
13284 "type: string"
13285 the type of the property. This will typically come in one of four
13286 forms:
13287
13288 1) A primitive type such as 'u8', 'u16', 'bool', 'str', or
13289 'double'. These types are mapped to the appropriate JSON type.
13290
13291 2) A child type in the form 'child<subtype>' where subtype is a
13292 qdev device type name. Child properties create the composition
13293 tree.
13294
13295 3) A link type in the form 'link<subtype>' where subtype is a qdev
13296 device type name. Link properties form the device model graph.
13297
13298 "description: string" (optional)
13299 if specified, the description of the property.
13300
13301 Since: 1.2
13302
13303 qom-list (Command) This command will list any properties of a object
13304 given a path in the object model.
13305
13306 Arguments:
13307
13308 "path: string"
13309 the path within the object model. See "qom-get" for a description
13310 of this parameter.
13311
13312 Returns: a list of "ObjectPropertyInfo" that describe the properties of
13313 the object.
13314
13315 Since: 1.2
13316
13317 qom-get (Command) This command will get a property from a object model
13318 path and return the value.
13319
13320 Arguments:
13321
13322 "path: string"
13323 The path within the object model. There are two forms of supported
13324 paths--absolute and partial paths.
13325
13326 Absolute paths are derived from the root object and can follow
13327 child<> or link<> properties. Since they can follow link<>
13328 properties, they can be arbitrarily long. Absolute paths look like
13329 absolute filenames and are prefixed with a leading slash.
13330
13331 Partial paths look like relative filenames. They do not begin with
13332 a prefix. The matching rules for partial paths are subtle but
13333 designed to make specifying objects easy. At each level of the
13334 composition tree, the partial path is matched as an absolute path.
13335 The first match is not returned. At least two matches are searched
13336 for. A successful result is only returned if only one match is
13337 found. If more than one match is found, a flag is return to
13338 indicate that the match was ambiguous.
13339
13340 "property: string"
13341 The property name to read
13342
13343 Returns: The property value. The type depends on the property type.
13344 child<> and link<> properties are returned as #str pathnames. All
13345 integer property types (u8, u16, etc) are returned as #int.
13346
13347 Since: 1.2
13348
13349 qom-set (Command) This command will set a property from a object model
13350 path.
13351
13352 Arguments:
13353
13354 "path: string"
13355 see "qom-get" for a description of this parameter
13356
13357 "property: string"
13358 the property name to set
13359
13360 "value: value"
13361 a value who's type is appropriate for the property type. See
13362 "qom-get" for a description of type mapping.
13363
13364 Since: 1.2
13365
13366 change (Command) This command is multiple commands multiplexed
13367 together.
13368
13369 Arguments:
13370
13371 "device: string"
13372 This is normally the name of a block device but it may also be
13373 'vnc'. when it's 'vnc', then sub command depends on "target"
13374
13375 "target: string"
13376 If "device" is a block device, then this is the new filename. If
13377 "device" is 'vnc', then if the value 'password' selects the vnc
13378 change password command. Otherwise, this specifies a new server
13379 URI address to listen to for VNC connections.
13380
13381 "arg: string" (optional)
13382 If "device" is a block device, then this is an optional format to
13383 open the device with. If "device" is 'vnc' and "target" is
13384 'password', this is the new VNC password to set. See change-vnc-
13385 password for additional notes.
13386
13387 Returns: Nothing on success. If "device" is not a valid block device,
13388 DeviceNotFound
13389
13390 Notes: This interface is deprecated, and it is strongly recommended
13391 that you avoid using it. For changing block devices, use blockdev-
13392 change-medium; for changing VNC parameters, use change-vnc-password.
13393
13394 Since: 0.14.0
13395
13396 Example:
13397
13398 1. Change a removable medium
13399
13400 -> { "execute": "change",
13401 "arguments": { "device": "ide1-cd0",
13402 "target": "/srv/images/Fedora-12-x86_64-DVD.iso" } }
13403 <- { "return": {} }
13404
13405 2. Change VNC password
13406
13407 -> { "execute": "change",
13408 "arguments": { "device": "vnc", "target": "password",
13409 "arg": "foobar1" } }
13410 <- { "return": {} }
13411
13412 ObjectTypeInfo (Object)
13413
13414 This structure describes a search result from "qom-list-types"
13415
13416 Members:
13417
13418 "name: string"
13419 the type name found in the search
13420
13421 "abstract: boolean" (optional)
13422 the type is abstract and can't be directly instantiated. Omitted
13423 if false. (since 2.10)
13424
13425 "parent: string" (optional)
13426 Name of parent type, if any (since 2.10)
13427
13428 Since: 1.1
13429
13430 qom-list-types (Command) This command will return a list of types
13431 given search parameters
13432
13433 Arguments:
13434
13435 "implements: string" (optional)
13436 if specified, only return types that implement this type name
13437
13438 "abstract: boolean" (optional)
13439 if true, include abstract types in the results
13440
13441 Returns: a list of "ObjectTypeInfo" or an empty list if no results are
13442 found
13443
13444 Since: 1.1
13445
13446 device-list-properties (Command) List properties associated with a
13447 device.
13448
13449 Arguments:
13450
13451 "typename: string"
13452 the type name of a device
13453
13454 Returns: a list of ObjectPropertyInfo describing a devices properties
13455
13456 Note: objects can create properties at runtime, for example to describe
13457 links between different devices and/or objects. These properties are
13458 not included in the output of this command.
13459
13460 Since: 1.2
13461
13462 qom-list-properties (Command) List properties associated with a QOM
13463 object.
13464
13465 Arguments:
13466
13467 "typename: string"
13468 the type name of an object
13469
13470 Note: objects can create properties at runtime, for example to describe
13471 links between different devices and/or objects. These properties are
13472 not included in the output of this command.
13473
13474 Returns: a list of ObjectPropertyInfo describing object properties
13475
13476 Since: 2.12
13477
13478 xen-set-global-dirty-log (Command) Enable or disable the global dirty
13479 log mode.
13480
13481 Arguments:
13482
13483 "enable: boolean"
13484 true to enable, false to disable.
13485
13486 Returns: nothing
13487
13488 Since: 1.3
13489
13490 Example:
13491
13492 -> { "execute": "xen-set-global-dirty-log",
13493 "arguments": { "enable": true } }
13494 <- { "return": {} }
13495
13496 device_add (Command)
13497
13498 Arguments:
13499
13500 "driver: string"
13501 the name of the new device's driver
13502
13503 "bus: string" (optional)
13504 the device's parent bus (device tree path)
13505
13506 "id: string" (optional)
13507 the device's ID, must be unique
13508
13509 Additional arguments depend on the type.
13510
13511 Add a device.
13512
13513 Notes:
13514
13515 1. For detailed information about this command, please refer to the
13516 'docs/qdev-device-use.txt' file.
13517
13518 2. It's possible to list device properties by running QEMU with the
13519 "-device DEVICE,help" command-line argument, where DEVICE is the
13520 device's name
13521
13522 Example:
13523
13524 -> { "execute": "device_add",
13525 "arguments": { "driver": "e1000", "id": "net1",
13526 "bus": "pci.0",
13527 "mac": "52:54:00:12:34:56" } }
13528 <- { "return": {} }
13529
13530 TODO: This command effectively bypasses QAPI completely due to its
13531 "additional arguments" business. It shouldn't have been added to the
13532 schema in this form. It should be qapified properly, or replaced by a
13533 properly qapified command.
13534
13535 Since: 0.13
13536
13537 device_del (Command) Remove a device from a guest
13538
13539 Arguments:
13540
13541 "id: string"
13542 the device's ID or QOM path
13543
13544 Returns: Nothing on success If "id" is not a valid device,
13545 DeviceNotFound
13546
13547 Notes: When this command completes, the device may not be removed from
13548 the guest. Hot removal is an operation that requires guest
13549 cooperation. This command merely requests that the guest begin the hot
13550 removal process. Completion of the device removal process is signaled
13551 with a DEVICE_DELETED event. Guest reset will automatically complete
13552 removal for all devices.
13553
13554 Since: 0.14.0
13555
13556 Example:
13557
13558 -> { "execute": "device_del",
13559 "arguments": { "id": "net1" } }
13560 <- { "return": {} }
13561
13562 -> { "execute": "device_del",
13563 "arguments": { "id": "/machine/peripheral-anon/device[0]" } }
13564 <- { "return": {} }
13565
13566 DEVICE_DELETED (Event) Emitted whenever the device removal completion
13567 is acknowledged by the guest. At this point, it's safe to reuse the
13568 specified device ID. Device removal can be initiated by the guest or by
13569 HMP/QMP commands.
13570
13571 Arguments:
13572
13573 "device: string" (optional)
13574 device name
13575
13576 "path: string"
13577 device path
13578
13579 Since: 1.5
13580
13581 Example:
13582
13583 <- { "event": "DEVICE_DELETED",
13584 "data": { "device": "virtio-net-pci-0",
13585 "path": "/machine/peripheral/virtio-net-pci-0" },
13586 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
13587
13588 DumpGuestMemoryFormat (Enum)
13589
13590 An enumeration of guest-memory-dump's format.
13591
13592 Values:
13593
13594 "elf"
13595 elf format
13596
13597 "kdump-zlib"
13598 kdump-compressed format with zlib-compressed
13599
13600 "kdump-lzo"
13601 kdump-compressed format with lzo-compressed
13602
13603 "kdump-snappy"
13604 kdump-compressed format with snappy-compressed
13605
13606 "win-dmp"
13607 Windows full crashdump format, can be used instead of ELF
13608 converting (since 2.13)
13609
13610 Since: 2.0
13611
13612 dump-guest-memory (Command) Dump guest's memory to vmcore. It is a
13613 synchronous operation that can take very long depending on the amount
13614 of guest memory.
13615
13616 Arguments:
13617
13618 "paging: boolean"
13619 if true, do paging to get guest's memory mapping. This allows using
13620 gdb to process the core file.
13621
13622 IMPORTANT: this option can make QEMU allocate several gigabytes of
13623 RAM. This can happen for a large guest, or a malicious guest
13624 pretending to be large.
13625
13626 Also, paging=true has the following limitations:
13627
13628 1. The guest may be in a catastrophic state or can have corrupted
13629 memory, which cannot be trusted
13630
13631 2. The guest can be in real-mode even if paging is enabled. For
13632 example, the guest uses ACPI to sleep, and ACPI sleep state
13633 goes in real-mode
13634
13635 3. Currently only supported on i386 and x86_64.
13636
13637 "protocol: string"
13638 the filename or file descriptor of the vmcore. The supported
13639 protocols are:
13640
13641 1. file: the protocol starts with "file:", and the following
13642 string is the file's path.
13643
13644 2. fd: the protocol starts with "fd:", and the following string is
13645 the fd's name.
13646
13647 "detach: boolean" (optional)
13648 if true, QMP will return immediately rather than waiting for the
13649 dump to finish. The user can track progress using "query-dump".
13650 (since 2.6).
13651
13652 "begin: int" (optional)
13653 if specified, the starting physical address.
13654
13655 "length: int" (optional)
13656 if specified, the memory size, in bytes. If you don't want to dump
13657 all guest's memory, please specify the start "begin" and "length"
13658
13659 "format: DumpGuestMemoryFormat" (optional)
13660 if specified, the format of guest memory dump. But non-elf format
13661 is conflict with paging and filter, ie. "paging", "begin" and
13662 "length" is not allowed to be specified with non-elf "format" at
13663 the same time (since 2.0)
13664
13665 Note: All boolean arguments default to false
13666
13667 Returns: nothing on success
13668
13669 Since: 1.2
13670
13671 Example:
13672
13673 -> { "execute": "dump-guest-memory",
13674 "arguments": { "protocol": "fd:dump" } }
13675 <- { "return": {} }
13676
13677 DumpStatus (Enum)
13678
13679 Describe the status of a long-running background guest memory dump.
13680
13681 Values:
13682
13683 "none"
13684 no dump-guest-memory has started yet.
13685
13686 "active"
13687 there is one dump running in background.
13688
13689 "completed"
13690 the last dump has finished successfully.
13691
13692 "failed"
13693 the last dump has failed.
13694
13695 Since: 2.6
13696
13697 DumpQueryResult (Object)
13698
13699 The result format for 'query-dump'.
13700
13701 Members:
13702
13703 "status: DumpStatus"
13704 enum of "DumpStatus", which shows current dump status
13705
13706 "completed: int"
13707 bytes written in latest dump (uncompressed)
13708
13709 "total: int"
13710 total bytes to be written in latest dump (uncompressed)
13711
13712 Since: 2.6
13713
13714 query-dump (Command) Query latest dump status.
13715
13716 Returns: A "DumpStatus" object showing the dump status.
13717
13718 Since: 2.6
13719
13720 Example:
13721
13722 -> { "execute": "query-dump" }
13723 <- { "return": { "status": "active", "completed": 1024000,
13724 "total": 2048000 } }
13725
13726 DUMP_COMPLETED (Event) Emitted when background dump has completed
13727
13728 Arguments:
13729
13730 "result: DumpQueryResult"
13731 final dump status
13732
13733 "error: string" (optional)
13734 human-readable error string that provides hint on why dump failed.
13735 Only presents on failure. The user should not try to interpret the
13736 error string.
13737
13738 Since: 2.6
13739
13740 Example:
13741
13742 { "event": "DUMP_COMPLETED",
13743 "data": {"result": {"total": 1090650112, "status": "completed",
13744 "completed": 1090650112} } }
13745
13746 DumpGuestMemoryCapability (Object)
13747
13748 A list of the available formats for dump-guest-memory
13749
13750 Members:
13751
13752 "formats: array of DumpGuestMemoryFormat"
13753 Not documented
13754
13755 Since: 2.0
13756
13757 query-dump-guest-memory-capability (Command) Returns the available
13758 formats for dump-guest-memory
13759
13760 Returns: A "DumpGuestMemoryCapability" object listing available formats
13761 for dump-guest-memory
13762
13763 Since: 2.0
13764
13765 Example:
13766
13767 -> { "execute": "query-dump-guest-memory-capability" }
13768 <- { "return": { "formats":
13769 ["elf", "kdump-zlib", "kdump-lzo", "kdump-snappy"] }
13770
13771 dump-skeys (Command) Dump guest's storage keys
13772
13773 Arguments:
13774
13775 "filename: string"
13776 the path to the file to dump to
13777
13778 This command is only supported on s390 architecture.
13779
13780 Since: 2.5
13781
13782 Example:
13783
13784 -> { "execute": "dump-skeys",
13785 "arguments": { "filename": "/tmp/skeys" } }
13786 <- { "return": {} }
13787
13788 object-add (Command) Create a QOM object.
13789
13790 Arguments:
13791
13792 "qom-type: string"
13793 the class name for the object to be created
13794
13795 "id: string"
13796 the name of the new object
13797
13798 "props: value" (optional)
13799 a dictionary of properties to be passed to the backend
13800
13801 Returns: Nothing on success Error if "qom-type" is not a valid class
13802 name
13803
13804 Since: 2.0
13805
13806 Example:
13807
13808 -> { "execute": "object-add",
13809 "arguments": { "qom-type": "rng-random", "id": "rng1",
13810 "props": { "filename": "/dev/hwrng" } } }
13811 <- { "return": {} }
13812
13813 object-del (Command) Remove a QOM object.
13814
13815 Arguments:
13816
13817 "id: string"
13818 the name of the QOM object to remove
13819
13820 Returns: Nothing on success Error if "id" is not a valid id for a QOM
13821 object
13822
13823 Since: 2.0
13824
13825 Example:
13826
13827 -> { "execute": "object-del", "arguments": { "id": "rng1" } }
13828 <- { "return": {} }
13829
13830 getfd (Command) Receive a file descriptor via SCM rights and assign it
13831 a name
13832
13833 Arguments:
13834
13835 "fdname: string"
13836 file descriptor name
13837
13838 Returns: Nothing on success
13839
13840 Since: 0.14.0
13841
13842 Notes: If "fdname" already exists, the file descriptor assigned to it
13843 will be closed and replaced by the received file descriptor.
13844
13845 The 'closefd' command can be used to explicitly close the file
13846 descriptor when it is no longer needed.
13847
13848 Example:
13849
13850 -> { "execute": "getfd", "arguments": { "fdname": "fd1" } }
13851 <- { "return": {} }
13852
13853 closefd (Command) Close a file descriptor previously passed via SCM
13854 rights
13855
13856 Arguments:
13857
13858 "fdname: string"
13859 file descriptor name
13860
13861 Returns: Nothing on success
13862
13863 Since: 0.14.0
13864
13865 Example:
13866
13867 -> { "execute": "closefd", "arguments": { "fdname": "fd1" } }
13868 <- { "return": {} }
13869
13870 MachineInfo (Object)
13871
13872 Information describing a machine.
13873
13874 Members:
13875
13876 "name: string"
13877 the name of the machine
13878
13879 "alias: string" (optional)
13880 an alias for the machine name
13881
13882 "is-default: boolean" (optional)
13883 whether the machine is default
13884
13885 "cpu-max: int"
13886 maximum number of CPUs supported by the machine type (since 1.5.0)
13887
13888 "hotpluggable-cpus: boolean"
13889 cpu hotplug via -device is supported (since 2.7.0)
13890
13891 Since: 1.2.0
13892
13893 query-machines (Command) Return a list of supported machines
13894
13895 Returns: a list of MachineInfo
13896
13897 Since: 1.2.0
13898
13899 CpuDefinitionInfo (Object)
13900
13901 Virtual CPU definition.
13902
13903 Members:
13904
13905 "name: string"
13906 the name of the CPU definition
13907
13908 "migration-safe: boolean" (optional)
13909 whether a CPU definition can be safely used for migration in
13910 combination with a QEMU compatibility machine when migrating
13911 between different QEMU versions and between hosts with different
13912 sets of (hardware or software) capabilities. If not provided,
13913 information is not available and callers should not assume the CPU
13914 definition to be migration-safe. (since 2.8)
13915
13916 "static: boolean"
13917 whether a CPU definition is static and will not change depending on
13918 QEMU version, machine type, machine options and accelerator
13919 options. A static model is always migration-safe. (since 2.8)
13920
13921 "unavailable-features: array of string" (optional)
13922 List of properties that prevent the CPU model from running in the
13923 current host. (since 2.8)
13924
13925 "typename: string"
13926 Type name that can be used as argument to "device-list-properties",
13927 to introspect properties configurable using -cpu or -global.
13928 (since 2.9)
13929
13930 "unavailable-features" is a list of QOM property names that represent
13931 CPU model attributes that prevent the CPU from running. If the QOM
13932 property is read-only, that means there's no known way to make the CPU
13933 model run in the current host. Implementations that choose not to
13934 provide specific information return the property name "type". If the
13935 property is read-write, it means that it MAY be possible to run the CPU
13936 model in the current host if that property is changed. Management
13937 software can use it as hints to suggest or choose an alternative for
13938 the user, or just to generate meaningful error messages explaining why
13939 the CPU model can't be used. If "unavailable-features" is an empty
13940 list, the CPU model is runnable using the current host and machine-
13941 type. If "unavailable-features" is not present, runnability
13942 information for the CPU is not available.
13943
13944 Since: 1.2.0
13945
13946 MemoryInfo (Object)
13947
13948 Actual memory information in bytes.
13949
13950 Members:
13951
13952 "base-memory: int"
13953 size of "base" memory specified with command line option -m.
13954
13955 "plugged-memory: int" (optional)
13956 size of memory that can be hot-unplugged. This field is omitted if
13957 target doesn't support memory hotplug (i.e. CONFIG_MEM_DEVICE not
13958 defined at build time).
13959
13960 Since: 2.11.0
13961
13962 query-memory-size-summary (Command) Return the amount of initially
13963 allocated and present hotpluggable (if enabled) memory in bytes.
13964
13965 Example:
13966
13967 -> { "execute": "query-memory-size-summary" }
13968 <- { "return": { "base-memory": 4294967296, "plugged-memory": 0 } }
13969
13970 Since: 2.11.0
13971
13972 query-cpu-definitions (Command) Return a list of supported virtual CPU
13973 definitions
13974
13975 Returns: a list of CpuDefInfo
13976
13977 Since: 1.2.0
13978
13979 CpuModelInfo (Object)
13980
13981 Virtual CPU model.
13982
13983 A CPU model consists of the name of a CPU definition, to which delta
13984 changes are applied (e.g. features added/removed). Most magic values
13985 that an architecture might require should be hidden behind the name.
13986 However, if required, architectures can expose relevant properties.
13987
13988 Members:
13989
13990 "name: string"
13991 the name of the CPU definition the model is based on
13992
13993 "props: value" (optional)
13994 a dictionary of QOM properties to be applied
13995
13996 Since: 2.8.0
13997
13998 CpuModelExpansionType (Enum)
13999
14000 An enumeration of CPU model expansion types.
14001
14002 Values:
14003
14004 "static"
14005 Expand to a static CPU model, a combination of a static base model
14006 name and property delta changes. As the static base model will
14007 never change, the expanded CPU model will be the same, independent
14008 of QEMU version, machine type, machine options, and accelerator
14009 options. Therefore, the resulting model can be used by tooling
14010 without having to specify a compatibility machine - e.g. when
14011 displaying the "host" model. The "static" CPU models are migration-
14012 safe.
14013
14014 "full"
14015 Expand all properties. The produced model is not guaranteed to be
14016 migration-safe, but allows tooling to get an insight and work with
14017 model details.
14018
14019 Note: When a non-migration-safe CPU model is expanded in static mode,
14020 some features enabled by the CPU model may be omitted, because they
14021 can't be implemented by a static CPU model definition (e.g. cache info
14022 passthrough and PMU passthrough in x86). If you need an accurate
14023 representation of the features enabled by a non-migration-safe CPU
14024 model, use "full". If you need a static representation that will keep
14025 ABI compatibility even when changing QEMU version or machine-type, use
14026 "static" (but keep in mind that some features may be omitted).
14027
14028 Since: 2.8.0
14029
14030 CpuModelExpansionInfo (Object)
14031
14032 The result of a cpu model expansion.
14033
14034 Members:
14035
14036 "model: CpuModelInfo"
14037 the expanded CpuModelInfo.
14038
14039 Since: 2.8.0
14040
14041 query-cpu-model-expansion (Command) Expands a given CPU model (or a
14042 combination of CPU model + additional options) to different
14043 granularities, allowing tooling to get an understanding what a specific
14044 CPU model looks like in QEMU under a certain configuration.
14045
14046 This interface can be used to query the "host" CPU model.
14047
14048 The data returned by this command may be affected by:
14049
14050 · QEMU version: CPU models may look different depending on the QEMU
14051 version. (Except for CPU models reported as "static" in query-cpu-
14052 definitions.)
14053
14054 · machine-type: CPU model may look different depending on the
14055 machine-type. (Except for CPU models reported as "static" in
14056 query-cpu-definitions.)
14057
14058 · machine options (including accelerator): in some architectures, CPU
14059 models may look different depending on machine and accelerator
14060 options. (Except for CPU models reported as "static" in query-cpu-
14061 definitions.)
14062
14063 · "-cpu" arguments and global properties: arguments to the -cpu
14064 option and global properties may affect expansion of CPU models.
14065 Using query-cpu-model-expansion while using these is not advised.
14066
14067 Some architectures may not support all expansion types. s390x supports
14068 "full" and "static".
14069
14070 Arguments:
14071
14072 "type: CpuModelExpansionType"
14073 Not documented
14074
14075 "model: CpuModelInfo"
14076 Not documented
14077
14078 Returns: a CpuModelExpansionInfo. Returns an error if expanding CPU
14079 models is not supported, if the model cannot be expanded, if the model
14080 contains an unknown CPU definition name, unknown properties or
14081 properties with a wrong type. Also returns an error if an expansion
14082 type is not supported.
14083
14084 Since: 2.8.0
14085
14086 CpuModelCompareResult (Enum)
14087
14088 An enumeration of CPU model comparison results. The result is usually
14089 calculated using e.g. CPU features or CPU generations.
14090
14091 Values:
14092
14093 "incompatible"
14094 If model A is incompatible to model B, model A is not guaranteed to
14095 run where model B runs and the other way around.
14096
14097 "identical"
14098 If model A is identical to model B, model A is guaranteed to run
14099 where model B runs and the other way around.
14100
14101 "superset"
14102 If model A is a superset of model B, model B is guaranteed to run
14103 where model A runs. There are no guarantees about the other way.
14104
14105 "subset"
14106 If model A is a subset of model B, model A is guaranteed to run
14107 where model B runs. There are no guarantees about the other way.
14108
14109 Since: 2.8.0
14110
14111 CpuModelCompareInfo (Object)
14112
14113 The result of a CPU model comparison.
14114
14115 Members:
14116
14117 "result: CpuModelCompareResult"
14118 The result of the compare operation.
14119
14120 "responsible-properties: array of string"
14121 List of properties that led to the comparison result not being
14122 identical.
14123
14124 "responsible-properties" is a list of QOM property names that led to
14125 both CPUs not being detected as identical. For identical models, this
14126 list is empty. If a QOM property is read-only, that means there's no
14127 known way to make the CPU models identical. If the special property
14128 name "type" is included, the models are by definition not identical and
14129 cannot be made identical.
14130
14131 Since: 2.8.0
14132
14133 query-cpu-model-comparison (Command) Compares two CPU models,
14134 returning how they compare in a specific configuration. The results
14135 indicates how both models compare regarding runnability. This result
14136 can be used by tooling to make decisions if a certain CPU model will
14137 run in a certain configuration or if a compatible CPU model has to be
14138 created by baselining.
14139
14140 Usually, a CPU model is compared against the maximum possible CPU model
14141 of a certain configuration (e.g. the "host" model for KVM). If that CPU
14142 model is identical or a subset, it will run in that configuration.
14143
14144 The result returned by this command may be affected by:
14145
14146 · QEMU version: CPU models may look different depending on the QEMU
14147 version. (Except for CPU models reported as "static" in query-cpu-
14148 definitions.)
14149
14150 · machine-type: CPU model may look different depending on the
14151 machine-type. (Except for CPU models reported as "static" in
14152 query-cpu-definitions.)
14153
14154 · machine options (including accelerator): in some architectures, CPU
14155 models may look different depending on machine and accelerator
14156 options. (Except for CPU models reported as "static" in query-cpu-
14157 definitions.)
14158
14159 · "-cpu" arguments and global properties: arguments to the -cpu
14160 option and global properties may affect expansion of CPU models.
14161 Using query-cpu-model-expansion while using these is not advised.
14162
14163 Some architectures may not support comparing CPU models. s390x supports
14164 comparing CPU models.
14165
14166 Arguments:
14167
14168 "modela: CpuModelInfo"
14169 Not documented
14170
14171 "modelb: CpuModelInfo"
14172 Not documented
14173
14174 Returns: a CpuModelBaselineInfo. Returns an error if comparing CPU
14175 models is not supported, if a model cannot be used, if a model contains
14176 an unknown cpu definition name, unknown properties or properties with
14177 wrong types.
14178
14179 Since: 2.8.0
14180
14181 CpuModelBaselineInfo (Object)
14182
14183 The result of a CPU model baseline.
14184
14185 Members:
14186
14187 "model: CpuModelInfo"
14188 the baselined CpuModelInfo.
14189
14190 Since: 2.8.0
14191
14192 query-cpu-model-baseline (Command) Baseline two CPU models, creating a
14193 compatible third model. The created model will always be a static,
14194 migration-safe CPU model (see "static" CPU model expansion for
14195 details).
14196
14197 This interface can be used by tooling to create a compatible CPU model
14198 out two CPU models. The created CPU model will be identical to or a
14199 subset of both CPU models when comparing them. Therefore, the created
14200 CPU model is guaranteed to run where the given CPU models run.
14201
14202 The result returned by this command may be affected by:
14203
14204 · QEMU version: CPU models may look different depending on the QEMU
14205 version. (Except for CPU models reported as "static" in query-cpu-
14206 definitions.)
14207
14208 · machine-type: CPU model may look different depending on the
14209 machine-type. (Except for CPU models reported as "static" in
14210 query-cpu-definitions.)
14211
14212 · machine options (including accelerator): in some architectures, CPU
14213 models may look different depending on machine and accelerator
14214 options. (Except for CPU models reported as "static" in query-cpu-
14215 definitions.)
14216
14217 · "-cpu" arguments and global properties: arguments to the -cpu
14218 option and global properties may affect expansion of CPU models.
14219 Using query-cpu-model-expansion while using these is not advised.
14220
14221 Some architectures may not support baselining CPU models. s390x
14222 supports baselining CPU models.
14223
14224 Arguments:
14225
14226 "modela: CpuModelInfo"
14227 Not documented
14228
14229 "modelb: CpuModelInfo"
14230 Not documented
14231
14232 Returns: a CpuModelBaselineInfo. Returns an error if baselining CPU
14233 models is not supported, if a model cannot be used, if a model contains
14234 an unknown cpu definition name, unknown properties or properties with
14235 wrong types.
14236
14237 Since: 2.8.0
14238
14239 AddfdInfo (Object)
14240
14241 Information about a file descriptor that was added to an fd set.
14242
14243 Members:
14244
14245 "fdset-id: int"
14246 The ID of the fd set that "fd" was added to.
14247
14248 "fd: int"
14249 The file descriptor that was received via SCM rights and added to
14250 the fd set.
14251
14252 Since: 1.2.0
14253
14254 add-fd (Command) Add a file descriptor, that was passed via SCM
14255 rights, to an fd set.
14256
14257 Arguments:
14258
14259 "fdset-id: int" (optional)
14260 The ID of the fd set to add the file descriptor to.
14261
14262 "opaque: string" (optional)
14263 A free-form string that can be used to describe the fd.
14264
14265 Returns: "AddfdInfo" on success
14266
14267 If file descriptor was not received, FdNotSupplied
14268
14269 If "fdset-id" is a negative value, InvalidParameterValue
14270
14271 Notes: The list of fd sets is shared by all monitor connections.
14272
14273 If "fdset-id" is not specified, a new fd set will be created.
14274
14275 Since: 1.2.0
14276
14277 Example:
14278
14279 -> { "execute": "add-fd", "arguments": { "fdset-id": 1 } }
14280 <- { "return": { "fdset-id": 1, "fd": 3 } }
14281
14282 remove-fd (Command) Remove a file descriptor from an fd set.
14283
14284 Arguments:
14285
14286 "fdset-id: int"
14287 The ID of the fd set that the file descriptor belongs to.
14288
14289 "fd: int" (optional)
14290 The file descriptor that is to be removed.
14291
14292 Returns: Nothing on success If "fdset-id" or "fd" is not found,
14293 FdNotFound
14294
14295 Since: 1.2.0
14296
14297 Notes: The list of fd sets is shared by all monitor connections.
14298
14299 If "fd" is not specified, all file descriptors in "fdset-id" will be
14300 removed.
14301
14302 Example:
14303
14304 -> { "execute": "remove-fd", "arguments": { "fdset-id": 1, "fd": 3 } }
14305 <- { "return": {} }
14306
14307 FdsetFdInfo (Object)
14308
14309 Information about a file descriptor that belongs to an fd set.
14310
14311 Members:
14312
14313 "fd: int"
14314 The file descriptor value.
14315
14316 "opaque: string" (optional)
14317 A free-form string that can be used to describe the fd.
14318
14319 Since: 1.2.0
14320
14321 FdsetInfo (Object)
14322
14323 Information about an fd set.
14324
14325 Members:
14326
14327 "fdset-id: int"
14328 The ID of the fd set.
14329
14330 "fds: array of FdsetFdInfo"
14331 A list of file descriptors that belong to this fd set.
14332
14333 Since: 1.2.0
14334
14335 query-fdsets (Command) Return information describing all fd sets.
14336
14337 Returns: A list of "FdsetInfo"
14338
14339 Since: 1.2.0
14340
14341 Note: The list of fd sets is shared by all monitor connections.
14342
14343 Example:
14344
14345 -> { "execute": "query-fdsets" }
14346 <- { "return": [
14347 {
14348 "fds": [
14349 {
14350 "fd": 30,
14351 "opaque": "rdonly:/path/to/file"
14352 },
14353 {
14354 "fd": 24,
14355 "opaque": "rdwr:/path/to/file"
14356 }
14357 ],
14358 "fdset-id": 1
14359 },
14360 {
14361 "fds": [
14362 {
14363 "fd": 28
14364 },
14365 {
14366 "fd": 29
14367 }
14368 ],
14369 "fdset-id": 0
14370 }
14371 ]
14372 }
14373
14374 TargetInfo (Object)
14375
14376 Information describing the QEMU target.
14377
14378 Members:
14379
14380 "arch: SysEmuTarget"
14381 the target architecture
14382
14383 Since: 1.2.0
14384
14385 query-target (Command) Return information about the target for this
14386 QEMU
14387
14388 Returns: TargetInfo
14389
14390 Since: 1.2.0
14391
14392 AcpiTableOptions (Object)
14393
14394 Specify an ACPI table on the command line to load.
14395
14396 At most one of "file" and "data" can be specified. The list of files
14397 specified by any one of them is loaded and concatenated in order. If
14398 both are omitted, "data" is implied.
14399
14400 Other fields / optargs can be used to override fields of the generic
14401 ACPI table header; refer to the ACPI specification 5.0, section 5.2.6
14402 System Description Table Header. If a header field is not overridden,
14403 then the corresponding value from the concatenated blob is used (in
14404 case of "file"), or it is filled in with a hard-coded value (in case of
14405 "data").
14406
14407 String fields are copied into the matching ACPI member from lowest
14408 address upwards, and silently truncated / NUL-padded to length.
14409
14410 Members:
14411
14412 "sig: string" (optional)
14413 table signature / identifier (4 bytes)
14414
14415 "rev: int" (optional)
14416 table revision number (dependent on signature, 1 byte)
14417
14418 "oem_id: string" (optional)
14419 OEM identifier (6 bytes)
14420
14421 "oem_table_id: string" (optional)
14422 OEM table identifier (8 bytes)
14423
14424 "oem_rev: int" (optional)
14425 OEM-supplied revision number (4 bytes)
14426
14427 "asl_compiler_id: string" (optional)
14428 identifier of the utility that created the table (4 bytes)
14429
14430 "asl_compiler_rev: int" (optional)
14431 revision number of the utility that created the table (4 bytes)
14432
14433 "file: string" (optional)
14434 colon (:) separated list of pathnames to load and concatenate as
14435 table data. The resultant binary blob is expected to have an ACPI
14436 table header. At least one file is required. This field excludes
14437 "data".
14438
14439 "data: string" (optional)
14440 colon (:) separated list of pathnames to load and concatenate as
14441 table data. The resultant binary blob must not have an ACPI table
14442 header. At least one file is required. This field excludes "file".
14443
14444 Since: 1.5
14445
14446 CommandLineParameterType (Enum)
14447
14448 Possible types for an option parameter.
14449
14450 Values:
14451
14452 "string"
14453 accepts a character string
14454
14455 "boolean"
14456 accepts "on" or "off"
14457
14458 "number"
14459 accepts a number
14460
14461 "size"
14462 accepts a number followed by an optional suffix (K)ilo, (M)ega,
14463 (G)iga, (T)era
14464
14465 Since: 1.5
14466
14467 CommandLineParameterInfo (Object)
14468
14469 Details about a single parameter of a command line option.
14470
14471 Members:
14472
14473 "name: string"
14474 parameter name
14475
14476 "type: CommandLineParameterType"
14477 parameter "CommandLineParameterType"
14478
14479 "help: string" (optional)
14480 human readable text string, not suitable for parsing.
14481
14482 "default: string" (optional)
14483 default value string (since 2.1)
14484
14485 Since: 1.5
14486
14487 CommandLineOptionInfo (Object)
14488
14489 Details about a command line option, including its list of parameter
14490 details
14491
14492 Members:
14493
14494 "option: string"
14495 option name
14496
14497 "parameters: array of CommandLineParameterInfo"
14498 an array of "CommandLineParameterInfo"
14499
14500 Since: 1.5
14501
14502 query-command-line-options (Command) Query command line option schema.
14503
14504 Arguments:
14505
14506 "option: string" (optional)
14507 option name
14508
14509 Returns: list of "CommandLineOptionInfo" for all options (or for the
14510 given "option"). Returns an error if the given "option" doesn't exist.
14511
14512 Since: 1.5
14513
14514 Example:
14515
14516 -> { "execute": "query-command-line-options",
14517 "arguments": { "option": "option-rom" } }
14518 <- { "return": [
14519 {
14520 "parameters": [
14521 {
14522 "name": "romfile",
14523 "type": "string"
14524 },
14525 {
14526 "name": "bootindex",
14527 "type": "number"
14528 }
14529 ],
14530 "option": "option-rom"
14531 }
14532 ]
14533 }
14534
14535 X86CPURegister32 (Enum)
14536
14537 A X86 32-bit register
14538
14539 Values:
14540
14541 "EAX"
14542 Not documented
14543
14544 "EBX"
14545 Not documented
14546
14547 "ECX"
14548 Not documented
14549
14550 "EDX"
14551 Not documented
14552
14553 "ESP"
14554 Not documented
14555
14556 "EBP"
14557 Not documented
14558
14559 "ESI"
14560 Not documented
14561
14562 "EDI"
14563 Not documented
14564
14565 Since: 1.5
14566
14567 X86CPUFeatureWordInfo (Object)
14568
14569 Information about a X86 CPU feature word
14570
14571 Members:
14572
14573 "cpuid-input-eax: int"
14574 Input EAX value for CPUID instruction for that feature word
14575
14576 "cpuid-input-ecx: int" (optional)
14577 Input ECX value for CPUID instruction for that feature word
14578
14579 "cpuid-register: X86CPURegister32"
14580 Output register containing the feature bits
14581
14582 "features: int"
14583 value of output register, containing the feature bits
14584
14585 Since: 1.5
14586
14587 DummyForceArrays (Object)
14588
14589 Not used by QMP; hack to let us use X86CPUFeatureWordInfoList
14590 internally
14591
14592 Members:
14593
14594 "unused: array of X86CPUFeatureWordInfo"
14595 Not documented
14596
14597 Since: 2.5
14598
14599 NumaOptionsType (Enum)
14600
14601 Values:
14602
14603 "node"
14604 NUMA nodes configuration
14605
14606 "dist"
14607 NUMA distance configuration (since 2.10)
14608
14609 "cpu"
14610 property based CPU(s) to node mapping (Since: 2.10)
14611
14612 Since: 2.1
14613
14614 NumaOptions (Object)
14615
14616 A discriminated record of NUMA options. (for OptsVisitor)
14617
14618 Members:
14619
14620 "type: NumaOptionsType"
14621 Not documented
14622
14623 The members of "NumaNodeOptions" when "type" is "node"
14624 The members of "NumaDistOptions" when "type" is "dist"
14625 The members of "NumaCpuOptions" when "type" is "cpu"
14626
14627 Since: 2.1
14628
14629 NumaNodeOptions (Object)
14630
14631 Create a guest NUMA node. (for OptsVisitor)
14632
14633 Members:
14634
14635 "nodeid: int" (optional)
14636 NUMA node ID (increase by 1 from 0 if omitted)
14637
14638 "cpus: array of int" (optional)
14639 VCPUs belonging to this node (assign VCPUS round-robin if omitted)
14640
14641 "mem: int" (optional)
14642 memory size of this node; mutually exclusive with "memdev".
14643 Equally divide total memory among nodes if both "mem" and "memdev"
14644 are omitted.
14645
14646 "memdev: string" (optional)
14647 memory backend object. If specified for one node, it must be
14648 specified for all nodes.
14649
14650 Since: 2.1
14651
14652 NumaDistOptions (Object)
14653
14654 Set the distance between 2 NUMA nodes.
14655
14656 Members:
14657
14658 "src: int"
14659 source NUMA node.
14660
14661 "dst: int"
14662 destination NUMA node.
14663
14664 "val: int"
14665 NUMA distance from source node to destination node. When a node is
14666 unreachable from another node, set the distance between them to
14667 255.
14668
14669 Since: 2.10
14670
14671 NumaCpuOptions (Object)
14672
14673 Option "-numa cpu" overrides default cpu to node mapping. It accepts
14674 the same set of cpu properties as returned by
14675 query-hotpluggable-cpus[].props, where node-id could be used to
14676 override default node mapping.
14677
14678 Members:
14679
14680 The members of "CpuInstanceProperties"
14681
14682 Since: 2.10
14683
14684 HostMemPolicy (Enum)
14685
14686 Host memory policy types
14687
14688 Values:
14689
14690 "default"
14691 restore default policy, remove any nondefault policy
14692
14693 "preferred"
14694 set the preferred host nodes for allocation
14695
14696 "bind"
14697 a strict policy that restricts memory allocation to the host nodes
14698 specified
14699
14700 "interleave"
14701 memory allocations are interleaved across the set of host nodes
14702 specified
14703
14704 Since: 2.1
14705
14706 Memdev (Object)
14707
14708 Information about memory backend
14709
14710 Members:
14711
14712 "id: string" (optional)
14713 backend's ID if backend has 'id' property (since 2.9)
14714
14715 "size: int"
14716 memory backend size
14717
14718 "merge: boolean"
14719 enables or disables memory merge support
14720
14721 "dump: boolean"
14722 includes memory backend's memory in a core dump or not
14723
14724 "prealloc: boolean"
14725 enables or disables memory preallocation
14726
14727 "host-nodes: array of int"
14728 host nodes for its memory policy
14729
14730 "policy: HostMemPolicy"
14731 memory policy of memory backend
14732
14733 Since: 2.1
14734
14735 query-memdev (Command) Returns information for all memory backends.
14736
14737 Returns: a list of "Memdev".
14738
14739 Since: 2.1
14740
14741 Example:
14742
14743 -> { "execute": "query-memdev" }
14744 <- { "return": [
14745 {
14746 "id": "mem1",
14747 "size": 536870912,
14748 "merge": false,
14749 "dump": true,
14750 "prealloc": false,
14751 "host-nodes": [0, 1],
14752 "policy": "bind"
14753 },
14754 {
14755 "size": 536870912,
14756 "merge": false,
14757 "dump": true,
14758 "prealloc": true,
14759 "host-nodes": [2, 3],
14760 "policy": "preferred"
14761 }
14762 ]
14763 }
14764
14765 PCDIMMDeviceInfo (Object)
14766
14767 PCDIMMDevice state information
14768
14769 Members:
14770
14771 "id: string" (optional)
14772 device's ID
14773
14774 "addr: int"
14775 physical address, where device is mapped
14776
14777 "size: int"
14778 size of memory that the device provides
14779
14780 "slot: int"
14781 slot number at which device is plugged in
14782
14783 "node: int"
14784 NUMA node number where device is plugged in
14785
14786 "memdev: string"
14787 memory backend linked with device
14788
14789 "hotplugged: boolean"
14790 true if device was hotplugged
14791
14792 "hotpluggable: boolean"
14793 true if device if could be added/removed while machine is running
14794
14795 Since: 2.1
14796
14797 MemoryDeviceInfo (Object)
14798
14799 Union containing information about a memory device
14800
14801 Members:
14802
14803 "type"
14804 One of "dimm", "nvdimm"
14805
14806 "data: PCDIMMDeviceInfo" when "type" is "dimm"
14807 "data: PCDIMMDeviceInfo" when "type" is "nvdimm"
14808
14809 Since: 2.1
14810
14811 query-memory-devices (Command) Lists available memory devices and
14812 their state
14813
14814 Since: 2.1
14815
14816 Example:
14817
14818 -> { "execute": "query-memory-devices" }
14819 <- { "return": [ { "data":
14820 { "addr": 5368709120,
14821 "hotpluggable": true,
14822 "hotplugged": true,
14823 "id": "d1",
14824 "memdev": "/objects/memX",
14825 "node": 0,
14826 "size": 1073741824,
14827 "slot": 0},
14828 "type": "dimm"
14829 } ] }
14830
14831 MEM_UNPLUG_ERROR (Event) Emitted when memory hot unplug error occurs.
14832
14833 Arguments:
14834
14835 "device: string"
14836 device name
14837
14838 "msg: string"
14839 Informative message
14840
14841 Since: 2.4
14842
14843 Example:
14844
14845 <- { "event": "MEM_UNPLUG_ERROR"
14846 "data": { "device": "dimm1",
14847 "msg": "acpi: device unplug for unsupported device"
14848 },
14849 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
14850
14851 ACPISlotType (Enum)
14852
14853 Values:
14854
14855 "DIMM"
14856 memory slot
14857
14858 "CPU"
14859 logical CPU slot (since 2.7)
14860
14861 ACPIOSTInfo (Object)
14862
14863 OSPM Status Indication for a device For description of possible values
14864 of "source" and "status" fields see "_OST (OSPM Status Indication)"
14865 chapter of ACPI5.0 spec.
14866
14867 Members:
14868
14869 "device: string" (optional)
14870 device ID associated with slot
14871
14872 "slot: string"
14873 slot ID, unique per slot of a given "slot-type"
14874
14875 "slot-type: ACPISlotType"
14876 type of the slot
14877
14878 "source: int"
14879 an integer containing the source event
14880
14881 "status: int"
14882 an integer containing the status code
14883
14884 Since: 2.1
14885
14886 query-acpi-ospm-status (Command) Return a list of ACPIOSTInfo for
14887 devices that support status reporting via ACPI _OST method.
14888
14889 Since: 2.1
14890
14891 Example:
14892
14893 -> { "execute": "query-acpi-ospm-status" }
14894 <- { "return": [ { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0},
14895 { "slot": "1", "slot-type": "DIMM", "source": 0, "status": 0},
14896 { "slot": "2", "slot-type": "DIMM", "source": 0, "status": 0},
14897 { "slot": "3", "slot-type": "DIMM", "source": 0, "status": 0}
14898 ]}
14899
14900 ACPI_DEVICE_OST (Event) Emitted when guest executes ACPI _OST method.
14901
14902 Arguments:
14903
14904 "info: ACPIOSTInfo"
14905 OSPM Status Indication
14906
14907 Since: 2.1
14908
14909 Example:
14910
14911 <- { "event": "ACPI_DEVICE_OST",
14912 "data": { "device": "d1", "slot": "0",
14913 "slot-type": "DIMM", "source": 1, "status": 0 } }
14914
14915 rtc-reset-reinjection (Command) This command will reset the RTC
14916 interrupt reinjection backlog. Can be used if another mechanism to
14917 synchronize guest time is in effect, for example QEMU guest agent's
14918 guest-set-time command.
14919
14920 Since: 2.1
14921
14922 Example:
14923
14924 -> { "execute": "rtc-reset-reinjection" }
14925 <- { "return": {} }
14926
14927 RTC_CHANGE (Event) Emitted when the guest changes the RTC time.
14928
14929 Arguments:
14930
14931 "offset: int"
14932 offset between base RTC clock (as specified by -rtc base), and new
14933 RTC clock value. Note that value will be different depending on
14934 clock chosen to drive RTC (specified by -rtc clock).
14935
14936 Note: This event is rate-limited.
14937
14938 Since: 0.13.0
14939
14940 Example:
14941
14942 <- { "event": "RTC_CHANGE",
14943 "data": { "offset": 78 },
14944 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
14945
14946 ReplayMode (Enum)
14947
14948 Mode of the replay subsystem.
14949
14950 Values:
14951
14952 "none"
14953 normal execution mode. Replay or record are not enabled.
14954
14955 "record"
14956 record mode. All non-deterministic data is written into the replay
14957 log.
14958
14959 "play"
14960 replay mode. Non-deterministic data required for system execution
14961 is read from the log.
14962
14963 Since: 2.5
14964
14965 xen-load-devices-state (Command) Load the state of all devices from
14966 file. The RAM and the block devices of the VM are not loaded by this
14967 command.
14968
14969 Arguments:
14970
14971 "filename: string"
14972 the file to load the state of the devices from as binary data. See
14973 xen-save-devices-state.txt for a description of the binary format.
14974
14975 Since: 2.7
14976
14977 Example:
14978
14979 -> { "execute": "xen-load-devices-state",
14980 "arguments": { "filename": "/tmp/resume" } }
14981 <- { "return": {} }
14982
14983 GICCapability (Object)
14984
14985 The struct describes capability for a specific GIC (Generic Interrupt
14986 Controller) version. These bits are not only decided by QEMU/KVM
14987 software version, but also decided by the hardware that the program is
14988 running upon.
14989
14990 Members:
14991
14992 "version: int"
14993 version of GIC to be described. Currently, only 2 and 3 are
14994 supported.
14995
14996 "emulated: boolean"
14997 whether current QEMU/hardware supports emulated GIC device in user
14998 space.
14999
15000 "kernel: boolean"
15001 whether current QEMU/hardware supports hardware accelerated GIC
15002 device in kernel.
15003
15004 Since: 2.6
15005
15006 query-gic-capabilities (Command) This command is ARM-only. It will
15007 return a list of GICCapability objects that describe its capability
15008 bits.
15009
15010 Returns: a list of GICCapability objects.
15011
15012 Since: 2.6
15013
15014 Example:
15015
15016 -> { "execute": "query-gic-capabilities" }
15017 <- { "return": [{ "version": 2, "emulated": true, "kernel": false },
15018 { "version": 3, "emulated": false, "kernel": true } ] }
15019
15020 CpuInstanceProperties (Object)
15021
15022 List of properties to be used for hotplugging a CPU instance, it should
15023 be passed by management with device_add command when a CPU is being
15024 hotplugged.
15025
15026 Members:
15027
15028 "node-id: int" (optional)
15029 NUMA node ID the CPU belongs to
15030
15031 "socket-id: int" (optional)
15032 socket number within node/board the CPU belongs to
15033
15034 "core-id: int" (optional)
15035 core number within socket the CPU belongs to
15036
15037 "thread-id: int" (optional)
15038 thread number within core the CPU belongs to
15039
15040 Note: currently there are 4 properties that could be present but
15041 management should be prepared to pass through other properties with
15042 device_add command to allow for future interface extension. This also
15043 requires the filed names to be kept in sync with the properties passed
15044 to -device/device_add.
15045
15046 Since: 2.7
15047
15048 HotpluggableCPU (Object)
15049
15050 Members:
15051
15052 "type: string"
15053 CPU object type for usage with device_add command
15054
15055 "props: CpuInstanceProperties"
15056 list of properties to be used for hotplugging CPU
15057
15058 "vcpus-count: int"
15059 number of logical VCPU threads "HotpluggableCPU" provides
15060
15061 "qom-path: string" (optional)
15062 link to existing CPU object if CPU is present or omitted if CPU is
15063 not present.
15064
15065 Since: 2.7
15066
15067 query-hotpluggable-cpus (Command)
15068
15069 Returns: a list of HotpluggableCPU objects.
15070
15071 Since: 2.7
15072
15073 Example:
15074
15075 For pseries machine type started with -smp 2,cores=2,maxcpus=4 -cpu POWER8:
15076
15077 -> { "execute": "query-hotpluggable-cpus" }
15078 <- {"return": [
15079 { "props": { "core": 8 }, "type": "POWER8-spapr-cpu-core",
15080 "vcpus-count": 1 },
15081 { "props": { "core": 0 }, "type": "POWER8-spapr-cpu-core",
15082 "vcpus-count": 1, "qom-path": "/machine/unattached/device[0]"}
15083 ]}'
15084
15085 For pc machine type started with -smp 1,maxcpus=2:
15086
15087 -> { "execute": "query-hotpluggable-cpus" }
15088 <- {"return": [
15089 {
15090 "type": "qemu64-x86_64-cpu", "vcpus-count": 1,
15091 "props": {"core-id": 0, "socket-id": 1, "thread-id": 0}
15092 },
15093 {
15094 "qom-path": "/machine/unattached/device[0]",
15095 "type": "qemu64-x86_64-cpu", "vcpus-count": 1,
15096 "props": {"core-id": 0, "socket-id": 0, "thread-id": 0}
15097 }
15098 ]}
15099
15100 For s390x-virtio-ccw machine type started with -smp 1,maxcpus=2 -cpu qemu
15101 (Since: 2.11):
15102
15103 -> { "execute": "query-hotpluggable-cpus" }
15104 <- {"return": [
15105 {
15106 "type": "qemu-s390x-cpu", "vcpus-count": 1,
15107 "props": { "core-id": 1 }
15108 },
15109 {
15110 "qom-path": "/machine/unattached/device[0]",
15111 "type": "qemu-s390x-cpu", "vcpus-count": 1,
15112 "props": { "core-id": 0 }
15113 }
15114 ]}
15115
15116 GuidInfo (Object)
15117
15118 GUID information.
15119
15120 Members:
15121
15122 "guid: string"
15123 the globally unique identifier
15124
15125 Since: 2.9
15126
15127 query-vm-generation-id (Command) Show Virtual Machine Generation ID
15128
15129 Since: 2.9
15130
15131 SevState (Enum)
15132
15133 An enumeration of SEV state information used during "query-sev".
15134
15135 Values:
15136
15137 "uninit"
15138 The guest is uninitialized.
15139
15140 "launch-update"
15141 The guest is currently being launched; plaintext data and register
15142 state is being imported.
15143
15144 "launch-secret"
15145 The guest is currently being launched; ciphertext data is being
15146 imported.
15147
15148 "running"
15149 The guest is fully launched or migrated in.
15150
15151 "send-update"
15152 The guest is currently being migrated out to another machine.
15153
15154 "receive-update"
15155 The guest is currently being migrated from another machine.
15156
15157 Since: 2.12
15158
15159 SevInfo (Object)
15160
15161 Information about Secure Encrypted Virtualization (SEV) support
15162
15163 Members:
15164
15165 "enabled: boolean"
15166 true if SEV is active
15167
15168 "api-major: int"
15169 SEV API major version
15170
15171 "api-minor: int"
15172 SEV API minor version
15173
15174 "build-id: int"
15175 SEV FW build id
15176
15177 "policy: int"
15178 SEV policy value
15179
15180 "state: SevState"
15181 SEV guest state
15182
15183 "handle: int"
15184 SEV firmware handle
15185
15186 Since: 2.12
15187
15188 query-sev (Command) Returns information about SEV
15189
15190 Returns: "SevInfo"
15191
15192 Since: 2.12
15193
15194 Example:
15195
15196 -> { "execute": "query-sev" }
15197 <- { "return": { "enabled": true, "api-major" : 0, "api-minor" : 0,
15198 "build-id" : 0, "policy" : 0, "state" : "running",
15199 "handle" : 1 } }
15200
15201 SevLaunchMeasureInfo (Object)
15202
15203 SEV Guest Launch measurement information
15204
15205 Members:
15206
15207 "data: string"
15208 the measurement value encoded in base64
15209
15210 Since: 2.12
15211
15212 query-sev-launch-measure (Command) Query the SEV guest launch
15213 information.
15214
15215 Returns: The "SevLaunchMeasureInfo" for the guest
15216
15217 Since: 2.12
15218
15219 Example:
15220
15221 -> { "execute": "query-sev-launch-measure" }
15222 <- { "return": { "data": "4l8LXeNlSPUDlXPJG5966/8%YZ" } }
15223
15224 SevCapability (Object)
15225
15226 The struct describes capability for a Secure Encrypted Virtualization
15227 feature.
15228
15229 Members:
15230
15231 "pdh: string"
15232 Platform Diffie-Hellman key (base64 encoded)
15233
15234 "cert-chain: string"
15235 PDH certificate chain (base64 encoded)
15236
15237 "cbitpos: int"
15238 C-bit location in page table entry
15239
15240 "reduced-phys-bits: int"
15241 Number of physical Address bit reduction when SEV is enabled
15242
15243 Since: 2.12
15244
15245 query-sev-capabilities (Command) This command is used to get the SEV
15246 capabilities, and is supported on AMD X86 platforms only.
15247
15248 Returns: SevCapability objects.
15249
15250 Since: 2.12
15251
15252 Example:
15253
15254 -> { "execute": "query-sev-capabilities" }
15255 <- { "return": { "pdh": "8CCDD8DDD", "cert-chain": "888CCCDDDEE",
15256 "cbitpos": 47, "reduced-phys-bits": 5}}
15257
15258 CommandDropReason (Enum)
15259
15260 Reasons that caused one command to be dropped.
15261
15262 Values:
15263
15264 "queue-full"
15265 the command queue is full. This can only occur when the client
15266 sends a new non-oob command before the response to the previous
15267 non-oob command has been received.
15268
15269 Since: 2.12
15270
15271 COMMAND_DROPPED (Event) Emitted when a command is dropped due to some
15272 reason. Commands can only be dropped when the oob capability is
15273 enabled.
15274
15275 Arguments:
15276
15277 "id: value"
15278 The dropped command's "id" field. FIXME Broken by design. Events
15279 are broadcast to all monitors. If another monitor's client has a
15280 command with the same ID in flight, the event will incorrectly
15281 claim that command was dropped.
15282
15283 "reason: CommandDropReason"
15284 The reason why the command is dropped.
15285
15286 Since: 2.12
15287
15288 Example:
15289
15290 { "event": "COMMAND_DROPPED",
15291 "data": {"result": {"id": "libvirt-102",
15292 "reason": "queue-full" } } }
15293
15294 set-numa-node (Command) Runtime equivalent of '-numa' CLI option,
15295 available at preconfigure stage to configure numa mapping before
15296 initializing machine.
15297
15298 Since 3.0
15299
15300 Arguments: the members of "NumaOptions"
15301
15302
15303
15304 2019-05-14 QEMU-QMP-REF.7(7)