1QEMU-STORAGE-DAEMON-QMP-REF(7) QEMU QEMU-STORAGE-DAEMON-QMP-REF(7)
2
3
4
6 qemu-storage-daemon-qmp-ref - QEMU Storage Daemon QMP Reference Manual
7
8 Contents
9 • QEMU Storage Daemon QMP Reference Manual
10
11 • Block devices
12
13 • Block core (VM unrelated)
14
15 • Common data types
16
17 • IoOperationType (Enum)
18
19 • OnOffAuto (Enum)
20
21 • OnOffSplit (Enum)
22
23 • String (Object)
24
25 • StrOrNull (Alternate)
26
27 • OffAutoPCIBAR (Enum)
28
29 • PCIELinkSpeed (Enum)
30
31 • PCIELinkWidth (Enum)
32
33 • HostMemPolicy (Enum)
34
35 • NetFilterDirection (Enum)
36
37 • GrabToggleKeys (Enum)
38
39 • HumanReadableText (Object)
40
41 • Cryptography
42
43 • QCryptoTLSCredsEndpoint (Enum)
44
45 • QCryptoSecretFormat (Enum)
46
47 • QCryptoHashAlgorithm (Enum)
48
49 • QCryptoCipherAlgorithm (Enum)
50
51 • QCryptoCipherMode (Enum)
52
53 • QCryptoIVGenAlgorithm (Enum)
54
55 • QCryptoBlockFormat (Enum)
56
57 • QCryptoBlockOptionsBase (Object)
58
59 • QCryptoBlockOptionsQCow (Object)
60
61 • QCryptoBlockOptionsLUKS (Object)
62
63 • QCryptoBlockCreateOptionsLUKS (Object)
64
65 • QCryptoBlockOpenOptions (Object)
66
67 • QCryptoBlockCreateOptions (Object)
68
69 • QCryptoBlockInfoBase (Object)
70
71 • QCryptoBlockInfoLUKSSlot (Object)
72
73 • QCryptoBlockInfoLUKS (Object)
74
75 • QCryptoBlockInfo (Object)
76
77 • QCryptoBlockLUKSKeyslotState (Enum)
78
79 • QCryptoBlockAmendOptionsLUKS (Object)
80
81 • QCryptoBlockAmendOptions (Object)
82
83 • SecretCommonProperties (Object)
84
85 • SecretProperties (Object)
86
87 • SecretKeyringProperties (Object)
88
89 • TlsCredsProperties (Object)
90
91 • TlsCredsAnonProperties (Object)
92
93 • TlsCredsPskProperties (Object)
94
95 • TlsCredsX509Properties (Object)
96
97 • Background jobs
98
99 • Socket data types
100
101 • NetworkAddressFamily (Enum)
102
103 • InetSocketAddressBase (Object)
104
105 • InetSocketAddress (Object)
106
107 • UnixSocketAddress (Object)
108
109 • VsockSocketAddress (Object)
110
111 • InetSocketAddressWrapper (Object)
112
113 • UnixSocketAddressWrapper (Object)
114
115 • VsockSocketAddressWrapper (Object)
116
117 • StringWrapper (Object)
118
119 • SocketAddressLegacy (Object)
120
121 • SocketAddressType (Enum)
122
123 • SocketAddress (Object)
124
125 • SnapshotInfo (Object)
126
127 • ImageInfoSpecificQCow2EncryptionBase (Object)
128
129 • ImageInfoSpecificQCow2Encryption (Object)
130
131 • ImageInfoSpecificQCow2 (Object)
132
133 • ImageInfoSpecificVmdk (Object)
134
135 • ImageInfoSpecificRbd (Object)
136
137 • ImageInfoSpecificKind (Enum)
138
139 • ImageInfoSpecificQCow2Wrapper (Object)
140
141 • ImageInfoSpecificVmdkWrapper (Object)
142
143 • ImageInfoSpecificLUKSWrapper (Object)
144
145 • ImageInfoSpecificRbdWrapper (Object)
146
147 • ImageInfoSpecific (Object)
148
149 • ImageInfo (Object)
150
151 • ImageCheck (Object)
152
153 • MapEntry (Object)
154
155 • BlockdevCacheInfo (Object)
156
157 • BlockDeviceInfo (Object)
158
159 • BlockDeviceIoStatus (Enum)
160
161 • BlockDirtyInfo (Object)
162
163 • Qcow2BitmapInfoFlags (Enum)
164
165 • Qcow2BitmapInfo (Object)
166
167 • BlockLatencyHistogramInfo (Object)
168
169 • BlockInfo (Object)
170
171 • BlockMeasureInfo (Object)
172
173 • query-block (Command)
174
175 • BlockDeviceTimedStats (Object)
176
177 • BlockDeviceStats (Object)
178
179 • BlockStatsSpecificFile (Object)
180
181 • BlockStatsSpecificNvme (Object)
182
183 • BlockStatsSpecific (Object)
184
185 • BlockStats (Object)
186
187 • query-blockstats (Command)
188
189 • BlockdevOnError (Enum)
190
191 • MirrorSyncMode (Enum)
192
193 • BitmapSyncMode (Enum)
194
195 • MirrorCopyMode (Enum)
196
197 • BlockJobInfo (Object)
198
199 • query-block-jobs (Command)
200
201 • block_resize (Command)
202
203 • NewImageMode (Enum)
204
205 • BlockdevSnapshotSync (Object)
206
207 • BlockdevSnapshot (Object)
208
209 • BackupPerf (Object)
210
211 • BackupCommon (Object)
212
213 • DriveBackup (Object)
214
215 • BlockdevBackup (Object)
216
217 • blockdev-snapshot-sync (Command)
218
219 • blockdev-snapshot (Command)
220
221 • change-backing-file (Command)
222
223 • block-commit (Command)
224
225 • drive-backup (Command)
226
227 • blockdev-backup (Command)
228
229 • query-named-block-nodes (Command)
230
231 • XDbgBlockGraphNodeType (Enum)
232
233 • XDbgBlockGraphNode (Object)
234
235 • BlockPermission (Enum)
236
237 • XDbgBlockGraphEdge (Object)
238
239 • XDbgBlockGraph (Object)
240
241 • x-debug-query-block-graph (Command)
242
243 • drive-mirror (Command)
244
245 • DriveMirror (Object)
246
247 • BlockDirtyBitmap (Object)
248
249 • BlockDirtyBitmapAdd (Object)
250
251 • BlockDirtyBitmapMergeSource (Alternate)
252
253 • BlockDirtyBitmapMerge (Object)
254
255 • block-dirty-bitmap-add (Command)
256
257 • block-dirty-bitmap-remove (Command)
258
259 • block-dirty-bitmap-clear (Command)
260
261 • block-dirty-bitmap-enable (Command)
262
263 • block-dirty-bitmap-disable (Command)
264
265 • block-dirty-bitmap-merge (Command)
266
267 • BlockDirtyBitmapSha256 (Object)
268
269 • x-debug-block-dirty-bitmap-sha256 (Command)
270
271 • blockdev-mirror (Command)
272
273 • BlockIOThrottle (Object)
274
275 • ThrottleLimits (Object)
276
277 • ThrottleGroupProperties (Object)
278
279 • block-stream (Command)
280
281 • block-job-set-speed (Command)
282
283 • block-job-cancel (Command)
284
285 • block-job-pause (Command)
286
287 • block-job-resume (Command)
288
289 • block-job-complete (Command)
290
291 • block-job-dismiss (Command)
292
293 • block-job-finalize (Command)
294
295 • BlockdevDiscardOptions (Enum)
296
297 • BlockdevDetectZeroesOptions (Enum)
298
299 • BlockdevAioOptions (Enum)
300
301 • BlockdevCacheOptions (Object)
302
303 • BlockdevDriver (Enum)
304
305 • BlockdevOptionsFile (Object)
306
307 • BlockdevOptionsNull (Object)
308
309 • BlockdevOptionsNVMe (Object)
310
311 • BlockdevOptionsVVFAT (Object)
312
313 • BlockdevOptionsGenericFormat (Object)
314
315 • BlockdevOptionsLUKS (Object)
316
317 • BlockdevOptionsGenericCOWFormat (Object)
318
319 • Qcow2OverlapCheckMode (Enum)
320
321 • Qcow2OverlapCheckFlags (Object)
322
323 • Qcow2OverlapChecks (Alternate)
324
325 • BlockdevQcowEncryptionFormat (Enum)
326
327 • BlockdevQcowEncryption (Object)
328
329 • BlockdevOptionsQcow (Object)
330
331 • BlockdevQcow2EncryptionFormat (Enum)
332
333 • BlockdevQcow2Encryption (Object)
334
335 • BlockdevOptionsPreallocate (Object)
336
337 • BlockdevOptionsQcow2 (Object)
338
339 • SshHostKeyCheckMode (Enum)
340
341 • SshHostKeyCheckHashType (Enum)
342
343 • SshHostKeyHash (Object)
344
345 • SshHostKeyCheck (Object)
346
347 • BlockdevOptionsSsh (Object)
348
349 • BlkdebugEvent (Enum)
350
351 • BlkdebugIOType (Enum)
352
353 • BlkdebugInjectErrorOptions (Object)
354
355 • BlkdebugSetStateOptions (Object)
356
357 • BlockdevOptionsBlkdebug (Object)
358
359 • BlockdevOptionsBlklogwrites (Object)
360
361 • BlockdevOptionsBlkverify (Object)
362
363 • BlockdevOptionsBlkreplay (Object)
364
365 • QuorumReadPattern (Enum)
366
367 • BlockdevOptionsQuorum (Object)
368
369 • BlockdevOptionsGluster (Object)
370
371 • IscsiTransport (Enum)
372
373 • IscsiHeaderDigest (Enum)
374
375 • BlockdevOptionsIscsi (Object)
376
377 • RbdAuthMode (Enum)
378
379 • RbdImageEncryptionFormat (Enum)
380
381 • RbdEncryptionOptionsLUKSBase (Object)
382
383 • RbdEncryptionCreateOptionsLUKSBase (Object)
384
385 • RbdEncryptionOptionsLUKS (Object)
386
387 • RbdEncryptionOptionsLUKS2 (Object)
388
389 • RbdEncryptionCreateOptionsLUKS (Object)
390
391 • RbdEncryptionCreateOptionsLUKS2 (Object)
392
393 • RbdEncryptionOptions (Object)
394
395 • RbdEncryptionCreateOptions (Object)
396
397 • BlockdevOptionsRbd (Object)
398
399 • ReplicationMode (Enum)
400
401 • BlockdevOptionsReplication (Object)
402
403 • NFSTransport (Enum)
404
405 • NFSServer (Object)
406
407 • BlockdevOptionsNfs (Object)
408
409 • BlockdevOptionsCurlBase (Object)
410
411 • BlockdevOptionsCurlHttp (Object)
412
413 • BlockdevOptionsCurlHttps (Object)
414
415 • BlockdevOptionsCurlFtp (Object)
416
417 • BlockdevOptionsCurlFtps (Object)
418
419 • BlockdevOptionsNbd (Object)
420
421 • BlockdevOptionsRaw (Object)
422
423 • BlockdevOptionsThrottle (Object)
424
425 • BlockdevOptionsCor (Object)
426
427 • BlockdevOptionsCbw (Object)
428
429 • BlockdevOptions (Object)
430
431 • BlockdevRef (Alternate)
432
433 • BlockdevRefOrNull (Alternate)
434
435 • blockdev-add (Command)
436
437 • blockdev-reopen (Command)
438
439 • blockdev-del (Command)
440
441 • BlockdevCreateOptionsFile (Object)
442
443 • BlockdevCreateOptionsGluster (Object)
444
445 • BlockdevCreateOptionsLUKS (Object)
446
447 • BlockdevCreateOptionsNfs (Object)
448
449 • BlockdevCreateOptionsParallels (Object)
450
451 • BlockdevCreateOptionsQcow (Object)
452
453 • BlockdevQcow2Version (Enum)
454
455 • Qcow2CompressionType (Enum)
456
457 • BlockdevCreateOptionsQcow2 (Object)
458
459 • BlockdevCreateOptionsQed (Object)
460
461 • BlockdevCreateOptionsRbd (Object)
462
463 • BlockdevVmdkSubformat (Enum)
464
465 • BlockdevVmdkAdapterType (Enum)
466
467 • BlockdevCreateOptionsVmdk (Object)
468
469 • BlockdevCreateOptionsSsh (Object)
470
471 • BlockdevCreateOptionsVdi (Object)
472
473 • BlockdevVhdxSubformat (Enum)
474
475 • BlockdevCreateOptionsVhdx (Object)
476
477 • BlockdevVpcSubformat (Enum)
478
479 • BlockdevCreateOptionsVpc (Object)
480
481 • BlockdevCreateOptions (Object)
482
483 • blockdev-create (Command)
484
485 • BlockdevAmendOptionsLUKS (Object)
486
487 • BlockdevAmendOptionsQcow2 (Object)
488
489 • BlockdevAmendOptions (Object)
490
491 • x-blockdev-amend (Command)
492
493 • BlockErrorAction (Enum)
494
495 • BLOCK_IMAGE_CORRUPTED (Event)
496
497 • BLOCK_IO_ERROR (Event)
498
499 • BLOCK_JOB_COMPLETED (Event)
500
501 • BLOCK_JOB_CANCELLED (Event)
502
503 • BLOCK_JOB_ERROR (Event)
504
505 • BLOCK_JOB_READY (Event)
506
507 • BLOCK_JOB_PENDING (Event)
508
509 • PreallocMode (Enum)
510
511 • BLOCK_WRITE_THRESHOLD (Event)
512
513 • block-set-write-threshold (Command)
514
515 • x-blockdev-change (Command)
516
517 • x-blockdev-set-iothread (Command)
518
519 • QuorumOpType (Enum)
520
521 • QUORUM_FAILURE (Event)
522
523 • QUORUM_REPORT_BAD (Event)
524
525 • BlockdevSnapshotInternal (Object)
526
527 • blockdev-snapshot-internal-sync (Command)
528
529 • blockdev-snapshot-delete-internal-sync (Command)
530
531 • Block device exports
532
533 • Character devices
534
535 • ChardevInfo (Object)
536
537 • query-chardev (Command)
538
539 • ChardevBackendInfo (Object)
540
541 • query-chardev-backends (Command)
542
543 • DataFormat (Enum)
544
545 • ringbuf-write (Command)
546
547 • ringbuf-read (Command)
548
549 • ChardevCommon (Object)
550
551 • ChardevFile (Object)
552
553 • ChardevHostdev (Object)
554
555 • ChardevSocket (Object)
556
557 • ChardevUdp (Object)
558
559 • ChardevMux (Object)
560
561 • ChardevStdio (Object)
562
563 • ChardevSpiceChannel (Object)
564
565 • ChardevSpicePort (Object)
566
567 • ChardevVC (Object)
568
569 • ChardevRingbuf (Object)
570
571 • ChardevQemuVDAgent (Object)
572
573 • ChardevBackendKind (Enum)
574
575 • ChardevFileWrapper (Object)
576
577 • ChardevHostdevWrapper (Object)
578
579 • ChardevSocketWrapper (Object)
580
581 • ChardevUdpWrapper (Object)
582
583 • ChardevCommonWrapper (Object)
584
585 • ChardevMuxWrapper (Object)
586
587 • ChardevStdioWrapper (Object)
588
589 • ChardevSpiceChannelWrapper (Object)
590
591 • ChardevSpicePortWrapper (Object)
592
593 • ChardevQemuVDAgentWrapper (Object)
594
595 • ChardevVCWrapper (Object)
596
597 • ChardevRingbufWrapper (Object)
598
599 • ChardevBackend (Object)
600
601 • ChardevReturn (Object)
602
603 • chardev-add (Command)
604
605 • chardev-change (Command)
606
607 • chardev-remove (Command)
608
609 • chardev-send-break (Command)
610
611 • VSERPORT_CHANGE (Event)
612
613 • QMP monitor control
614
615 • qmp_capabilities (Command)
616
617 • QMPCapability (Enum)
618
619 • VersionTriple (Object)
620
621 • VersionInfo (Object)
622
623 • query-version (Command)
624
625 • CommandInfo (Object)
626
627 • query-commands (Command)
628
629 • quit (Command)
630
631 • MonitorMode (Enum)
632
633 • MonitorOptions (Object)
634
635 • QMP introspection
636
637 • query-qmp-schema (Command)
638
639 • SchemaMetaType (Enum)
640
641 • SchemaInfo (Object)
642
643 • SchemaInfoBuiltin (Object)
644
645 • JSONType (Enum)
646
647 • SchemaInfoEnum (Object)
648
649 • SchemaInfoEnumMember (Object)
650
651 • SchemaInfoArray (Object)
652
653 • SchemaInfoObject (Object)
654
655 • SchemaInfoObjectMember (Object)
656
657 • SchemaInfoObjectVariant (Object)
658
659 • SchemaInfoAlternate (Object)
660
661 • SchemaInfoAlternateMember (Object)
662
663 • SchemaInfoCommand (Object)
664
665 • SchemaInfoEvent (Object)
666
667 • User authorization
668
669 • QAuthZListPolicy (Enum)
670
671 • QAuthZListFormat (Enum)
672
673 • QAuthZListRule (Object)
674
675 • AuthZListProperties (Object)
676
677 • AuthZListFileProperties (Object)
678
679 • AuthZPAMProperties (Object)
680
681 • AuthZSimpleProperties (Object)
682
683 • QEMU Object Model (QOM)
684
685 • ObjectPropertyInfo (Object)
686
687 • qom-list (Command)
688
689 • qom-get (Command)
690
691 • qom-set (Command)
692
693 • ObjectTypeInfo (Object)
694
695 • qom-list-types (Command)
696
697 • qom-list-properties (Command)
698
699 • CanHostSocketcanProperties (Object)
700
701 • ColoCompareProperties (Object)
702
703 • CryptodevBackendProperties (Object)
704
705 • CryptodevVhostUserProperties (Object)
706
707 • DBusVMStateProperties (Object)
708
709 • NetfilterInsert (Enum)
710
711 • NetfilterProperties (Object)
712
713 • FilterBufferProperties (Object)
714
715 • FilterDumpProperties (Object)
716
717 • FilterMirrorProperties (Object)
718
719 • FilterRedirectorProperties (Object)
720
721 • FilterRewriterProperties (Object)
722
723 • InputBarrierProperties (Object)
724
725 • InputLinuxProperties (Object)
726
727 • IothreadProperties (Object)
728
729 • MemoryBackendProperties (Object)
730
731 • MemoryBackendFileProperties (Object)
732
733 • MemoryBackendMemfdProperties (Object)
734
735 • MemoryBackendEpcProperties (Object)
736
737 • PrManagerHelperProperties (Object)
738
739 • QtestProperties (Object)
740
741 • RemoteObjectProperties (Object)
742
743 • RngProperties (Object)
744
745 • RngEgdProperties (Object)
746
747 • RngRandomProperties (Object)
748
749 • SevGuestProperties (Object)
750
751 • ObjectType (Enum)
752
753 • ObjectOptions (Object)
754
755 • object-add (Command)
756
757 • object-del (Command)
758
759 • Transactions
760
761 • Abort (Object)
762
763 • ActionCompletionMode (Enum)
764
765 • TransactionActionKind (Enum)
766
767 • AbortWrapper (Object)
768
769 • BlockDirtyBitmapAddWrapper (Object)
770
771 • BlockDirtyBitmapWrapper (Object)
772
773 • BlockDirtyBitmapMergeWrapper (Object)
774
775 • BlockdevBackupWrapper (Object)
776
777 • BlockdevSnapshotWrapper (Object)
778
779 • BlockdevSnapshotInternalWrapper (Object)
780
781 • BlockdevSnapshotSyncWrapper (Object)
782
783 • DriveBackupWrapper (Object)
784
785 • TransactionAction (Object)
786
787 • TransactionProperties (Object)
788
789 • transaction (Command)
790
792 Block core (VM unrelated)
794 IoOperationType (Enum)
795 An enumeration of the I/O operation types
796
797 Values
798 read read operation
799
800 write write operation
801
802 Since
803 2.1
804
805 OnOffAuto (Enum)
806 An enumeration of three options: on, off, and auto
807
808 Values
809 auto QEMU selects the value between on and off
810
811 on Enabled
812
813 off Disabled
814
815 Since
816 2.2
817
818 OnOffSplit (Enum)
819 An enumeration of three values: on, off, and split
820
821 Values
822 on Enabled
823
824 off Disabled
825
826 split Mixed
827
828 Since
829 2.6
830
831 String (Object)
832 A fat type wrapping 'str', to be embedded in lists.
833
834 Members
835 str: string
836 Not documented
837
838 Since
839 1.2
840
841 StrOrNull (Alternate)
842 This is a string value or the explicit lack of a string (null pointer
843 in C). Intended for cases when 'optional absent' already has a differ‐
844 ent meaning.
845
846 Members
847 s: string
848 the string value
849
850 n: null
851 no string value
852
853 Since
854 2.10
855
856 OffAutoPCIBAR (Enum)
857 An enumeration of options for specifying a PCI BAR
858
859 Values
860 off The specified feature is disabled
861
862 auto The PCI BAR for the feature is automatically selected
863
864 bar0 PCI BAR0 is used for the feature
865
866 bar1 PCI BAR1 is used for the feature
867
868 bar2 PCI BAR2 is used for the feature
869
870 bar3 PCI BAR3 is used for the feature
871
872 bar4 PCI BAR4 is used for the feature
873
874 bar5 PCI BAR5 is used for the feature
875
876 Since
877 2.12
878
879 PCIELinkSpeed (Enum)
880 An enumeration of PCIe link speeds in units of GT/s
881
882 Values
883 2_5 2.5GT/s
884
885 5 5.0GT/s
886
887 8 8.0GT/s
888
889 16 16.0GT/s
890
891 Since
892 4.0
893
894 PCIELinkWidth (Enum)
895 An enumeration of PCIe link width
896
897 Values
898 1 x1
899
900 2 x2
901
902 4 x4
903
904 8 x8
905
906 12 x12
907
908 16 x16
909
910 32 x32
911
912 Since
913 4.0
914
915 HostMemPolicy (Enum)
916 Host memory policy types
917
918 Values
919 default
920 restore default policy, remove any nondefault policy
921
922 preferred
923 set the preferred host nodes for allocation
924
925 bind a strict policy that restricts memory allocation to the host
926 nodes specified
927
928 interleave
929 memory allocations are interleaved across the set of host nodes
930 specified
931
932 Since
933 2.1
934
935 NetFilterDirection (Enum)
936 Indicates whether a netfilter is attached to a netdev's transmit queue
937 or receive queue or both.
938
939 Values
940 all the filter is attached both to the receive and the transmit
941 queue of the netdev (default).
942
943 rx the filter is attached to the receive queue of the netdev, where
944 it will receive packets sent to the netdev.
945
946 tx the filter is attached to the transmit queue of the netdev,
947 where it will receive packets sent by the netdev.
948
949 Since
950 2.5
951
952 GrabToggleKeys (Enum)
953 Keys to toggle input-linux between host and guest.
954
955 Values
956 ctrl-ctrl
957 Not documented
958
959 alt-alt
960 Not documented
961
962 shift-shift
963 Not documented
964
965 meta-meta
966 Not documented
967
968 scrolllock
969 Not documented
970
971 ctrl-scrolllock
972 Not documented
973
974 Since
975 4.0
976
977 HumanReadableText (Object)
978 Members
979 human-readable-text: string
980 Formatted output intended for humans.
981
982 Since
983 6.2
984
986 QCryptoTLSCredsEndpoint (Enum)
987 The type of network endpoint that will be using the credentials. Most
988 types of credential require different setup / structures depending on
989 whether they will be used in a server versus a client.
990
991 Values
992 client the network endpoint is acting as the client
993
994 server the network endpoint is acting as the server
995
996 Since
997 2.5
998
999 QCryptoSecretFormat (Enum)
1000 The data format that the secret is provided in
1001
1002 Values
1003 raw raw bytes. When encoded in JSON only valid UTF-8 sequences can
1004 be used
1005
1006 base64 arbitrary base64 encoded binary data
1007
1008 Since
1009 2.6
1010
1011 QCryptoHashAlgorithm (Enum)
1012 The supported algorithms for computing content digests
1013
1014 Values
1015 md5 MD5. Should not be used in any new code, legacy compat only
1016
1017 sha1 SHA-1. Should not be used in any new code, legacy compat only
1018
1019 sha224 SHA-224. (since 2.7)
1020
1021 sha256 SHA-256. Current recommended strong hash.
1022
1023 sha384 SHA-384. (since 2.7)
1024
1025 sha512 SHA-512. (since 2.7)
1026
1027 ripemd160
1028 RIPEMD-160. (since 2.7)
1029
1030 Since
1031 2.6
1032
1033 QCryptoCipherAlgorithm (Enum)
1034 The supported algorithms for content encryption ciphers
1035
1036 Values
1037 aes-128
1038 AES with 128 bit / 16 byte keys
1039
1040 aes-192
1041 AES with 192 bit / 24 byte keys
1042
1043 aes-256
1044 AES with 256 bit / 32 byte keys
1045
1046 des DES with 56 bit / 8 byte keys. Do not use except in VNC. (since
1047 6.1)
1048
1049 3des 3DES(EDE) with 192 bit / 24 byte keys (since 2.9)
1050
1051 cast5-128
1052 Cast5 with 128 bit / 16 byte keys
1053
1054 serpent-128
1055 Serpent with 128 bit / 16 byte keys
1056
1057 serpent-192
1058 Serpent with 192 bit / 24 byte keys
1059
1060 serpent-256
1061 Serpent with 256 bit / 32 byte keys
1062
1063 twofish-128
1064 Twofish with 128 bit / 16 byte keys
1065
1066 twofish-192
1067 Twofish with 192 bit / 24 byte keys
1068
1069 twofish-256
1070 Twofish with 256 bit / 32 byte keys
1071
1072 Since
1073 2.6
1074
1075 QCryptoCipherMode (Enum)
1076 The supported modes for content encryption ciphers
1077
1078 Values
1079 ecb Electronic Code Book
1080
1081 cbc Cipher Block Chaining
1082
1083 xts XEX with tweaked code book and ciphertext stealing
1084
1085 ctr Counter (Since 2.8)
1086
1087 Since
1088 2.6
1089
1090 QCryptoIVGenAlgorithm (Enum)
1091 The supported algorithms for generating initialization vectors for full
1092 disk encryption. The 'plain' generator should not be used for disks
1093 with sector numbers larger than 2^32, except where compatibility with
1094 pre-existing Linux dm-crypt volumes is required.
1095
1096 Values
1097 plain 64-bit sector number truncated to 32-bits
1098
1099 plain64
1100 64-bit sector number
1101
1102 essiv 64-bit sector number encrypted with a hash of the encryption key
1103
1104 Since
1105 2.6
1106
1107 QCryptoBlockFormat (Enum)
1108 The supported full disk encryption formats
1109
1110 Values
1111 qcow QCow/QCow2 built-in AES-CBC encryption. Use only for liberating
1112 data from old images.
1113
1114 luks LUKS encryption format. Recommended for new images
1115
1116 Since
1117 2.6
1118
1119 QCryptoBlockOptionsBase (Object)
1120 The common options that apply to all full disk encryption formats
1121
1122 Members
1123 format: QCryptoBlockFormat
1124 the encryption format
1125
1126 Since
1127 2.6
1128
1129 QCryptoBlockOptionsQCow (Object)
1130 The options that apply to QCow/QCow2 AES-CBC encryption format
1131
1132 Members
1133 key-secret: string (optional)
1134 the ID of a QCryptoSecret object providing the decryption key.
1135 Mandatory except when probing image for metadata only.
1136
1137 Since
1138 2.6
1139
1140 QCryptoBlockOptionsLUKS (Object)
1141 The options that apply to LUKS encryption format
1142
1143 Members
1144 key-secret: string (optional)
1145 the ID of a QCryptoSecret object providing the decryption key.
1146 Mandatory except when probing image for metadata only.
1147
1148 Since
1149 2.6
1150
1151 QCryptoBlockCreateOptionsLUKS (Object)
1152 The options that apply to LUKS encryption format initialization
1153
1154 Members
1155 cipher-alg: QCryptoCipherAlgorithm (optional)
1156 the cipher algorithm for data encryption Currently defaults to
1157 'aes-256'.
1158
1159 cipher-mode: QCryptoCipherMode (optional)
1160 the cipher mode for data encryption Currently defaults to 'xts'
1161
1162 ivgen-alg: QCryptoIVGenAlgorithm (optional)
1163 the initialization vector generator Currently defaults to
1164 'plain64'
1165
1166 ivgen-hash-alg: QCryptoHashAlgorithm (optional)
1167 the initialization vector generator hash Currently defaults to
1168 'sha256'
1169
1170 hash-alg: QCryptoHashAlgorithm (optional)
1171 the master key hash algorithm Currently defaults to 'sha256'
1172
1173 iter-time: int (optional)
1174 number of milliseconds to spend in PBKDF passphrase processing.
1175 Currently defaults to 2000. (since 2.8)
1176
1177 The members of QCryptoBlockOptionsLUKS
1178
1179 Since
1180 2.6
1181
1182 QCryptoBlockOpenOptions (Object)
1183 The options that are available for all encryption formats when opening
1184 an existing volume
1185
1186 Members
1187 The members of QCryptoBlockOptionsBase
1188
1189 The members of QCryptoBlockOptionsQCow when format is "qcow"
1190
1191 The members of QCryptoBlockOptionsLUKS when format is "luks"
1192
1193 Since
1194 2.6
1195
1196 QCryptoBlockCreateOptions (Object)
1197 The options that are available for all encryption formats when initial‐
1198 izing a new volume
1199
1200 Members
1201 The members of QCryptoBlockOptionsBase
1202
1203 The members of QCryptoBlockOptionsQCow when format is "qcow"
1204
1205 The members of QCryptoBlockCreateOptionsLUKS when format is "luks"
1206
1207 Since
1208 2.6
1209
1210 QCryptoBlockInfoBase (Object)
1211 The common information that applies to all full disk encryption formats
1212
1213 Members
1214 format: QCryptoBlockFormat
1215 the encryption format
1216
1217 Since
1218 2.7
1219
1220 QCryptoBlockInfoLUKSSlot (Object)
1221 Information about the LUKS block encryption key slot options
1222
1223 Members
1224 active: boolean
1225 whether the key slot is currently in use
1226
1227 key-offset: int
1228 offset to the key material in bytes
1229
1230 iters: int (optional)
1231 number of PBKDF2 iterations for key material
1232
1233 stripes: int (optional)
1234 number of stripes for splitting key material
1235
1236 Since
1237 2.7
1238
1239 QCryptoBlockInfoLUKS (Object)
1240 Information about the LUKS block encryption options
1241
1242 Members
1243 cipher-alg: QCryptoCipherAlgorithm
1244 the cipher algorithm for data encryption
1245
1246 cipher-mode: QCryptoCipherMode
1247 the cipher mode for data encryption
1248
1249 ivgen-alg: QCryptoIVGenAlgorithm
1250 the initialization vector generator
1251
1252 ivgen-hash-alg: QCryptoHashAlgorithm (optional)
1253 the initialization vector generator hash
1254
1255 hash-alg: QCryptoHashAlgorithm
1256 the master key hash algorithm
1257
1258 payload-offset: int
1259 offset to the payload data in bytes
1260
1261 master-key-iters: int
1262 number of PBKDF2 iterations for key material
1263
1264 uuid: string
1265 unique identifier for the volume
1266
1267 slots: array of QCryptoBlockInfoLUKSSlot
1268 information about each key slot
1269
1270 Since
1271 2.7
1272
1273 QCryptoBlockInfo (Object)
1274 Information about the block encryption options
1275
1276 Members
1277 The members of QCryptoBlockInfoBase
1278
1279 The members of QCryptoBlockInfoLUKS when format is "luks"
1280
1281 Since
1282 2.7
1283
1284 QCryptoBlockLUKSKeyslotState (Enum)
1285 Defines state of keyslots that are affected by the update
1286
1287 Values
1288 active The slots contain the given password and marked as active
1289
1290 inactive
1291 The slots are erased (contain garbage) and marked as inactive
1292
1293 Since
1294 5.1
1295
1296 QCryptoBlockAmendOptionsLUKS (Object)
1297 This struct defines the update parameters that activate/de-activate set
1298 of keyslots
1299
1300 Members
1301 state: QCryptoBlockLUKSKeyslotState
1302 the desired state of the keyslots
1303
1304 new-secret: string (optional)
1305 The ID of a QCryptoSecret object providing the password to be
1306 written into added active keyslots
1307
1308 old-secret: string (optional)
1309 Optional (for deactivation only) If given will deactivate all
1310 keyslots that match password located in QCryptoSecret with this
1311 ID
1312
1313 iter-time: int (optional)
1314 Optional (for activation only) Number of milliseconds to spend
1315 in PBKDF passphrase processing for the newly activated keyslot.
1316 Currently defaults to 2000.
1317
1318 keyslot: int (optional)
1319 Optional. ID of the keyslot to activate/deactivate. For keyslot
1320 activation, keyslot should not be active already (this is unsafe
1321 to update an active keyslot), but possible if 'force' parameter
1322 is given. If keyslot is not given, first free keyslot will be
1323 written.
1324
1325 For keyslot deactivation, this parameter specifies the exact
1326 keyslot to deactivate
1327
1328 secret: string (optional)
1329 Optional. The ID of a QCryptoSecret object providing the pass‐
1330 word to use to retrieve current master key. Defaults to the
1331 same secret that was used to open the image
1332 Since 5.1
1333
1334 QCryptoBlockAmendOptions (Object)
1335 The options that are available for all encryption formats when amending
1336 encryption settings
1337
1338 Members
1339 The members of QCryptoBlockOptionsBase
1340
1341 The members of QCryptoBlockAmendOptionsLUKS when format is "luks"
1342
1343 Since
1344 5.1
1345
1346 SecretCommonProperties (Object)
1347 Properties for objects of classes derived from secret-common.
1348
1349 Members
1350 loaded: boolean (optional)
1351 if true, the secret is loaded immediately when applying this op‐
1352 tion and will probably fail when processing the next option.
1353 Don't use; only provided for compatibility. (default: false)
1354
1355 format: QCryptoSecretFormat (optional)
1356 the data format that the secret is provided in (default: raw)
1357
1358 keyid: string (optional)
1359 the name of another secret that should be used to decrypt the
1360 provided data. If not present, the data is assumed to be unen‐
1361 crypted.
1362
1363 iv: string (optional)
1364 the random initialization vector used for encryption of this
1365 particular secret. Should be a base64 encrypted string of the
1366 16-byte IV. Mandatory if keyid is given. Ignored if keyid is ab‐
1367 sent.
1368
1369 Features
1370 deprecated
1371 Member loaded is deprecated. Setting true doesn't make sense,
1372 and false is already the default.
1373
1374 Since
1375 2.6
1376
1377 SecretProperties (Object)
1378 Properties for secret objects.
1379
1380 Either data or file must be provided, but not both.
1381
1382 Members
1383 data: string (optional)
1384 the associated with the secret from
1385
1386 file: string (optional)
1387 the filename to load the data associated with the secret from
1388
1389 The members of SecretCommonProperties
1390
1391 Since
1392 2.6
1393
1394 SecretKeyringProperties (Object)
1395 Properties for secret_keyring objects.
1396
1397 Members
1398 serial: int
1399 serial number that identifies a key to get from the kernel
1400
1401 The members of SecretCommonProperties
1402
1403 Since
1404 5.1
1405
1406 TlsCredsProperties (Object)
1407 Properties for objects of classes derived from tls-creds.
1408
1409 Members
1410 verify-peer: boolean (optional)
1411 if true the peer credentials will be verified once the handshake
1412 is completed. This is a no-op for anonymous credentials. (de‐
1413 fault: true)
1414
1415 dir: string (optional)
1416 the path of the directory that contains the credential files
1417
1418 endpoint: QCryptoTLSCredsEndpoint (optional)
1419 whether the QEMU network backend that uses the credentials will
1420 be acting as a client or as a server (default: client)
1421
1422 priority: string (optional)
1423 a gnutls priority string as described at
1424 https://gnutls.org/manual/html_node/Priority-Strings.html
1425
1426 Since
1427 2.5
1428
1429 TlsCredsAnonProperties (Object)
1430 Properties for tls-creds-anon objects.
1431
1432 Members
1433 loaded: boolean (optional)
1434 if true, the credentials are loaded immediately when applying
1435 this option and will ignore options that are processed later.
1436 Don't use; only provided for compatibility. (default: false)
1437
1438 The members of TlsCredsProperties
1439
1440 Features
1441 deprecated
1442 Member loaded is deprecated. Setting true doesn't make sense,
1443 and false is already the default.
1444
1445 Since
1446 2.5
1447
1448 TlsCredsPskProperties (Object)
1449 Properties for tls-creds-psk objects.
1450
1451 Members
1452 loaded: boolean (optional)
1453 if true, the credentials are loaded immediately when applying
1454 this option and will ignore options that are processed later.
1455 Don't use; only provided for compatibility. (default: false)
1456
1457 username: string (optional)
1458 the username which will be sent to the server. For clients
1459 only. If absent, "qemu" is sent and the property will read back
1460 as an empty string.
1461
1462 The members of TlsCredsProperties
1463
1464 Features
1465 deprecated
1466 Member loaded is deprecated. Setting true doesn't make sense,
1467 and false is already the default.
1468
1469 Since
1470 3.0
1471
1472 TlsCredsX509Properties (Object)
1473 Properties for tls-creds-x509 objects.
1474
1475 Members
1476 loaded: boolean (optional)
1477 if true, the credentials are loaded immediately when applying
1478 this option and will ignore options that are processed later.
1479 Don't use; only provided for compatibility. (default: false)
1480
1481 sanity-check: boolean (optional)
1482 if true, perform some sanity checks before using the credentials
1483 (default: true)
1484
1485 passwordid: string (optional)
1486 For the server-key.pem and client-key.pem files which contain
1487 sensitive private keys, it is possible to use an encrypted ver‐
1488 sion by providing the passwordid parameter. This provides the
1489 ID of a previously created secret object containing the password
1490 for decryption.
1491
1492 The members of TlsCredsProperties
1493
1494 Features
1495 deprecated
1496 Member loaded is deprecated. Setting true doesn't make sense,
1497 and false is already the default.
1498
1499 Since
1500 2.5
1501
1502 Background jobs
1503 JobType (Enum)
1504 Type of a background job.
1505
1506 Values
1507 commit block commit job type, see "block-commit"
1508
1509 stream block stream job type, see "block-stream"
1510
1511 mirror drive mirror job type, see "drive-mirror"
1512
1513 backup drive backup job type, see "drive-backup"
1514
1515 create image creation job type, see "blockdev-create" (since 3.0)
1516
1517 amend image options amend job type, see "x-blockdev-amend" (since 5.1)
1518
1519 snapshot-load
1520 snapshot load job type, see "snapshot-load" (since 6.0)
1521
1522 snapshot-save
1523 snapshot save job type, see "snapshot-save" (since 6.0)
1524
1525 snapshot-delete
1526 snapshot delete job type, see "snapshot-delete" (since 6.0)
1527
1528 Since
1529 1.7
1530
1531 JobStatus (Enum)
1532 Indicates the present state of a given job in its lifetime.
1533
1534 Values
1535 undefined
1536 Erroneous, default state. Should not ever be visible.
1537
1538 created
1539 The job has been created, but not yet started.
1540
1541 running
1542 The job is currently running.
1543
1544 paused The job is running, but paused. The pause may be requested by
1545 either the QMP user or by internal processes.
1546
1547 ready The job is running, but is ready for the user to signal comple‐
1548 tion. This is used for long-running jobs like mirror that are
1549 designed to run indefinitely.
1550
1551 standby
1552 The job is ready, but paused. This is nearly identical to
1553 paused. The job may return to ready or otherwise be canceled.
1554
1555 waiting
1556 The job is waiting for other jobs in the transaction to converge
1557 to the waiting state. This status will likely not be visible for
1558 the last job in a transaction.
1559
1560 pending
1561 The job has finished its work, but has finalization steps that
1562 it needs to make prior to completing. These changes will require
1563 manual intervention via job-finalize if auto-finalize was set to
1564 false. These pending changes may still fail.
1565
1566 aborting
1567 The job is in the process of being aborted, and will finish with
1568 an error. The job will afterwards report that it is concluded.
1569 This status may not be visible to the management process.
1570
1571 concluded
1572 The job has finished all work. If auto-dismiss was set to false,
1573 the job will remain in the query list until it is dismissed via
1574 job-dismiss.
1575
1576 null The job is in the process of being dismantled. This state should
1577 not ever be visible externally.
1578
1579 Since
1580 2.12
1581
1582 JobVerb (Enum)
1583 Represents command verbs that can be applied to a job.
1584
1585 Values
1586 cancel see job-cancel
1587
1588 pause see job-pause
1589
1590 resume see job-resume
1591
1592 set-speed
1593 see block-job-set-speed
1594
1595 complete
1596 see job-complete
1597
1598 dismiss
1599 see job-dismiss
1600
1601 finalize
1602 see job-finalize
1603
1604 Since
1605 2.12
1606
1607 JOB_STATUS_CHANGE (Event)
1608 Emitted when a job transitions to a different status.
1609
1610 Arguments
1611 id: string
1612 The job identifier
1613
1614 status: JobStatus
1615 The new job status
1616
1617 Since
1618 3.0
1619
1620 job-pause (Command)
1621 Pause an active job.
1622
1623 This command returns immediately after marking the active job for paus‐
1624 ing. Pausing an already paused job is an error.
1625
1626 The job will pause as soon as possible, which means transitioning into
1627 the PAUSED state if it was RUNNING, or into STANDBY if it was READY.
1628 The corresponding JOB_STATUS_CHANGE event will be emitted.
1629
1630 Cancelling a paused job automatically resumes it.
1631
1632 Arguments
1633 id: string
1634 The job identifier.
1635
1636 Since
1637 3.0
1638
1639 job-resume (Command)
1640 Resume a paused job.
1641
1642 This command returns immediately after resuming a paused job. Resuming
1643 an already running job is an error.
1644
1645 id : The job identifier.
1646
1647 Arguments
1648 id: string
1649 Not documented
1650
1651 Since
1652 3.0
1653
1654 job-cancel (Command)
1655 Instruct an active background job to cancel at the next opportunity.
1656 This command returns immediately after marking the active job for can‐
1657 cellation.
1658
1659 The job will cancel as soon as possible and then emit a JOB_STA‐
1660 TUS_CHANGE event. Usually, the status will change to ABORTING, but it
1661 is possible that a job successfully completes (e.g. because it was al‐
1662 most done and there was no opportunity to cancel earlier than complet‐
1663 ing the job) and transitions to PENDING instead.
1664
1665 Arguments
1666 id: string
1667 The job identifier.
1668
1669 Since
1670 3.0
1671
1672 job-complete (Command)
1673 Manually trigger completion of an active job in the READY state.
1674
1675 Arguments
1676 id: string
1677 The job identifier.
1678
1679 Since
1680 3.0
1681
1682 job-dismiss (Command)
1683 Deletes a job that is in the CONCLUDED state. This command only needs
1684 to be run explicitly for jobs that don't have automatic dismiss en‐
1685 abled.
1686
1687 This command will refuse to operate on any job that has not yet reached
1688 its terminal state, JOB_STATUS_CONCLUDED. For jobs that make use of
1689 JOB_READY event, job-cancel or job-complete will still need to be used
1690 as appropriate.
1691
1692 Arguments
1693 id: string
1694 The job identifier.
1695
1696 Since
1697 3.0
1698
1699 job-finalize (Command)
1700 Instructs all jobs in a transaction (or a single job if it is not part
1701 of any transaction) to finalize any graph changes and do any necessary
1702 cleanup. This command requires that all involved jobs are in the PEND‐
1703 ING state.
1704
1705 For jobs in a transaction, instructing one job to finalize will force
1706 ALL jobs in the transaction to finalize, so it is only necessary to in‐
1707 struct a single member job to finalize.
1708
1709 Arguments
1710 id: string
1711 The identifier of any job in the transaction, or of a job that
1712 is not part of any transaction.
1713
1714 Since
1715 3.0
1716
1717 JobInfo (Object)
1718 Information about a job.
1719
1720 Members
1721 id: string
1722 The job identifier
1723
1724 type: JobType
1725 The kind of job that is being performed
1726
1727 status: JobStatus
1728 Current job state/status
1729
1730 current-progress: int
1731 Progress made until now. The unit is arbitrary and the value can
1732 only meaningfully be used for the ratio of current-progress to
1733 total-progress. The value is monotonically increasing.
1734
1735 total-progress: int
1736 Estimated current-progress value at the completion of the job.
1737 This value can arbitrarily change while the job is running, in
1738 both directions.
1739
1740 error: string (optional)
1741 If this field is present, the job failed; if it is still missing
1742 in the CONCLUDED state, this indicates successful completion.
1743
1744 The value is a human-readable error message to describe the rea‐
1745 son for the job failure. It should not be parsed by applica‐
1746 tions.
1747
1748 Since
1749 3.0
1750
1751 query-jobs (Command)
1752 Return information about jobs.
1753
1754 Returns
1755 a list with a JobInfo for each active job
1756
1757 Since
1758 3.0
1759
1761 NetworkAddressFamily (Enum)
1762 The network address family
1763
1764 Values
1765 ipv4 IPV4 family
1766
1767 ipv6 IPV6 family
1768
1769 unix unix socket
1770
1771 vsock vsock family (since 2.8)
1772
1773 unknown
1774 otherwise
1775
1776 Since
1777 2.1
1778
1779 InetSocketAddressBase (Object)
1780 Members
1781 host: string
1782 host part of the address
1783
1784 port: string
1785 port part of the address
1786
1787 InetSocketAddress (Object)
1788 Captures a socket address or address range in the Internet namespace.
1789
1790 Members
1791 numeric: boolean (optional)
1792 true if the host/port are guaranteed to be numeric, false if
1793 name resolution should be attempted. Defaults to false. (Since
1794 2.9)
1795
1796 to: int (optional)
1797 If present, this is range of possible addresses, with port be‐
1798 tween port and to.
1799
1800 ipv4: boolean (optional)
1801 whether to accept IPv4 addresses, default try both IPv4 and IPv6
1802
1803 ipv6: boolean (optional)
1804 whether to accept IPv6 addresses, default try both IPv4 and IPv6
1805
1806 keep-alive: boolean (optional)
1807 enable keep-alive when connecting to this socket. Not supported
1808 for passive sockets. (Since 4.2)
1809
1810 mptcp: boolean (optional) (If: HAVE_IPPROTO_MPTCP)
1811 enable multi-path TCP. (Since 6.1)
1812
1813 The members of InetSocketAddressBase
1814
1815 Since
1816 1.3
1817
1818 UnixSocketAddress (Object)
1819 Captures a socket address in the local ("Unix socket") namespace.
1820
1821 Members
1822 path: string
1823 filesystem path to use
1824
1825 abstract: boolean (optional) (If: CONFIG_LINUX)
1826 if true, this is a Linux abstract socket address. path will be
1827 prefixed by a null byte, and optionally padded with null bytes.
1828 Defaults to false. (Since 5.1)
1829
1830 tight: boolean (optional) (If: CONFIG_LINUX)
1831 if false, pad an abstract socket address with enough null bytes
1832 to make it fill struct sockaddr_un member sun_path. Defaults to
1833 true. (Since 5.1)
1834
1835 Since
1836 1.3
1837
1838 VsockSocketAddress (Object)
1839 Captures a socket address in the vsock namespace.
1840
1841 Members
1842 cid: string
1843 unique host identifier
1844
1845 port: string
1846 port
1847
1848 Note
1849 string types are used to allow for possible future hostname or service
1850 resolution support.
1851
1852 Since
1853 2.8
1854
1855 InetSocketAddressWrapper (Object)
1856 Members
1857 data: InetSocketAddress
1858 Not documented
1859
1860 Since
1861 1.3
1862
1863 UnixSocketAddressWrapper (Object)
1864 Members
1865 data: UnixSocketAddress
1866 Not documented
1867
1868 Since
1869 1.3
1870
1871 VsockSocketAddressWrapper (Object)
1872 Members
1873 data: VsockSocketAddress
1874 Not documented
1875
1876 Since
1877 2.8
1878
1879 StringWrapper (Object)
1880 Members
1881 data: String
1882 Not documented
1883
1884 Since
1885 1.3
1886
1887 SocketAddressLegacy (Object)
1888 Captures the address of a socket, which could also be a named file de‐
1889 scriptor
1890
1891 Members
1892 type: SocketAddressType
1893 Not documented
1894
1895 The members of InetSocketAddressWrapper when type is "inet"
1896
1897 The members of UnixSocketAddressWrapper when type is "unix"
1898
1899 The members of VsockSocketAddressWrapper when type is "vsock"
1900
1901 The members of StringWrapper when type is "fd"
1902
1903 Note
1904 This type is deprecated in favor of SocketAddress. The difference be‐
1905 tween SocketAddressLegacy and SocketAddress is that the latter is has
1906 fewer {} on the wire.
1907
1908 Since
1909 1.3
1910
1911 SocketAddressType (Enum)
1912 Available SocketAddress types
1913
1914 Values
1915 inet Internet address
1916
1917 unix Unix domain socket
1918
1919 vsock VMCI address
1920
1921 fd decimal is for file descriptor number, otherwise a file descrip‐
1922 tor name. Named file descriptors are permitted in monitor com‐
1923 mands, in combination with the 'getfd' command. Decimal file de‐
1924 scriptors are permitted at startup or other contexts where no
1925 monitor context is active.
1926
1927 Since
1928 2.9
1929
1930 SocketAddress (Object)
1931 Captures the address of a socket, which could also be a named file de‐
1932 scriptor
1933
1934 Members
1935 type: SocketAddressType
1936 Transport type
1937
1938 The members of InetSocketAddress when type is "inet"
1939
1940 The members of UnixSocketAddress when type is "unix"
1941
1942 The members of VsockSocketAddress when type is "vsock"
1943
1944 The members of String when type is "fd"
1945
1946 Since
1947 2.9
1948
1949 SnapshotInfo (Object)
1950 Members
1951 id: string
1952 unique snapshot id
1953
1954 name: string
1955 user chosen name
1956
1957 vm-state-size: int
1958 size of the VM state
1959
1960 date-sec: int
1961 UTC date of the snapshot in seconds
1962
1963 date-nsec: int
1964 fractional part in nano seconds to be used with date-sec
1965
1966 vm-clock-sec: int
1967 VM clock relative to boot in seconds
1968
1969 vm-clock-nsec: int
1970 fractional part in nano seconds to be used with vm-clock-sec
1971
1972 icount: int (optional)
1973 Current instruction count. Appears when execution record/replay
1974 is enabled. Used for "time-traveling" to match the moment in the
1975 recorded execution with the snapshots. This counter may be ob‐
1976 tained through query-replay command (since 5.2)
1977
1978 Since
1979 1.3
1980
1981 ImageInfoSpecificQCow2EncryptionBase (Object)
1982 Members
1983 format: BlockdevQcow2EncryptionFormat
1984 The encryption format
1985
1986 Since
1987 2.10
1988
1989 ImageInfoSpecificQCow2Encryption (Object)
1990 Members
1991 The members of ImageInfoSpecificQCow2EncryptionBase
1992
1993 The members of QCryptoBlockInfoLUKS when format is "luks"
1994
1995 Since
1996 2.10
1997
1998 ImageInfoSpecificQCow2 (Object)
1999 Members
2000 compat: string
2001 compatibility level
2002
2003 data-file: string (optional)
2004 the filename of the external data file that is stored in the im‐
2005 age and used as a default for opening the image (since: 4.0)
2006
2007 data-file-raw: boolean (optional)
2008 True if the external data file must stay valid as a standalone
2009 (read-only) raw image without looking at qcow2 metadata (since:
2010 4.0)
2011
2012 extended-l2: boolean (optional)
2013 true if the image has extended L2 entries; only valid for compat
2014 >= 1.1 (since 5.2)
2015
2016 lazy-refcounts: boolean (optional)
2017 on or off; only valid for compat >= 1.1
2018
2019 corrupt: boolean (optional)
2020 true if the image has been marked corrupt; only valid for compat
2021 >= 1.1 (since 2.2)
2022
2023 refcount-bits: int
2024 width of a refcount entry in bits (since 2.3)
2025
2026 encrypt: ImageInfoSpecificQCow2Encryption (optional)
2027 details about encryption parameters; only set if image is en‐
2028 crypted (since 2.10)
2029
2030 bitmaps: array of Qcow2BitmapInfo (optional)
2031 A list of qcow2 bitmap details (since 4.0)
2032
2033 compression-type: Qcow2CompressionType
2034 the image cluster compression method (since 5.1)
2035
2036 Since
2037 1.7
2038
2039 ImageInfoSpecificVmdk (Object)
2040 Members
2041 create-type: string
2042 The create type of VMDK image
2043
2044 cid: int
2045 Content id of image
2046
2047 parent-cid: int
2048 Parent VMDK image's cid
2049
2050 extents: array of ImageInfo
2051 List of extent files
2052
2053 Since
2054 1.7
2055
2056 ImageInfoSpecificRbd (Object)
2057 Members
2058 encryption-format: RbdImageEncryptionFormat (optional)
2059 Image encryption format
2060
2061 Since
2062 6.1
2063
2064 ImageInfoSpecificKind (Enum)
2065 Values
2066 luks Since 2.7
2067
2068 rbd Since 6.1
2069
2070 qcow2 Not documented
2071
2072 vmdk Not documented
2073
2074 Since
2075 1.7
2076
2077 ImageInfoSpecificQCow2Wrapper (Object)
2078 Members
2079 data: ImageInfoSpecificQCow2
2080 Not documented
2081
2082 Since
2083 1.7
2084
2085 ImageInfoSpecificVmdkWrapper (Object)
2086 Members
2087 data: ImageInfoSpecificVmdk
2088 Not documented
2089
2090 Since
2091 6.1
2092
2093 ImageInfoSpecificLUKSWrapper (Object)
2094 Members
2095 data: QCryptoBlockInfoLUKS
2096 Not documented
2097
2098 Since
2099 2.7
2100
2101 ImageInfoSpecificRbdWrapper (Object)
2102 Members
2103 data: ImageInfoSpecificRbd
2104 Not documented
2105
2106 Since
2107 6.1
2108
2109 ImageInfoSpecific (Object)
2110 A discriminated record of image format specific information structures.
2111
2112 Members
2113 type: ImageInfoSpecificKind
2114 Not documented
2115
2116 The members of ImageInfoSpecificQCow2Wrapper when type is "qcow2"
2117
2118 The members of ImageInfoSpecificVmdkWrapper when type is "vmdk"
2119
2120 The members of ImageInfoSpecificLUKSWrapper when type is "luks"
2121
2122 The members of ImageInfoSpecificRbdWrapper when type is "rbd"
2123
2124 Since
2125 1.7
2126
2127 ImageInfo (Object)
2128 Information about a QEMU image file
2129
2130 Members
2131 filename: string
2132 name of the image file
2133
2134 format: string
2135 format of the image file
2136
2137 virtual-size: int
2138 maximum capacity in bytes of the image
2139
2140 actual-size: int (optional)
2141 actual size on disk in bytes of the image
2142
2143 dirty-flag: boolean (optional)
2144 true if image is not cleanly closed
2145
2146 cluster-size: int (optional)
2147 size of a cluster in bytes
2148
2149 encrypted: boolean (optional)
2150 true if the image is encrypted
2151
2152 compressed: boolean (optional)
2153 true if the image is compressed (Since 1.7)
2154
2155 backing-filename: string (optional)
2156 name of the backing file
2157
2158 full-backing-filename: string (optional)
2159 full path of the backing file
2160
2161 backing-filename-format: string (optional)
2162 the format of the backing file
2163
2164 snapshots: array of SnapshotInfo (optional)
2165 list of VM snapshots
2166
2167 backing-image: ImageInfo (optional)
2168 info of the backing image (since 1.6)
2169
2170 format-specific: ImageInfoSpecific (optional)
2171 structure supplying additional format-specific information
2172 (since 1.7)
2173
2174 Since
2175 1.3
2176
2177 ImageCheck (Object)
2178 Information about a QEMU image file check
2179
2180 Members
2181 filename: string
2182 name of the image file checked
2183
2184 format: string
2185 format of the image file checked
2186
2187 check-errors: int
2188 number of unexpected errors occurred during check
2189
2190 image-end-offset: int (optional)
2191 offset (in bytes) where the image ends, this field is present if
2192 the driver for the image format supports it
2193
2194 corruptions: int (optional)
2195 number of corruptions found during the check if any
2196
2197 leaks: int (optional)
2198 number of leaks found during the check if any
2199
2200 corruptions-fixed: int (optional)
2201 number of corruptions fixed during the check if any
2202
2203 leaks-fixed: int (optional)
2204 number of leaks fixed during the check if any
2205
2206 total-clusters: int (optional)
2207 total number of clusters, this field is present if the driver
2208 for the image format supports it
2209
2210 allocated-clusters: int (optional)
2211 total number of allocated clusters, this field is present if the
2212 driver for the image format supports it
2213
2214 fragmented-clusters: int (optional)
2215 total number of fragmented clusters, this field is present if
2216 the driver for the image format supports it
2217
2218 compressed-clusters: int (optional)
2219 total number of compressed clusters, this field is present if
2220 the driver for the image format supports it
2221
2222 Since
2223 1.4
2224
2225 MapEntry (Object)
2226 Mapping information from a virtual block range to a host file range
2227
2228 Members
2229 start: int
2230 virtual (guest) offset of the first byte described by this entry
2231
2232 length: int
2233 the number of bytes of the mapped virtual range
2234
2235 data: boolean
2236 reading the image will actually read data from a file (in par‐
2237 ticular, if offset is present this means that the sectors are
2238 not simply preallocated, but contain actual data in raw format)
2239
2240 zero: boolean
2241 whether the virtual blocks read as zeroes
2242
2243 depth: int
2244 number of layers (0 = top image, 1 = top image's backing file,
2245 ..., n - 1 = bottom image (where n is the number of images in
2246 the chain)) before reaching one for which the range is allocated
2247
2248 present: boolean
2249 true if this layer provides the data, false if adding a backing
2250 layer could impact this region (since 6.1)
2251
2252 offset: int (optional)
2253 if present, the image file stores the data for this range in raw
2254 format at the given (host) offset
2255
2256 filename: string (optional)
2257 filename that is referred to by offset
2258
2259 Since
2260 2.6
2261
2262 BlockdevCacheInfo (Object)
2263 Cache mode information for a block device
2264
2265 Members
2266 writeback: boolean
2267 true if writeback mode is enabled
2268
2269 direct: boolean
2270 true if the host page cache is bypassed (O_DIRECT)
2271
2272 no-flush: boolean
2273 true if flush requests are ignored for the device
2274
2275 Since
2276 2.3
2277
2278 BlockDeviceInfo (Object)
2279 Information about the backing device for a block device.
2280
2281 Members
2282 file: string
2283 the filename of the backing device
2284
2285 node-name: string (optional)
2286 the name of the block driver node (Since 2.0)
2287
2288 ro: boolean
2289 true if the backing device was open read-only
2290
2291 drv: string
2292 the name of the block format used to open the backing device. As
2293 of 0.14 this can be: 'blkdebug', 'bochs', 'cloop', 'cow', 'dmg',
2294 'file', 'file', 'ftp', 'ftps', 'host_cdrom', 'host_device',
2295 'http', 'https', 'luks', 'nbd', 'parallels', 'qcow', 'qcow2',
2296 'raw', 'vdi', 'vmdk', 'vpc', 'vvfat' 2.2: 'archipelago' added,
2297 'cow' dropped 2.3: 'host_floppy' deprecated 2.5: 'host_floppy'
2298 dropped 2.6: 'luks' added 2.8: 'replication' added, 'tftp'
2299 dropped 2.9: 'archipelago' dropped
2300
2301 backing_file: string (optional)
2302 the name of the backing file (for copy-on-write)
2303
2304 backing_file_depth: int
2305 number of files in the backing file chain (since: 1.2)
2306
2307 encrypted: boolean
2308 true if the backing device is encrypted
2309
2310 detect_zeroes: BlockdevDetectZeroesOptions
2311 detect and optimize zero writes (Since 2.1)
2312
2313 bps: int
2314 total throughput limit in bytes per second is specified
2315
2316 bps_rd: int
2317 read throughput limit in bytes per second is specified
2318
2319 bps_wr: int
2320 write throughput limit in bytes per second is specified
2321
2322 iops: int
2323 total I/O operations per second is specified
2324
2325 iops_rd: int
2326 read I/O operations per second is specified
2327
2328 iops_wr: int
2329 write I/O operations per second is specified
2330
2331 image: ImageInfo
2332 the info of image used (since: 1.6)
2333
2334 bps_max: int (optional)
2335
2336 total throughput limit during bursts,
2337 in bytes (Since 1.7)
2338
2339 bps_rd_max: int (optional)
2340
2341 read throughput limit during bursts,
2342 in bytes (Since 1.7)
2343
2344 bps_wr_max: int (optional)
2345
2346 write throughput limit during bursts,
2347 in bytes (Since 1.7)
2348
2349 iops_max: int (optional)
2350
2351 total I/O operations per second during bursts,
2352 in bytes (Since 1.7)
2353
2354 iops_rd_max: int (optional)
2355
2356 read I/O operations per second during bursts,
2357 in bytes (Since 1.7)
2358
2359 iops_wr_max: int (optional)
2360
2361 write I/O operations per second during bursts,
2362 in bytes (Since 1.7)
2363
2364 bps_max_length: int (optional)
2365
2366 maximum length of the bps_max burst
2367 period, in seconds. (Since 2.6)
2368
2369 bps_rd_max_length: int (optional)
2370
2371 maximum length of the bps_rd_max
2372 burst period, in seconds. (Since 2.6)
2373
2374 bps_wr_max_length: int (optional)
2375
2376 maximum length of the bps_wr_max
2377 burst period, in seconds. (Since 2.6)
2378
2379 iops_max_length: int (optional)
2380
2381 maximum length of the iops burst
2382 period, in seconds. (Since 2.6)
2383
2384 iops_rd_max_length: int (optional)
2385
2386 maximum length of the iops_rd_max
2387 burst period, in seconds. (Since 2.6)
2388
2389 iops_wr_max_length: int (optional)
2390
2391 maximum length of the iops_wr_max
2392 burst period, in seconds. (Since 2.6)
2393
2394 iops_size: int (optional)
2395 an I/O size in bytes (Since 1.7)
2396
2397 group: string (optional)
2398 throttle group name (Since 2.4)
2399
2400 cache: BlockdevCacheInfo
2401 the cache mode used for the block device (since: 2.3)
2402
2403 write_threshold: int
2404 configured write threshold for the device. 0 if disabled.
2405 (Since 2.3)
2406
2407 dirty-bitmaps: array of BlockDirtyInfo (optional)
2408 dirty bitmaps information (only present if node has one or more
2409 dirty bitmaps) (Since 4.2)
2410
2411 Since
2412 0.14
2413
2414 BlockDeviceIoStatus (Enum)
2415 An enumeration of block device I/O status.
2416
2417 Values
2418 ok The last I/O operation has succeeded
2419
2420 failed The last I/O operation has failed
2421
2422 nospace
2423 The last I/O operation has failed due to a no-space condition
2424
2425 Since
2426 1.0
2427
2428 BlockDirtyInfo (Object)
2429 Block dirty bitmap information.
2430
2431 Members
2432 name: string (optional)
2433 the name of the dirty bitmap (Since 2.4)
2434
2435 count: int
2436 number of dirty bytes according to the dirty bitmap
2437
2438 granularity: int
2439 granularity of the dirty bitmap in bytes (since 1.4)
2440
2441 recording: boolean
2442 true if the bitmap is recording new writes from the guest. Re‐
2443 places active and disabled statuses. (since 4.0)
2444
2445 busy: boolean
2446 true if the bitmap is in-use by some operation (NBD or jobs) and
2447 cannot be modified via QMP or used by another operation. Re‐
2448 places locked and frozen statuses. (since 4.0)
2449
2450 persistent: boolean
2451 true if the bitmap was stored on disk, is scheduled to be stored
2452 on disk, or both. (since 4.0)
2453
2454 inconsistent: boolean (optional)
2455 true if this is a persistent bitmap that was improperly stored.
2456 Implies persistent to be true; recording and busy to be false.
2457 This bitmap cannot be used. To remove it, use block-dirty-bit‐
2458 map-remove. (Since 4.0)
2459
2460 Since
2461 1.3
2462
2463 Qcow2BitmapInfoFlags (Enum)
2464 An enumeration of flags that a bitmap can report to the user.
2465
2466 Values
2467 in-use This flag is set by any process actively modifying the qcow2
2468 file, and cleared when the updated bitmap is flushed to the
2469 qcow2 image. The presence of this flag in an offline image
2470 means that the bitmap was not saved correctly after its last us‐
2471 age, and may contain inconsistent data.
2472
2473 auto The bitmap must reflect all changes of the virtual disk by any
2474 application that would write to this qcow2 file.
2475
2476 Since
2477 4.0
2478
2479 Qcow2BitmapInfo (Object)
2480 Qcow2 bitmap information.
2481
2482 Members
2483 name: string
2484 the name of the bitmap
2485
2486 granularity: int
2487 granularity of the bitmap in bytes
2488
2489 flags: array of Qcow2BitmapInfoFlags
2490 flags of the bitmap
2491
2492 Since
2493 4.0
2494
2495 BlockLatencyHistogramInfo (Object)
2496 Block latency histogram.
2497
2498 Members
2499 boundaries: array of int
2500 list of interval boundary values in nanoseconds, all greater
2501 than zero and in ascending order. For example, the list [10,
2502 50, 100] produces the following histogram intervals: [0, 10),
2503 [10, 50), [50, 100), [100, +inf).
2504
2505 bins: array of int
2506 list of io request counts corresponding to histogram intervals.
2507 len(bins) = len(boundaries) + 1 For the example above, bins may
2508 be something like [3, 1, 5, 2], and corresponding histogram
2509 looks like:
2510
2511 5| *
2512 4| *
2513 3| * *
2514 2| * * *
2515 1| * * * *
2516 +------------------
2517 10 50 100
2518
2519 Since
2520 4.0
2521
2522 BlockInfo (Object)
2523 Block device information. This structure describes a virtual device
2524 and the backing device associated with it.
2525
2526 Members
2527 device: string
2528 The device name associated with the virtual device.
2529
2530 qdev: string (optional)
2531 The qdev ID, or if no ID is assigned, the QOM path of the block
2532 device. (since 2.10)
2533
2534 type: string
2535 This field is returned only for compatibility reasons, it should
2536 not be used (always returns 'unknown')
2537
2538 removable: boolean
2539 True if the device supports removable media.
2540
2541 locked: boolean
2542 True if the guest has locked this device from having its media
2543 removed
2544
2545 tray_open: boolean (optional)
2546 True if the device's tray is open (only present if it has a
2547 tray)
2548
2549 io-status: BlockDeviceIoStatus (optional)
2550 BlockDeviceIoStatus. Only present if the device supports it and
2551 the VM is configured to stop on errors (supported device models:
2552 virtio-blk, IDE, SCSI except scsi-generic)
2553
2554 inserted: BlockDeviceInfo (optional)
2555 BlockDeviceInfo describing the device if media is present
2556
2557 Since
2558 0.14
2559
2560 BlockMeasureInfo (Object)
2561 Image file size calculation information. This structure describes the
2562 size requirements for creating a new image file.
2563
2564 The size requirements depend on the new image file format. File size
2565 always equals virtual disk size for the 'raw' format, even for sparse
2566 POSIX files. Compact formats such as 'qcow2' represent unallocated and
2567 zero regions efficiently so file size may be smaller than virtual disk
2568 size.
2569
2570 The values are upper bounds that are guaranteed to fit the new image
2571 file. Subsequent modification, such as internal snapshot or further
2572 bitmap creation, may require additional space and is not covered here.
2573
2574 Members
2575 required: int
2576 Size required for a new image file, in bytes, when copying just
2577 allocated guest-visible contents.
2578
2579 fully-allocated: int
2580 Image file size, in bytes, once data has been written to all
2581 sectors, when copying just guest-visible contents.
2582
2583 bitmaps: int (optional)
2584 Additional size required if all the top-level bitmap metadata in
2585 the source image were to be copied to the destination, present
2586 only when source and destination both support persistent bit‐
2587 maps. (since 5.1)
2588
2589 Since
2590 2.10
2591
2592 query-block (Command)
2593 Get a list of BlockInfo for all virtual block devices.
2594
2595 Returns
2596 a list of BlockInfo describing each virtual block device. Filter nodes
2597 that were created implicitly are skipped over.
2598
2599 Since
2600 0.14
2601
2602 Example
2603 -> { "execute": "query-block" }
2604 <- {
2605 "return":[
2606 {
2607 "io-status": "ok",
2608 "device":"ide0-hd0",
2609 "locked":false,
2610 "removable":false,
2611 "inserted":{
2612 "ro":false,
2613 "drv":"qcow2",
2614 "encrypted":false,
2615 "file":"disks/test.qcow2",
2616 "backing_file_depth":1,
2617 "bps":1000000,
2618 "bps_rd":0,
2619 "bps_wr":0,
2620 "iops":1000000,
2621 "iops_rd":0,
2622 "iops_wr":0,
2623 "bps_max": 8000000,
2624 "bps_rd_max": 0,
2625 "bps_wr_max": 0,
2626 "iops_max": 0,
2627 "iops_rd_max": 0,
2628 "iops_wr_max": 0,
2629 "iops_size": 0,
2630 "detect_zeroes": "on",
2631 "write_threshold": 0,
2632 "image":{
2633 "filename":"disks/test.qcow2",
2634 "format":"qcow2",
2635 "virtual-size":2048000,
2636 "backing_file":"base.qcow2",
2637 "full-backing-filename":"disks/base.qcow2",
2638 "backing-filename-format":"qcow2",
2639 "snapshots":[
2640 {
2641 "id": "1",
2642 "name": "snapshot1",
2643 "vm-state-size": 0,
2644 "date-sec": 10000200,
2645 "date-nsec": 12,
2646 "vm-clock-sec": 206,
2647 "vm-clock-nsec": 30
2648 }
2649 ],
2650 "backing-image":{
2651 "filename":"disks/base.qcow2",
2652 "format":"qcow2",
2653 "virtual-size":2048000
2654 }
2655 }
2656 },
2657 "qdev": "ide_disk",
2658 "type":"unknown"
2659 },
2660 {
2661 "io-status": "ok",
2662 "device":"ide1-cd0",
2663 "locked":false,
2664 "removable":true,
2665 "qdev": "/machine/unattached/device[23]",
2666 "tray_open": false,
2667 "type":"unknown"
2668 },
2669 {
2670 "device":"floppy0",
2671 "locked":false,
2672 "removable":true,
2673 "qdev": "/machine/unattached/device[20]",
2674 "type":"unknown"
2675 },
2676 {
2677 "device":"sd0",
2678 "locked":false,
2679 "removable":true,
2680 "type":"unknown"
2681 }
2682 ]
2683 }
2684
2685 BlockDeviceTimedStats (Object)
2686 Statistics of a block device during a given interval of time.
2687
2688 Members
2689 interval_length: int
2690 Interval used for calculating the statistics, in seconds.
2691
2692 min_rd_latency_ns: int
2693 Minimum latency of read operations in the defined interval, in
2694 nanoseconds.
2695
2696 min_wr_latency_ns: int
2697 Minimum latency of write operations in the defined interval, in
2698 nanoseconds.
2699
2700 min_flush_latency_ns: int
2701 Minimum latency of flush operations in the defined interval, in
2702 nanoseconds.
2703
2704 max_rd_latency_ns: int
2705 Maximum latency of read operations in the defined interval, in
2706 nanoseconds.
2707
2708 max_wr_latency_ns: int
2709 Maximum latency of write operations in the defined interval, in
2710 nanoseconds.
2711
2712 max_flush_latency_ns: int
2713 Maximum latency of flush operations in the defined interval, in
2714 nanoseconds.
2715
2716 avg_rd_latency_ns: int
2717 Average latency of read operations in the defined interval, in
2718 nanoseconds.
2719
2720 avg_wr_latency_ns: int
2721 Average latency of write operations in the defined interval, in
2722 nanoseconds.
2723
2724 avg_flush_latency_ns: int
2725 Average latency of flush operations in the defined interval, in
2726 nanoseconds.
2727
2728 avg_rd_queue_depth: number
2729 Average number of pending read operations in the defined inter‐
2730 val.
2731
2732 avg_wr_queue_depth: number
2733 Average number of pending write operations in the defined inter‐
2734 val.
2735
2736 Since
2737 2.5
2738
2739 BlockDeviceStats (Object)
2740 Statistics of a virtual block device or a block backing device.
2741
2742 Members
2743 rd_bytes: int
2744 The number of bytes read by the device.
2745
2746 wr_bytes: int
2747 The number of bytes written by the device.
2748
2749 unmap_bytes: int
2750 The number of bytes unmapped by the device (Since 4.2)
2751
2752 rd_operations: int
2753 The number of read operations performed by the device.
2754
2755 wr_operations: int
2756 The number of write operations performed by the device.
2757
2758 flush_operations: int
2759 The number of cache flush operations performed by the device
2760 (since 0.15)
2761
2762 unmap_operations: int
2763 The number of unmap operations performed by the device (Since
2764 4.2)
2765
2766 rd_total_time_ns: int
2767 Total time spent on reads in nanoseconds (since 0.15).
2768
2769 wr_total_time_ns: int
2770 Total time spent on writes in nanoseconds (since 0.15).
2771
2772 flush_total_time_ns: int
2773 Total time spent on cache flushes in nanoseconds (since 0.15).
2774
2775 unmap_total_time_ns: int
2776 Total time spent on unmap operations in nanoseconds (Since 4.2)
2777
2778 wr_highest_offset: int
2779 The offset after the greatest byte written to the device. The
2780 intended use of this information is for growable sparse files
2781 (like qcow2) that are used on top of a physical device.
2782
2783 rd_merged: int
2784 Number of read requests that have been merged into another re‐
2785 quest (Since 2.3).
2786
2787 wr_merged: int
2788 Number of write requests that have been merged into another re‐
2789 quest (Since 2.3).
2790
2791 unmap_merged: int
2792 Number of unmap requests that have been merged into another re‐
2793 quest (Since 4.2)
2794
2795 idle_time_ns: int (optional)
2796 Time since the last I/O operation, in nanoseconds. If the field
2797 is absent it means that there haven't been any operations yet
2798 (Since 2.5).
2799
2800 failed_rd_operations: int
2801 The number of failed read operations performed by the device
2802 (Since 2.5)
2803
2804 failed_wr_operations: int
2805 The number of failed write operations performed by the device
2806 (Since 2.5)
2807
2808 failed_flush_operations: int
2809 The number of failed flush operations performed by the device
2810 (Since 2.5)
2811
2812 failed_unmap_operations: int
2813 The number of failed unmap operations performed by the device
2814 (Since 4.2)
2815
2816 invalid_rd_operations: int
2817
2818 The number of invalid read operations
2819 performed by the device (Since 2.5)
2820
2821 invalid_wr_operations: int
2822 The number of invalid write operations performed by the device
2823 (Since 2.5)
2824
2825 invalid_flush_operations: int
2826 The number of invalid flush operations performed by the device
2827 (Since 2.5)
2828
2829 invalid_unmap_operations: int
2830 The number of invalid unmap operations performed by the device
2831 (Since 4.2)
2832
2833 account_invalid: boolean
2834 Whether invalid operations are included in the last access sta‐
2835 tistics (Since 2.5)
2836
2837 account_failed: boolean
2838 Whether failed operations are included in the latency and last
2839 access statistics (Since 2.5)
2840
2841 timed_stats: array of BlockDeviceTimedStats
2842 Statistics specific to the set of previously defined intervals
2843 of time (Since 2.5)
2844
2845 rd_latency_histogram: BlockLatencyHistogramInfo (optional)
2846 BlockLatencyHistogramInfo. (Since 4.0)
2847
2848 wr_latency_histogram: BlockLatencyHistogramInfo (optional)
2849 BlockLatencyHistogramInfo. (Since 4.0)
2850
2851 flush_latency_histogram: BlockLatencyHistogramInfo (optional)
2852 BlockLatencyHistogramInfo. (Since 4.0)
2853
2854 Since
2855 0.14
2856
2857 BlockStatsSpecificFile (Object)
2858 File driver statistics
2859
2860 Members
2861 discard-nb-ok: int
2862 The number of successful discard operations performed by the
2863 driver.
2864
2865 discard-nb-failed: int
2866 The number of failed discard operations performed by the driver.
2867
2868 discard-bytes-ok: int
2869 The number of bytes discarded by the driver.
2870
2871 Since
2872 4.2
2873
2874 BlockStatsSpecificNvme (Object)
2875 NVMe driver statistics
2876
2877 Members
2878 completion-errors: int
2879 The number of completion errors.
2880
2881 aligned-accesses: int
2882 The number of aligned accesses performed by the driver.
2883
2884 unaligned-accesses: int
2885 The number of unaligned accesses performed by the driver.
2886
2887 Since
2888 5.2
2889
2890 BlockStatsSpecific (Object)
2891 Block driver specific statistics
2892
2893 Members
2894 driver: BlockdevDriver
2895 Not documented
2896
2897 The members of BlockStatsSpecificFile when driver is "file"
2898
2899 The members of BlockStatsSpecificFile when driver is "host_device" (If:
2900 HAVE_HOST_BLOCK_DEVICE)
2901
2902 The members of BlockStatsSpecificNvme when driver is "nvme"
2903
2904 Since
2905 4.2
2906
2907 BlockStats (Object)
2908 Statistics of a virtual block device or a block backing device.
2909
2910 Members
2911 device: string (optional)
2912 If the stats are for a virtual block device, the name corre‐
2913 sponding to the virtual block device.
2914
2915 node-name: string (optional)
2916 The node name of the device. (Since 2.3)
2917
2918 qdev: string (optional)
2919 The qdev ID, or if no ID is assigned, the QOM path of the block
2920 device. (since 3.0)
2921
2922 stats: BlockDeviceStats
2923 A BlockDeviceStats for the device.
2924
2925 driver-specific: BlockStatsSpecific (optional)
2926 Optional driver-specific stats. (Since 4.2)
2927
2928 parent: BlockStats (optional)
2929 This describes the file block device if it has one. Contains
2930 recursively the statistics of the underlying protocol (e.g. the
2931 host file for a qcow2 image). If there is no underlying proto‐
2932 col, this field is omitted
2933
2934 backing: BlockStats (optional)
2935 This describes the backing block device if it has one. (Since
2936 2.0)
2937
2938 Since
2939 0.14
2940
2941 query-blockstats (Command)
2942 Query the BlockStats for all virtual block devices.
2943
2944 Arguments
2945 query-nodes: boolean (optional)
2946 If true, the command will query all the block nodes that have a
2947 node name, in a list which will include "parent" information,
2948 but not "backing". If false or omitted, the behavior is as be‐
2949 fore - query all the device backends, recursively including
2950 their "parent" and "backing". Filter nodes that were created im‐
2951 plicitly are skipped over in this mode. (Since 2.3)
2952
2953 Returns
2954 A list of BlockStats for each virtual block devices.
2955
2956 Since
2957 0.14
2958
2959 Example
2960 -> { "execute": "query-blockstats" }
2961 <- {
2962 "return":[
2963 {
2964 "device":"ide0-hd0",
2965 "parent":{
2966 "stats":{
2967 "wr_highest_offset":3686448128,
2968 "wr_bytes":9786368,
2969 "wr_operations":751,
2970 "rd_bytes":122567168,
2971 "rd_operations":36772
2972 "wr_total_times_ns":313253456
2973 "rd_total_times_ns":3465673657
2974 "flush_total_times_ns":49653
2975 "flush_operations":61,
2976 "rd_merged":0,
2977 "wr_merged":0,
2978 "idle_time_ns":2953431879,
2979 "account_invalid":true,
2980 "account_failed":false
2981 }
2982 },
2983 "stats":{
2984 "wr_highest_offset":2821110784,
2985 "wr_bytes":9786368,
2986 "wr_operations":692,
2987 "rd_bytes":122739200,
2988 "rd_operations":36604
2989 "flush_operations":51,
2990 "wr_total_times_ns":313253456
2991 "rd_total_times_ns":3465673657
2992 "flush_total_times_ns":49653,
2993 "rd_merged":0,
2994 "wr_merged":0,
2995 "idle_time_ns":2953431879,
2996 "account_invalid":true,
2997 "account_failed":false
2998 },
2999 "qdev": "/machine/unattached/device[23]"
3000 },
3001 {
3002 "device":"ide1-cd0",
3003 "stats":{
3004 "wr_highest_offset":0,
3005 "wr_bytes":0,
3006 "wr_operations":0,
3007 "rd_bytes":0,
3008 "rd_operations":0
3009 "flush_operations":0,
3010 "wr_total_times_ns":0
3011 "rd_total_times_ns":0
3012 "flush_total_times_ns":0,
3013 "rd_merged":0,
3014 "wr_merged":0,
3015 "account_invalid":false,
3016 "account_failed":false
3017 },
3018 "qdev": "/machine/unattached/device[24]"
3019 },
3020 {
3021 "device":"floppy0",
3022 "stats":{
3023 "wr_highest_offset":0,
3024 "wr_bytes":0,
3025 "wr_operations":0,
3026 "rd_bytes":0,
3027 "rd_operations":0
3028 "flush_operations":0,
3029 "wr_total_times_ns":0
3030 "rd_total_times_ns":0
3031 "flush_total_times_ns":0,
3032 "rd_merged":0,
3033 "wr_merged":0,
3034 "account_invalid":false,
3035 "account_failed":false
3036 },
3037 "qdev": "/machine/unattached/device[16]"
3038 },
3039 {
3040 "device":"sd0",
3041 "stats":{
3042 "wr_highest_offset":0,
3043 "wr_bytes":0,
3044 "wr_operations":0,
3045 "rd_bytes":0,
3046 "rd_operations":0
3047 "flush_operations":0,
3048 "wr_total_times_ns":0
3049 "rd_total_times_ns":0
3050 "flush_total_times_ns":0,
3051 "rd_merged":0,
3052 "wr_merged":0,
3053 "account_invalid":false,
3054 "account_failed":false
3055 }
3056 }
3057 ]
3058 }
3059
3060 BlockdevOnError (Enum)
3061 An enumeration of possible behaviors for errors on I/O operations. The
3062 exact meaning depends on whether the I/O was initiated by a guest or by
3063 a block job
3064
3065 Values
3066 report for guest operations, report the error to the guest; for jobs,
3067 cancel the job
3068
3069 ignore ignore the error, only report a QMP event (BLOCK_IO_ERROR or
3070 BLOCK_JOB_ERROR). The backup, mirror and commit block jobs retry
3071 the failing request later and may still complete successfully.
3072 The stream block job continues to stream and will complete with
3073 an error.
3074
3075 enospc same as stop on ENOSPC, same as report otherwise.
3076
3077 stop for guest operations, stop the virtual machine; for jobs, pause
3078 the job
3079
3080 auto inherit the error handling policy of the backend (since: 2.7)
3081
3082 Since
3083 1.3
3084
3085 MirrorSyncMode (Enum)
3086 An enumeration of possible behaviors for the initial synchronization
3087 phase of storage mirroring.
3088
3089 Values
3090 top copies data in the topmost image to the destination
3091
3092 full copies data from all images to the destination
3093
3094 none only copy data written from now on
3095
3096 incremental
3097 only copy data described by the dirty bitmap. (since: 2.4)
3098
3099 bitmap only copy data described by the dirty bitmap. (since: 4.2) Be‐
3100 havior on completion is determined by the BitmapSyncMode.
3101
3102 Since
3103 1.3
3104
3105 BitmapSyncMode (Enum)
3106 An enumeration of possible behaviors for the synchronization of a bit‐
3107 map when used for data copy operations.
3108
3109 Values
3110 on-success
3111 The bitmap is only synced when the operation is successful.
3112 This is the behavior always used for 'INCREMENTAL' backups.
3113
3114 never The bitmap is never synchronized with the operation, and is
3115 treated solely as a read-only manifest of blocks to copy.
3116
3117 always The bitmap is always synchronized with the operation, regardless
3118 of whether or not the operation was successful.
3119
3120 Since
3121 4.2
3122
3123 MirrorCopyMode (Enum)
3124 An enumeration whose values tell the mirror block job when to trigger
3125 writes to the target.
3126
3127 Values
3128 background
3129 copy data in background only.
3130
3131 write-blocking
3132 when data is written to the source, write it (synchronously) to
3133 the target as well. In addition, data is copied in background
3134 just like in background mode.
3135
3136 Since
3137 3.0
3138
3139 BlockJobInfo (Object)
3140 Information about a long-running block device operation.
3141
3142 Members
3143 type: string
3144 the job type ('stream' for image streaming)
3145
3146 device: string
3147 The job identifier. Originally the device name but other values
3148 are allowed since QEMU 2.7
3149
3150 len: int
3151 Estimated offset value at the completion of the job. This value
3152 can arbitrarily change while the job is running, in both direc‐
3153 tions.
3154
3155 offset: int
3156 Progress made until now. The unit is arbitrary and the value can
3157 only meaningfully be used for the ratio of offset to len. The
3158 value is monotonically increasing.
3159
3160 busy: boolean
3161 false if the job is known to be in a quiescent state, with no
3162 pending I/O. Since 1.3.
3163
3164 paused: boolean
3165 whether the job is paused or, if busy is true, will pause itself
3166 as soon as possible. Since 1.3.
3167
3168 speed: int
3169 the rate limit, bytes per second
3170
3171 io-status: BlockDeviceIoStatus
3172 the status of the job (since 1.3)
3173
3174 ready: boolean
3175 true if the job may be completed (since 2.2)
3176
3177 status: JobStatus
3178 Current job state/status (since 2.12)
3179
3180 auto-finalize: boolean
3181 Job will finalize itself when PENDING, moving to the CONCLUDED
3182 state. (since 2.12)
3183
3184 auto-dismiss: boolean
3185 Job will dismiss itself when CONCLUDED, moving to the NULL state
3186 and disappearing from the query list. (since 2.12)
3187
3188 error: string (optional)
3189 Error information if the job did not complete successfully. Not
3190 set if the job completed successfully. (since 2.12.1)
3191
3192 Since
3193 1.1
3194
3195 query-block-jobs (Command)
3196 Return information about long-running block device operations.
3197
3198 Returns
3199 a list of BlockJobInfo for each active block job
3200
3201 Since
3202 1.1
3203
3204 block_resize (Command)
3205 Resize a block image while a guest is running.
3206
3207 Either device or node-name must be set but not both.
3208
3209 Arguments
3210 device: string (optional)
3211 the name of the device to get the image resized
3212
3213 node-name: string (optional)
3214 graph node name to get the image resized (Since 2.0)
3215
3216 size: int
3217 new image size in bytes
3218
3219 Returns
3220 • nothing on success
3221
3222 • If device is not a valid block device, DeviceNotFound
3223
3224 Since
3225 0.14
3226
3227 Example
3228 -> { "execute": "block_resize",
3229 "arguments": { "device": "scratch", "size": 1073741824 } }
3230 <- { "return": {} }
3231
3232 NewImageMode (Enum)
3233 An enumeration that tells QEMU how to set the backing file path in a
3234 new image file.
3235
3236 Values
3237 existing
3238 QEMU should look for an existing image file.
3239
3240 absolute-paths
3241 QEMU should create a new image with absolute paths for the back‐
3242 ing file. If there is no backing file available, the new image
3243 will not be backed either.
3244
3245 Since
3246 1.1
3247
3248 BlockdevSnapshotSync (Object)
3249 Either device or node-name must be set but not both.
3250
3251 Members
3252 device: string (optional)
3253 the name of the device to take a snapshot of.
3254
3255 node-name: string (optional)
3256 graph node name to generate the snapshot from (Since 2.0)
3257
3258 snapshot-file: string
3259 the target of the new overlay image. If the file exists, or if
3260 it is a device, the overlay will be created in the existing
3261 file/device. Otherwise, a new file will be created.
3262
3263 snapshot-node-name: string (optional)
3264 the graph node name of the new image (Since 2.0)
3265
3266 format: string (optional)
3267 the format of the overlay image, default is 'qcow2'.
3268
3269 mode: NewImageMode (optional)
3270 whether and how QEMU should create a new image, default is 'ab‐
3271 solute-paths'.
3272
3273 BlockdevSnapshot (Object)
3274 Members
3275 node: string
3276 device or node name that will have a snapshot taken.
3277
3278 overlay: string
3279 reference to the existing block device that will become the
3280 overlay of node, as part of taking the snapshot. It must not
3281 have a current backing file (this can be achieved by passing
3282 "backing": null to blockdev-add).
3283
3284 Since
3285 2.5
3286
3287 BackupPerf (Object)
3288 Optional parameters for backup. These parameters don't affect function‐
3289 ality, but may significantly affect performance.
3290
3291 Members
3292 use-copy-range: boolean (optional)
3293 Use copy offloading. Default false.
3294
3295 max-workers: int (optional)
3296 Maximum number of parallel requests for the sustained background
3297 copying process. Doesn't influence copy-before-write operations.
3298 Default 64.
3299
3300 max-chunk: int (optional)
3301 Maximum request length for the sustained background copying
3302 process. Doesn't influence copy-before-write operations. 0
3303 means unlimited. If max-chunk is non-zero then it should not be
3304 less than job cluster size which is calculated as maximum of
3305 target image cluster size and 64k. Default 0.
3306
3307 Since
3308 6.0
3309
3310 BackupCommon (Object)
3311 Members
3312 job-id: string (optional)
3313 identifier for the newly-created block job. If omitted, the de‐
3314 vice name will be used. (Since 2.7)
3315
3316 device: string
3317 the device name or node-name of a root node which should be
3318 copied.
3319
3320 sync: MirrorSyncMode
3321 what parts of the disk image should be copied to the destination
3322 (all the disk, only the sectors allocated in the topmost image,
3323 from a dirty bitmap, or only new I/O).
3324
3325 speed: int (optional)
3326 the maximum speed, in bytes per second. The default is 0, for
3327 unlimited.
3328
3329 bitmap: string (optional)
3330 The name of a dirty bitmap to use. Must be present if sync is
3331 "bitmap" or "incremental". Can be present if sync is "full" or
3332 "top". Must not be present otherwise. (Since 2.4
3333 (drive-backup), 3.1 (blockdev-backup))
3334
3335 bitmap-mode: BitmapSyncMode (optional)
3336 Specifies the type of data the bitmap should contain after the
3337 operation concludes. Must be present if a bitmap was provided,
3338 Must NOT be present otherwise. (Since 4.2)
3339
3340 compress: boolean (optional)
3341 true to compress data, if the target format supports it. (de‐
3342 fault: false) (since 2.8)
3343
3344 on-source-error: BlockdevOnError (optional)
3345 the action to take on an error on the source, default 'report'.
3346 'stop' and 'enospc' can only be used if the block device sup‐
3347 ports io-status (see BlockInfo).
3348
3349 on-target-error: BlockdevOnError (optional)
3350 the action to take on an error on the target, default 'report'
3351 (no limitations, since this applies to a different block device
3352 than device).
3353
3354 auto-finalize: boolean (optional)
3355 When false, this job will wait in a PENDING state after it has
3356 finished its work, waiting for block-job-finalize before making
3357 any block graph changes. When true, this job will automatically
3358 perform its abort or commit actions. Defaults to true. (Since
3359 2.12)
3360
3361 auto-dismiss: boolean (optional)
3362 When false, this job will wait in a CONCLUDED state after it has
3363 completely ceased all work, and awaits block-job-dismiss. When
3364 true, this job will automatically disappear from the query list
3365 without user intervention. Defaults to true. (Since 2.12)
3366
3367 filter-node-name: string (optional)
3368 the node name that should be assigned to the filter driver that
3369 the backup job inserts into the graph above node specified by
3370 drive. If this option is not given, a node name is autogener‐
3371 ated. (Since: 4.2)
3372
3373 x-perf: BackupPerf (optional)
3374 Performance options. (Since 6.0)
3375
3376 Features
3377 unstable
3378 Member x-perf is experimental.
3379
3380 Note
3381 on-source-error and on-target-error only affect background I/O. If an
3382 error occurs during a guest write request, the device's rerror/werror
3383 actions will be used.
3384
3385 Since
3386 4.2
3387
3388 DriveBackup (Object)
3389 Members
3390 target: string
3391 the target of the new image. If the file exists, or if it is a
3392 device, the existing file/device will be used as the new desti‐
3393 nation. If it does not exist, a new file will be created.
3394
3395 format: string (optional)
3396 the format of the new destination, default is to probe if mode
3397 is 'existing', else the format of the source
3398
3399 mode: NewImageMode (optional)
3400 whether and how QEMU should create a new image, default is 'ab‐
3401 solute-paths'.
3402
3403 The members of BackupCommon
3404
3405 Since
3406 1.6
3407
3408 BlockdevBackup (Object)
3409 Members
3410 target: string
3411 the device name or node-name of the backup target node.
3412
3413 The members of BackupCommon
3414
3415 Since
3416 2.3
3417
3418 blockdev-snapshot-sync (Command)
3419 Takes a synchronous snapshot of a block device.
3420
3421 For the arguments, see the documentation of BlockdevSnapshotSync.
3422
3423 Returns
3424 • nothing on success
3425
3426 • If device is not a valid block device, DeviceNotFound
3427
3428 Since
3429 0.14
3430
3431 Example
3432 -> { "execute": "blockdev-snapshot-sync",
3433 "arguments": { "device": "ide-hd0",
3434 "snapshot-file":
3435 "/some/place/my-image",
3436 "format": "qcow2" } }
3437 <- { "return": {} }
3438
3439 blockdev-snapshot (Command)
3440 Takes a snapshot of a block device.
3441
3442 Take a snapshot, by installing 'node' as the backing image of 'over‐
3443 lay'. Additionally, if 'node' is associated with a block device, the
3444 block device changes to using 'overlay' as its new active image.
3445
3446 For the arguments, see the documentation of BlockdevSnapshot.
3447
3448 Features
3449 allow-write-only-overlay
3450 If present, the check whether this operation is safe was relaxed
3451 so that it can be used to change backing file of a destination
3452 of a blockdev-mirror. (since 5.0)
3453
3454 Since
3455 2.5
3456
3457 Example
3458 -> { "execute": "blockdev-add",
3459 "arguments": { "driver": "qcow2",
3460 "node-name": "node1534",
3461 "file": { "driver": "file",
3462 "filename": "hd1.qcow2" },
3463 "backing": null } }
3464
3465 <- { "return": {} }
3466
3467 -> { "execute": "blockdev-snapshot",
3468 "arguments": { "node": "ide-hd0",
3469 "overlay": "node1534" } }
3470 <- { "return": {} }
3471
3472 change-backing-file (Command)
3473 Change the backing file in the image file metadata. This does not
3474 cause QEMU to reopen the image file to reparse the backing filename (it
3475 may, however, perform a reopen to change permissions from r/o -> r/w ->
3476 r/o, if needed). The new backing file string is written into the image
3477 file metadata, and the QEMU internal strings are updated.
3478
3479 Arguments
3480 image-node-name: string
3481 The name of the block driver state node of the image to modify.
3482 The "device" argument is used to verify "image-node-name" is in
3483 the chain described by "device".
3484
3485 device: string
3486 The device name or node-name of the root node that owns im‐
3487 age-node-name.
3488
3489 backing-file: string
3490 The string to write as the backing file. This string is not
3491 validated, so care should be taken when specifying the string or
3492 the image chain may not be able to be reopened again.
3493
3494 Returns
3495 • Nothing on success
3496
3497 • If "device" does not exist or cannot be determined, DeviceNotFound
3498
3499 Since
3500 2.1
3501
3502 block-commit (Command)
3503 Live commit of data from overlay image nodes into backing nodes - i.e.,
3504 writes data between 'top' and 'base' into 'base'.
3505
3506 If top == base, that is an error. If top has no overlays on top of it,
3507 or if it is in use by a writer, the job will not be completed by it‐
3508 self. The user needs to complete the job with the block-job-complete
3509 command after getting the ready event. (Since 2.0)
3510
3511 If the base image is smaller than top, then the base image will be re‐
3512 sized to be the same size as top. If top is smaller than the base im‐
3513 age, the base will not be truncated. If you want the base image size
3514 to match the size of the smaller top, you can safely truncate it your‐
3515 self once the commit operation successfully completes.
3516
3517 Arguments
3518 job-id: string (optional)
3519 identifier for the newly-created block job. If omitted, the de‐
3520 vice name will be used. (Since 2.7)
3521
3522 device: string
3523 the device name or node-name of a root node
3524
3525 base-node: string (optional)
3526 The node name of the backing image to write data into. If not
3527 specified, this is the deepest backing image. (since: 3.1)
3528
3529 base: string (optional)
3530 Same as base-node, except that it is a file name rather than a
3531 node name. This must be the exact filename string that was used
3532 to open the node; other strings, even if addressing the same
3533 file, are not accepted
3534
3535 top-node: string (optional)
3536 The node name of the backing image within the image chain which
3537 contains the topmost data to be committed down. If not speci‐
3538 fied, this is the active layer. (since: 3.1)
3539
3540 top: string (optional)
3541 Same as top-node, except that it is a file name rather than a
3542 node name. This must be the exact filename string that was used
3543 to open the node; other strings, even if addressing the same
3544 file, are not accepted
3545
3546 backing-file: string (optional)
3547 The backing file string to write into the overlay image of
3548 'top'. If 'top' does not have an overlay image, or if 'top' is
3549 in use by a writer, specifying a backing file string is an er‐
3550 ror.
3551
3552 This filename is not validated. If a pathname string is such
3553 that it cannot be resolved by QEMU, that means that subsequent
3554 QMP or HMP commands must use node-names for the image in ques‐
3555 tion, as filename lookup methods will fail.
3556
3557 If not specified, QEMU will automatically determine the backing
3558 file string to use, or error out if there is no obvious choice.
3559 Care should be taken when specifying the string, to specify a
3560 valid filename or protocol. (Since 2.1)
3561
3562 speed: int (optional)
3563 the maximum speed, in bytes per second
3564
3565 on-error: BlockdevOnError (optional)
3566 the action to take on an error. 'ignore' means that the request
3567 should be retried. (default: report; Since: 5.0)
3568
3569 filter-node-name: string (optional)
3570 the node name that should be assigned to the filter driver that
3571 the commit job inserts into the graph above top. If this option
3572 is not given, a node name is autogenerated. (Since: 2.9)
3573
3574 auto-finalize: boolean (optional)
3575 When false, this job will wait in a PENDING state after it has
3576 finished its work, waiting for block-job-finalize before making
3577 any block graph changes. When true, this job will automatically
3578 perform its abort or commit actions. Defaults to true. (Since
3579 3.1)
3580
3581 auto-dismiss: boolean (optional)
3582 When false, this job will wait in a CONCLUDED state after it has
3583 completely ceased all work, and awaits block-job-dismiss. When
3584 true, this job will automatically disappear from the query list
3585 without user intervention. Defaults to true. (Since 3.1)
3586
3587 Features
3588 deprecated
3589 Members base and top are deprecated. Use base-node and top-node
3590 instead.
3591
3592 Returns
3593 • Nothing on success
3594
3595 • If device does not exist, DeviceNotFound
3596
3597 • Any other error returns a GenericError.
3598
3599 Since
3600 1.3
3601
3602 Example
3603 -> { "execute": "block-commit",
3604 "arguments": { "device": "virtio0",
3605 "top": "/tmp/snap1.qcow2" } }
3606 <- { "return": {} }
3607
3608 drive-backup (Command)
3609 Start a point-in-time copy of a block device to a new destination. The
3610 status of ongoing drive-backup operations can be checked with
3611 query-block-jobs where the BlockJobInfo.type field has the value
3612 'backup'. The operation can be stopped before it has completed using
3613 the block-job-cancel command.
3614
3615 Arguments
3616 The members of DriveBackup
3617
3618 Features
3619 deprecated
3620 This command is deprecated. Use blockdev-backup instead.
3621
3622 Returns
3623 • nothing on success
3624
3625 • If device is not a valid block device, GenericError
3626
3627 Since
3628 1.6
3629
3630 Example
3631 -> { "execute": "drive-backup",
3632 "arguments": { "device": "drive0",
3633 "sync": "full",
3634 "target": "backup.img" } }
3635 <- { "return": {} }
3636
3637 blockdev-backup (Command)
3638 Start a point-in-time copy of a block device to a new destination. The
3639 status of ongoing blockdev-backup operations can be checked with
3640 query-block-jobs where the BlockJobInfo.type field has the value
3641 'backup'. The operation can be stopped before it has completed using
3642 the block-job-cancel command.
3643
3644 Arguments
3645 The members of BlockdevBackup
3646
3647 Returns
3648 • nothing on success
3649
3650 • If device is not a valid block device, DeviceNotFound
3651
3652 Since
3653 2.3
3654
3655 Example
3656 -> { "execute": "blockdev-backup",
3657 "arguments": { "device": "src-id",
3658 "sync": "full",
3659 "target": "tgt-id" } }
3660 <- { "return": {} }
3661
3662 query-named-block-nodes (Command)
3663 Get the named block driver list
3664
3665 Arguments
3666 flat: boolean (optional)
3667 Omit the nested data about backing image ("backing-image" key)
3668 if true. Default is false (Since 5.0)
3669
3670 Returns
3671 the list of BlockDeviceInfo
3672
3673 Since
3674 2.0
3675
3676 Example
3677 -> { "execute": "query-named-block-nodes" }
3678 <- { "return": [ { "ro":false,
3679 "drv":"qcow2",
3680 "encrypted":false,
3681 "file":"disks/test.qcow2",
3682 "node-name": "my-node",
3683 "backing_file_depth":1,
3684 "bps":1000000,
3685 "bps_rd":0,
3686 "bps_wr":0,
3687 "iops":1000000,
3688 "iops_rd":0,
3689 "iops_wr":0,
3690 "bps_max": 8000000,
3691 "bps_rd_max": 0,
3692 "bps_wr_max": 0,
3693 "iops_max": 0,
3694 "iops_rd_max": 0,
3695 "iops_wr_max": 0,
3696 "iops_size": 0,
3697 "write_threshold": 0,
3698 "image":{
3699 "filename":"disks/test.qcow2",
3700 "format":"qcow2",
3701 "virtual-size":2048000,
3702 "backing_file":"base.qcow2",
3703 "full-backing-filename":"disks/base.qcow2",
3704 "backing-filename-format":"qcow2",
3705 "snapshots":[
3706 {
3707 "id": "1",
3708 "name": "snapshot1",
3709 "vm-state-size": 0,
3710 "date-sec": 10000200,
3711 "date-nsec": 12,
3712 "vm-clock-sec": 206,
3713 "vm-clock-nsec": 30
3714 }
3715 ],
3716 "backing-image":{
3717 "filename":"disks/base.qcow2",
3718 "format":"qcow2",
3719 "virtual-size":2048000
3720 }
3721 } } ] }
3722
3723 XDbgBlockGraphNodeType (Enum)
3724 Values
3725 block-backend
3726 corresponds to BlockBackend
3727
3728 block-job
3729 corresponds to BlockJob
3730
3731 block-driver
3732 corresponds to BlockDriverState
3733
3734 Since
3735 4.0
3736
3737 XDbgBlockGraphNode (Object)
3738 Members
3739 id: int
3740 Block graph node identifier. This id is generated only for x-de‐
3741 bug-query-block-graph and does not relate to any other identi‐
3742 fiers in Qemu.
3743
3744 type: XDbgBlockGraphNodeType
3745 Type of graph node. Can be one of block-backend, block-job or
3746 block-driver-state.
3747
3748 name: string
3749 Human readable name of the node. Corresponds to node-name for
3750 block-driver-state nodes; is not guaranteed to be unique in the
3751 whole graph (with block-jobs and block-backends).
3752
3753 Since
3754 4.0
3755
3756 BlockPermission (Enum)
3757 Enum of base block permissions.
3758
3759 Values
3760 consistent-read
3761 A user that has the "permission" of consistent reads is guaran‐
3762 teed that their view of the contents of the block device is com‐
3763 plete and self-consistent, representing the contents of a disk
3764 at a specific point. For most block devices (including their
3765 backing files) this is true, but the property cannot be main‐
3766 tained in a few situations like for intermediate nodes of a com‐
3767 mit block job.
3768
3769 write This permission is required to change the visible disk contents.
3770
3771 write-unchanged
3772 This permission (which is weaker than BLK_PERM_WRITE) is both
3773 enough and required for writes to the block node when the caller
3774 promises that the visible disk content doesn't change. As the
3775 BLK_PERM_WRITE permission is strictly stronger, either is suffi‐
3776 cient to perform an unchanging write.
3777
3778 resize This permission is required to change the size of a block node.
3779
3780 graph-mod
3781 This permission is required to change the node that this
3782 BdrvChild points to.
3783
3784 Since
3785 4.0
3786
3787 XDbgBlockGraphEdge (Object)
3788 Block Graph edge description for x-debug-query-block-graph.
3789
3790 Members
3791 parent: int
3792 parent id
3793
3794 child: int
3795 child id
3796
3797 name: string
3798 name of the relation (examples are 'file' and 'backing')
3799
3800 perm: array of BlockPermission
3801 granted permissions for the parent operating on the child
3802
3803 shared-perm: array of BlockPermission
3804 permissions that can still be granted to other users of the
3805 child while it is still attached to this parent
3806
3807 Since
3808 4.0
3809
3810 XDbgBlockGraph (Object)
3811 Block Graph - list of nodes and list of edges.
3812
3813 Members
3814 nodes: array of XDbgBlockGraphNode
3815 Not documented
3816
3817 edges: array of XDbgBlockGraphEdge
3818 Not documented
3819
3820 Since
3821 4.0
3822
3823 x-debug-query-block-graph (Command)
3824 Get the block graph.
3825
3826 Features
3827 unstable
3828 This command is meant for debugging.
3829
3830 Since
3831 4.0
3832
3833 drive-mirror (Command)
3834 Start mirroring a block device's writes to a new destination. target
3835 specifies the target of the new image. If the file exists, or if it is
3836 a device, it will be used as the new destination for writes. If it does
3837 not exist, a new file will be created. format specifies the format of
3838 the mirror image, default is to probe if mode='existing', else the for‐
3839 mat of the source.
3840
3841 Arguments
3842 The members of DriveMirror
3843
3844 Returns
3845 • nothing on success
3846
3847 • If device is not a valid block device, GenericError
3848
3849 Since
3850 1.3
3851
3852 Example
3853 -> { "execute": "drive-mirror",
3854 "arguments": { "device": "ide-hd0",
3855 "target": "/some/place/my-image",
3856 "sync": "full",
3857 "format": "qcow2" } }
3858 <- { "return": {} }
3859
3860 DriveMirror (Object)
3861 A set of parameters describing drive mirror setup.
3862
3863 Members
3864 job-id: string (optional)
3865 identifier for the newly-created block job. If omitted, the de‐
3866 vice name will be used. (Since 2.7)
3867
3868 device: string
3869 the device name or node-name of a root node whose writes should
3870 be mirrored.
3871
3872 target: string
3873 the target of the new image. If the file exists, or if it is a
3874 device, the existing file/device will be used as the new desti‐
3875 nation. If it does not exist, a new file will be created.
3876
3877 format: string (optional)
3878 the format of the new destination, default is to probe if mode
3879 is 'existing', else the format of the source
3880
3881 node-name: string (optional)
3882 the new block driver state node name in the graph (Since 2.1)
3883
3884 replaces: string (optional)
3885 with sync=full graph node name to be replaced by the new image
3886 when a whole image copy is done. This can be used to repair bro‐
3887 ken Quorum files. By default, device is replaced, although im‐
3888 plicitly created filters on it are kept. (Since 2.1)
3889
3890 mode: NewImageMode (optional)
3891 whether and how QEMU should create a new image, default is 'ab‐
3892 solute-paths'.
3893
3894 speed: int (optional)
3895 the maximum speed, in bytes per second
3896
3897 sync: MirrorSyncMode
3898 what parts of the disk image should be copied to the destination
3899 (all the disk, only the sectors allocated in the topmost image,
3900 or only new I/O).
3901
3902 granularity: int (optional)
3903 granularity of the dirty bitmap, default is 64K if the image
3904 format doesn't have clusters, 4K if the clusters are smaller
3905 than that, else the cluster size. Must be a power of 2 between
3906 512 and 64M (since 1.4).
3907
3908 buf-size: int (optional)
3909 maximum amount of data in flight from source to target (since
3910 1.4).
3911
3912 on-source-error: BlockdevOnError (optional)
3913 the action to take on an error on the source, default 'report'.
3914 'stop' and 'enospc' can only be used if the block device sup‐
3915 ports io-status (see BlockInfo).
3916
3917 on-target-error: BlockdevOnError (optional)
3918 the action to take on an error on the target, default 'report'
3919 (no limitations, since this applies to a different block device
3920 than device).
3921
3922 unmap: boolean (optional)
3923 Whether to try to unmap target sectors where source has only
3924 zero. If true, and target unallocated sectors will read as zero,
3925 target image sectors will be unmapped; otherwise, zeroes will be
3926 written. Both will result in identical contents. Default is
3927 true. (Since 2.4)
3928
3929 copy-mode: MirrorCopyMode (optional)
3930 when to copy data to the destination; defaults to 'background'
3931 (Since: 3.0)
3932
3933 auto-finalize: boolean (optional)
3934 When false, this job will wait in a PENDING state after it has
3935 finished its work, waiting for block-job-finalize before making
3936 any block graph changes. When true, this job will automatically
3937 perform its abort or commit actions. Defaults to true. (Since
3938 3.1)
3939
3940 auto-dismiss: boolean (optional)
3941 When false, this job will wait in a CONCLUDED state after it has
3942 completely ceased all work, and awaits block-job-dismiss. When
3943 true, this job will automatically disappear from the query list
3944 without user intervention. Defaults to true. (Since 3.1)
3945
3946 Since
3947 1.3
3948
3949 BlockDirtyBitmap (Object)
3950 Members
3951 node: string
3952 name of device/node which the bitmap is tracking
3953
3954 name: string
3955 name of the dirty bitmap
3956
3957 Since
3958 2.4
3959
3960 BlockDirtyBitmapAdd (Object)
3961 Members
3962 node: string
3963 name of device/node which the bitmap is tracking
3964
3965 name: string
3966 name of the dirty bitmap (must be less than 1024 bytes)
3967
3968 granularity: int (optional)
3969 the bitmap granularity, default is 64k for block-dirty-bit‐
3970 map-add
3971
3972 persistent: boolean (optional)
3973 the bitmap is persistent, i.e. it will be saved to the corre‐
3974 sponding block device image file on its close. For now only
3975 Qcow2 disks support persistent bitmaps. Default is false for
3976 block-dirty-bitmap-add. (Since: 2.10)
3977
3978 disabled: boolean (optional)
3979 the bitmap is created in the disabled state, which means that it
3980 will not track drive changes. The bitmap may be enabled with
3981 block-dirty-bitmap-enable. Default is false. (Since: 4.0)
3982
3983 Since
3984 2.4
3985
3986 BlockDirtyBitmapMergeSource (Alternate)
3987 Members
3988 local: string
3989 name of the bitmap, attached to the same node as target bitmap.
3990
3991 external: BlockDirtyBitmap
3992 bitmap with specified node
3993
3994 Since
3995 4.1
3996
3997 BlockDirtyBitmapMerge (Object)
3998 Members
3999 node: string
4000 name of device/node which the target bitmap is tracking
4001
4002 target: string
4003 name of the destination dirty bitmap
4004
4005 bitmaps: array of BlockDirtyBitmapMergeSource
4006 name(s) of the source dirty bitmap(s) at node and/or fully spec‐
4007 ified BlockDirtyBitmap elements. The latter are supported since
4008 4.1.
4009
4010 Since
4011 4.0
4012
4013 block-dirty-bitmap-add (Command)
4014 Create a dirty bitmap with a name on the node, and start tracking the
4015 writes.
4016
4017 Returns
4018 • nothing on success
4019
4020 • If node is not a valid block device or node, DeviceNotFound
4021
4022 • If name is already taken, GenericError with an explanation
4023
4024 Since
4025 2.4
4026
4027 Example
4028 -> { "execute": "block-dirty-bitmap-add",
4029 "arguments": { "node": "drive0", "name": "bitmap0" } }
4030 <- { "return": {} }
4031
4032 block-dirty-bitmap-remove (Command)
4033 Stop write tracking and remove the dirty bitmap that was created with
4034 block-dirty-bitmap-add. If the bitmap is persistent, remove it from its
4035 storage too.
4036
4037 Returns
4038 • nothing on success
4039
4040 • If node is not a valid block device or node, DeviceNotFound
4041
4042 • If name is not found, GenericError with an explanation
4043
4044 • if name is frozen by an operation, GenericError
4045
4046 Since
4047 2.4
4048
4049 Example
4050 -> { "execute": "block-dirty-bitmap-remove",
4051 "arguments": { "node": "drive0", "name": "bitmap0" } }
4052 <- { "return": {} }
4053
4054 block-dirty-bitmap-clear (Command)
4055 Clear (reset) a dirty bitmap on the device, so that an incremental
4056 backup from this point in time forward will only backup clusters modi‐
4057 fied after this clear operation.
4058
4059 Returns
4060 • nothing on success
4061
4062 • If node is not a valid block device, DeviceNotFound
4063
4064 • If name is not found, GenericError with an explanation
4065
4066 Since
4067 2.4
4068
4069 Example
4070 -> { "execute": "block-dirty-bitmap-clear",
4071 "arguments": { "node": "drive0", "name": "bitmap0" } }
4072 <- { "return": {} }
4073
4074 block-dirty-bitmap-enable (Command)
4075 Enables a dirty bitmap so that it will begin tracking disk changes.
4076
4077 Returns
4078 • nothing on success
4079
4080 • If node is not a valid block device, DeviceNotFound
4081
4082 • If name is not found, GenericError with an explanation
4083
4084 Since
4085 4.0
4086
4087 Example
4088 -> { "execute": "block-dirty-bitmap-enable",
4089 "arguments": { "node": "drive0", "name": "bitmap0" } }
4090 <- { "return": {} }
4091
4092 block-dirty-bitmap-disable (Command)
4093 Disables a dirty bitmap so that it will stop tracking disk changes.
4094
4095 Returns
4096 • nothing on success
4097
4098 • If node is not a valid block device, DeviceNotFound
4099
4100 • If name is not found, GenericError with an explanation
4101
4102 Since
4103 4.0
4104
4105 Example
4106 -> { "execute": "block-dirty-bitmap-disable",
4107 "arguments": { "node": "drive0", "name": "bitmap0" } }
4108 <- { "return": {} }
4109
4110 block-dirty-bitmap-merge (Command)
4111 Merge dirty bitmaps listed in bitmaps to the target dirty bitmap.
4112 Dirty bitmaps in bitmaps will be unchanged, except if it also appears
4113 as the target bitmap. Any bits already set in target will still be set
4114 after the merge, i.e., this operation does not clear the target. On
4115 error, target is unchanged.
4116
4117 The resulting bitmap will count as dirty any clusters that were dirty
4118 in any of the source bitmaps. This can be used to achieve backup check‐
4119 points, or in simpler usages, to copy bitmaps.
4120
4121 Returns
4122 • nothing on success
4123
4124 • If node is not a valid block device, DeviceNotFound
4125
4126 • If any bitmap in bitmaps or target is not found, GenericError
4127
4128 • If any of the bitmaps have different sizes or granularities, Gener‐
4129 icError
4130
4131 Since
4132 4.0
4133
4134 Example
4135 -> { "execute": "block-dirty-bitmap-merge",
4136 "arguments": { "node": "drive0", "target": "bitmap0",
4137 "bitmaps": ["bitmap1"] } }
4138 <- { "return": {} }
4139
4140 BlockDirtyBitmapSha256 (Object)
4141 SHA256 hash of dirty bitmap data
4142
4143 Members
4144 sha256: string
4145 ASCII representation of SHA256 bitmap hash
4146
4147 Since
4148 2.10
4149
4150 x-debug-block-dirty-bitmap-sha256 (Command)
4151 Get bitmap SHA256.
4152
4153 Features
4154 unstable
4155 This command is meant for debugging.
4156
4157 Returns
4158 • BlockDirtyBitmapSha256 on success
4159
4160 • If node is not a valid block device, DeviceNotFound
4161
4162 • If name is not found or if hashing has failed, GenericError with an
4163 explanation
4164
4165 Since
4166 2.10
4167
4168 blockdev-mirror (Command)
4169 Start mirroring a block device's writes to a new destination.
4170
4171 Arguments
4172 job-id: string (optional)
4173 identifier for the newly-created block job. If omitted, the de‐
4174 vice name will be used. (Since 2.7)
4175
4176 device: string
4177 The device name or node-name of a root node whose writes should
4178 be mirrored.
4179
4180 target: string
4181 the id or node-name of the block device to mirror to. This
4182 mustn't be attached to guest.
4183
4184 replaces: string (optional)
4185 with sync=full graph node name to be replaced by the new image
4186 when a whole image copy is done. This can be used to repair bro‐
4187 ken Quorum files. By default, device is replaced, although im‐
4188 plicitly created filters on it are kept.
4189
4190 speed: int (optional)
4191 the maximum speed, in bytes per second
4192
4193 sync: MirrorSyncMode
4194 what parts of the disk image should be copied to the destination
4195 (all the disk, only the sectors allocated in the topmost image,
4196 or only new I/O).
4197
4198 granularity: int (optional)
4199 granularity of the dirty bitmap, default is 64K if the image
4200 format doesn't have clusters, 4K if the clusters are smaller
4201 than that, else the cluster size. Must be a power of 2 between
4202 512 and 64M
4203
4204 buf-size: int (optional)
4205 maximum amount of data in flight from source to target
4206
4207 on-source-error: BlockdevOnError (optional)
4208 the action to take on an error on the source, default 'report'.
4209 'stop' and 'enospc' can only be used if the block device sup‐
4210 ports io-status (see BlockInfo).
4211
4212 on-target-error: BlockdevOnError (optional)
4213 the action to take on an error on the target, default 'report'
4214 (no limitations, since this applies to a different block device
4215 than device).
4216
4217 filter-node-name: string (optional)
4218 the node name that should be assigned to the filter driver that
4219 the mirror job inserts into the graph above device. If this op‐
4220 tion is not given, a node name is autogenerated. (Since: 2.9)
4221
4222 copy-mode: MirrorCopyMode (optional)
4223 when to copy data to the destination; defaults to 'background'
4224 (Since: 3.0)
4225
4226 auto-finalize: boolean (optional)
4227 When false, this job will wait in a PENDING state after it has
4228 finished its work, waiting for block-job-finalize before making
4229 any block graph changes. When true, this job will automatically
4230 perform its abort or commit actions. Defaults to true. (Since
4231 3.1)
4232
4233 auto-dismiss: boolean (optional)
4234 When false, this job will wait in a CONCLUDED state after it has
4235 completely ceased all work, and awaits block-job-dismiss. When
4236 true, this job will automatically disappear from the query list
4237 without user intervention. Defaults to true. (Since 3.1)
4238
4239 Returns
4240 nothing on success.
4241
4242 Since
4243 2.6
4244
4245 Example
4246 -> { "execute": "blockdev-mirror",
4247 "arguments": { "device": "ide-hd0",
4248 "target": "target0",
4249 "sync": "full" } }
4250 <- { "return": {} }
4251
4252 BlockIOThrottle (Object)
4253 A set of parameters describing block throttling.
4254
4255 Members
4256 device: string (optional)
4257 Block device name
4258
4259 id: string (optional)
4260 The name or QOM path of the guest device (since: 2.8)
4261
4262 bps: int
4263 total throughput limit in bytes per second
4264
4265 bps_rd: int
4266 read throughput limit in bytes per second
4267
4268 bps_wr: int
4269 write throughput limit in bytes per second
4270
4271 iops: int
4272 total I/O operations per second
4273
4274 iops_rd: int
4275 read I/O operations per second
4276
4277 iops_wr: int
4278 write I/O operations per second
4279
4280 bps_max: int (optional)
4281 total throughput limit during bursts, in bytes (Since 1.7)
4282
4283 bps_rd_max: int (optional)
4284 read throughput limit during bursts, in bytes (Since 1.7)
4285
4286 bps_wr_max: int (optional)
4287 write throughput limit during bursts, in bytes (Since 1.7)
4288
4289 iops_max: int (optional)
4290 total I/O operations per second during bursts, in bytes (Since
4291 1.7)
4292
4293 iops_rd_max: int (optional)
4294 read I/O operations per second during bursts, in bytes (Since
4295 1.7)
4296
4297 iops_wr_max: int (optional)
4298 write I/O operations per second during bursts, in bytes (Since
4299 1.7)
4300
4301 bps_max_length: int (optional)
4302 maximum length of the bps_max burst period, in seconds. It must
4303 only be set if bps_max is set as well. Defaults to 1. (Since
4304 2.6)
4305
4306 bps_rd_max_length: int (optional)
4307 maximum length of the bps_rd_max burst period, in seconds. It
4308 must only be set if bps_rd_max is set as well. Defaults to 1.
4309 (Since 2.6)
4310
4311 bps_wr_max_length: int (optional)
4312 maximum length of the bps_wr_max burst period, in seconds. It
4313 must only be set if bps_wr_max is set as well. Defaults to 1.
4314 (Since 2.6)
4315
4316 iops_max_length: int (optional)
4317 maximum length of the iops burst period, in seconds. It must
4318 only be set if iops_max is set as well. Defaults to 1. (Since
4319 2.6)
4320
4321 iops_rd_max_length: int (optional)
4322 maximum length of the iops_rd_max burst period, in seconds. It
4323 must only be set if iops_rd_max is set as well. Defaults to 1.
4324 (Since 2.6)
4325
4326 iops_wr_max_length: int (optional)
4327 maximum length of the iops_wr_max burst period, in seconds. It
4328 must only be set if iops_wr_max is set as well. Defaults to 1.
4329 (Since 2.6)
4330
4331 iops_size: int (optional)
4332 an I/O size in bytes (Since 1.7)
4333
4334 group: string (optional)
4335 throttle group name (Since 2.4)
4336
4337 Features
4338 deprecated
4339 Member device is deprecated. Use id instead.
4340
4341 Since
4342 1.1
4343
4344 ThrottleLimits (Object)
4345 Limit parameters for throttling. Since some limit combinations are il‐
4346 legal, limits should always be set in one transaction. All fields are
4347 optional. When setting limits, if a field is missing the current value
4348 is not changed.
4349
4350 Members
4351 iops-total: int (optional)
4352 limit total I/O operations per second
4353
4354 iops-total-max: int (optional)
4355 I/O operations burst
4356
4357 iops-total-max-length: int (optional)
4358 length of the iops-total-max burst period, in seconds It must
4359 only be set if iops-total-max is set as well.
4360
4361 iops-read: int (optional)
4362 limit read operations per second
4363
4364 iops-read-max: int (optional)
4365 I/O operations read burst
4366
4367 iops-read-max-length: int (optional)
4368 length of the iops-read-max burst period, in seconds It must
4369 only be set if iops-read-max is set as well.
4370
4371 iops-write: int (optional)
4372 limit write operations per second
4373
4374 iops-write-max: int (optional)
4375 I/O operations write burst
4376
4377 iops-write-max-length: int (optional)
4378 length of the iops-write-max burst period, in seconds It must
4379 only be set if iops-write-max is set as well.
4380
4381 bps-total: int (optional)
4382 limit total bytes per second
4383
4384 bps-total-max: int (optional)
4385 total bytes burst
4386
4387 bps-total-max-length: int (optional)
4388 length of the bps-total-max burst period, in seconds. It must
4389 only be set if bps-total-max is set as well.
4390
4391 bps-read: int (optional)
4392 limit read bytes per second
4393
4394 bps-read-max: int (optional)
4395 total bytes read burst
4396
4397 bps-read-max-length: int (optional)
4398 length of the bps-read-max burst period, in seconds It must only
4399 be set if bps-read-max is set as well.
4400
4401 bps-write: int (optional)
4402 limit write bytes per second
4403
4404 bps-write-max: int (optional)
4405 total bytes write burst
4406
4407 bps-write-max-length: int (optional)
4408 length of the bps-write-max burst period, in seconds It must
4409 only be set if bps-write-max is set as well.
4410
4411 iops-size: int (optional)
4412 when limiting by iops max size of an I/O in bytes
4413
4414 Since
4415 2.11
4416
4417 ThrottleGroupProperties (Object)
4418 Properties for throttle-group objects.
4419
4420 Members
4421 limits: ThrottleLimits (optional)
4422 limits to apply for this throttle group
4423
4424 x-iops-total: int (optional)
4425 Not documented
4426
4427 x-iops-total-max: int (optional)
4428 Not documented
4429
4430 x-iops-total-max-length: int (optional)
4431 Not documented
4432
4433 x-iops-read: int (optional)
4434 Not documented
4435
4436 x-iops-read-max: int (optional)
4437 Not documented
4438
4439 x-iops-read-max-length: int (optional)
4440 Not documented
4441
4442 x-iops-write: int (optional)
4443 Not documented
4444
4445 x-iops-write-max: int (optional)
4446 Not documented
4447
4448 x-iops-write-max-length: int (optional)
4449 Not documented
4450
4451 x-bps-total: int (optional)
4452 Not documented
4453
4454 x-bps-total-max: int (optional)
4455 Not documented
4456
4457 x-bps-total-max-length: int (optional)
4458 Not documented
4459
4460 x-bps-read: int (optional)
4461 Not documented
4462
4463 x-bps-read-max: int (optional)
4464 Not documented
4465
4466 x-bps-read-max-length: int (optional)
4467 Not documented
4468
4469 x-bps-write: int (optional)
4470 Not documented
4471
4472 x-bps-write-max: int (optional)
4473 Not documented
4474
4475 x-bps-write-max-length: int (optional)
4476 Not documented
4477
4478 x-iops-size: int (optional)
4479 Not documented
4480
4481 Features
4482 unstable
4483 All members starting with x- are aliases for the same key with‐
4484 out x- in the limits object. This is not a stable interface and
4485 may be removed or changed incompatibly in the future. Use lim‐
4486 its for a supported stable interface.
4487
4488 Since
4489 2.11
4490
4491 block-stream (Command)
4492 Copy data from a backing file into a block device.
4493
4494 The block streaming operation is performed in the background until the
4495 entire backing file has been copied. This command returns immediately
4496 once streaming has started. The status of ongoing block streaming op‐
4497 erations can be checked with query-block-jobs. The operation can be
4498 stopped before it has completed using the block-job-cancel command.
4499
4500 The node that receives the data is called the top image, can be located
4501 in any part of the chain (but always above the base image; see below)
4502 and can be specified using its device or node name. Earlier qemu ver‐
4503 sions only allowed 'device' to name the top level node; presence of the
4504 'base-node' parameter during introspection can be used as a witness of
4505 the enhanced semantics of 'device'.
4506
4507 If a base file is specified then sectors are not copied from that base
4508 file and its backing chain. This can be used to stream a subset of the
4509 backing file chain instead of flattening the entire image. When
4510 streaming completes the image file will have the base file as its back‐
4511 ing file, unless that node was changed while the job was running. In
4512 that case, base's parent's backing (or filtered, whichever exists)
4513 child (i.e., base at the beginning of the job) will be the new backing
4514 file.
4515
4516 On successful completion the image file is updated to drop the backing
4517 file and the BLOCK_JOB_COMPLETED event is emitted.
4518
4519 In case device is a filter node, block-stream modifies the first
4520 non-filter overlay node below it to point to the new backing node in‐
4521 stead of modifying device itself.
4522
4523 Arguments
4524 job-id: string (optional)
4525 identifier for the newly-created block job. If omitted, the de‐
4526 vice name will be used. (Since 2.7)
4527
4528 device: string
4529 the device or node name of the top image
4530
4531 base: string (optional)
4532 the common backing file name. It cannot be set if base-node or
4533 bottom is also set.
4534
4535 base-node: string (optional)
4536 the node name of the backing file. It cannot be set if base or
4537 bottom is also set. (Since 2.8)
4538
4539 bottom: string (optional)
4540 the last node in the chain that should be streamed into top. It
4541 cannot be set if base or base-node is also set. It cannot be
4542 filter node. (Since 6.0)
4543
4544 backing-file: string (optional)
4545 The backing file string to write into the top image. This file‐
4546 name is not validated.
4547
4548 If a pathname string is such that it cannot be resolved by QEMU,
4549 that means that subsequent QMP or HMP commands must use
4550 node-names for the image in question, as filename lookup methods
4551 will fail.
4552
4553 If not specified, QEMU will automatically determine the backing
4554 file string to use, or error out if there is no obvious choice.
4555 Care should be taken when specifying the string, to specify a
4556 valid filename or protocol. (Since 2.1)
4557
4558 speed: int (optional)
4559 the maximum speed, in bytes per second
4560
4561 on-error: BlockdevOnError (optional)
4562 the action to take on an error (default report). 'stop' and
4563 'enospc' can only be used if the block device supports io-status
4564 (see BlockInfo). Since 1.3.
4565
4566 filter-node-name: string (optional)
4567 the node name that should be assigned to the filter driver that
4568 the stream job inserts into the graph above device. If this op‐
4569 tion is not given, a node name is autogenerated. (Since: 6.0)
4570
4571 auto-finalize: boolean (optional)
4572 When false, this job will wait in a PENDING state after it has
4573 finished its work, waiting for block-job-finalize before making
4574 any block graph changes. When true, this job will automatically
4575 perform its abort or commit actions. Defaults to true. (Since
4576 3.1)
4577
4578 auto-dismiss: boolean (optional)
4579 When false, this job will wait in a CONCLUDED state after it has
4580 completely ceased all work, and awaits block-job-dismiss. When
4581 true, this job will automatically disappear from the query list
4582 without user intervention. Defaults to true. (Since 3.1)
4583
4584 Returns
4585 • Nothing on success.
4586
4587 • If device does not exist, DeviceNotFound.
4588
4589 Since
4590 1.1
4591
4592 Example
4593 -> { "execute": "block-stream",
4594 "arguments": { "device": "virtio0",
4595 "base": "/tmp/master.qcow2" } }
4596 <- { "return": {} }
4597
4598 block-job-set-speed (Command)
4599 Set maximum speed for a background block operation.
4600
4601 This command can only be issued when there is an active block job.
4602
4603 Throttling can be disabled by setting the speed to 0.
4604
4605 Arguments
4606 device: string
4607 The job identifier. This used to be a device name (hence the
4608 name of the parameter), but since QEMU 2.7 it can have other
4609 values.
4610
4611 speed: int
4612 the maximum speed, in bytes per second, or 0 for unlimited. De‐
4613 faults to 0.
4614
4615 Returns
4616 • Nothing on success
4617
4618 • If no background operation is active on this device, DeviceNotActive
4619
4620 Since
4621 1.1
4622
4623 block-job-cancel (Command)
4624 Stop an active background block operation.
4625
4626 This command returns immediately after marking the active background
4627 block operation for cancellation. It is an error to call this command
4628 if no operation is in progress.
4629
4630 The operation will cancel as soon as possible and then emit the
4631 BLOCK_JOB_CANCELLED event. Before that happens the job is still visi‐
4632 ble when enumerated using query-block-jobs.
4633
4634 Note that if you issue 'block-job-cancel' after 'drive-mirror' has in‐
4635 dicated (via the event BLOCK_JOB_READY) that the source and destination
4636 are synchronized, then the event triggered by this command changes to
4637 BLOCK_JOB_COMPLETED, to indicate that the mirroring has ended and the
4638 destination now has a point-in-time copy tied to the time of the can‐
4639 cellation.
4640
4641 For streaming, the image file retains its backing file unless the
4642 streaming operation happens to complete just as it is being cancelled.
4643 A new streaming operation can be started at a later time to finish
4644 copying all data from the backing file.
4645
4646 Arguments
4647 device: string
4648 The job identifier. This used to be a device name (hence the
4649 name of the parameter), but since QEMU 2.7 it can have other
4650 values.
4651
4652 force: boolean (optional)
4653 If true, and the job has already emitted the event
4654 BLOCK_JOB_READY, abandon the job immediately (even if it is
4655 paused) instead of waiting for the destination to complete its
4656 final synchronization (since 1.3)
4657
4658 Returns
4659 • Nothing on success
4660
4661 • If no background operation is active on this device, DeviceNotActive
4662
4663 Since
4664 1.1
4665
4666 block-job-pause (Command)
4667 Pause an active background block operation.
4668
4669 This command returns immediately after marking the active background
4670 block operation for pausing. It is an error to call this command if no
4671 operation is in progress or if the job is already paused.
4672
4673 The operation will pause as soon as possible. No event is emitted when
4674 the operation is actually paused. Cancelling a paused job automati‐
4675 cally resumes it.
4676
4677 Arguments
4678 device: string
4679 The job identifier. This used to be a device name (hence the
4680 name of the parameter), but since QEMU 2.7 it can have other
4681 values.
4682
4683 Returns
4684 • Nothing on success
4685
4686 • If no background operation is active on this device, DeviceNotActive
4687
4688 Since
4689 1.3
4690
4691 block-job-resume (Command)
4692 Resume an active background block operation.
4693
4694 This command returns immediately after resuming a paused background
4695 block operation. It is an error to call this command if no operation
4696 is in progress or if the job is not paused.
4697
4698 This command also clears the error status of the job.
4699
4700 Arguments
4701 device: string
4702 The job identifier. This used to be a device name (hence the
4703 name of the parameter), but since QEMU 2.7 it can have other
4704 values.
4705
4706 Returns
4707 • Nothing on success
4708
4709 • If no background operation is active on this device, DeviceNotActive
4710
4711 Since
4712 1.3
4713
4714 block-job-complete (Command)
4715 Manually trigger completion of an active background block operation.
4716 This is supported for drive mirroring, where it also switches the de‐
4717 vice to write to the target path only. The ability to complete is sig‐
4718 naled with a BLOCK_JOB_READY event.
4719
4720 This command completes an active background block operation syn‐
4721 chronously. The ordering of this command's return with the
4722 BLOCK_JOB_COMPLETED event is not defined. Note that if an I/O error
4723 occurs during the processing of this command: 1) the command itself
4724 will fail; 2) the error will be processed according to the rerror/wer‐
4725 ror arguments that were specified when starting the operation.
4726
4727 A cancelled or paused job cannot be completed.
4728
4729 Arguments
4730 device: string
4731 The job identifier. This used to be a device name (hence the
4732 name of the parameter), but since QEMU 2.7 it can have other
4733 values.
4734
4735 Returns
4736 • Nothing on success
4737
4738 • If no background operation is active on this device, DeviceNotActive
4739
4740 Since
4741 1.3
4742
4743 block-job-dismiss (Command)
4744 For jobs that have already concluded, remove them from the
4745 block-job-query list. This command only needs to be run for jobs which
4746 were started with QEMU 2.12+ job lifetime management semantics.
4747
4748 This command will refuse to operate on any job that has not yet reached
4749 its terminal state, JOB_STATUS_CONCLUDED. For jobs that make use of the
4750 BLOCK_JOB_READY event, block-job-cancel or block-job-complete will
4751 still need to be used as appropriate.
4752
4753 Arguments
4754 id: string
4755 The job identifier.
4756
4757 Returns
4758 Nothing on success
4759
4760 Since
4761 2.12
4762
4763 block-job-finalize (Command)
4764 Once a job that has manual=true reaches the pending state, it can be
4765 instructed to finalize any graph changes and do any necessary cleanup
4766 via this command. For jobs in a transaction, instructing one job to
4767 finalize will force ALL jobs in the transaction to finalize, so it is
4768 only necessary to instruct a single member job to finalize.
4769
4770 Arguments
4771 id: string
4772 The job identifier.
4773
4774 Returns
4775 Nothing on success
4776
4777 Since
4778 2.12
4779
4780 BlockdevDiscardOptions (Enum)
4781 Determines how to handle discard requests.
4782
4783 Values
4784 ignore Ignore the request
4785
4786 unmap Forward as an unmap request
4787
4788 Since
4789 2.9
4790
4791 BlockdevDetectZeroesOptions (Enum)
4792 Describes the operation mode for the automatic conversion of plain zero
4793 writes by the OS to driver specific optimized zero write commands.
4794
4795 Values
4796 off Disabled (default)
4797
4798 on Enabled
4799
4800 unmap Enabled and even try to unmap blocks if possible. This requires
4801 also that BlockdevDiscardOptions is set to unmap for this de‐
4802 vice.
4803
4804 Since
4805 2.1
4806
4807 BlockdevAioOptions (Enum)
4808 Selects the AIO backend to handle I/O requests
4809
4810 Values
4811 threads
4812 Use qemu's thread pool
4813
4814 native Use native AIO backend (only Linux and Windows)
4815
4816 io_uring (If: CONFIG_LINUX_IO_URING)
4817 Use linux io_uring (since 5.0)
4818
4819 Since
4820 2.9
4821
4822 BlockdevCacheOptions (Object)
4823 Includes cache-related options for block devices
4824
4825 Members
4826 direct: boolean (optional)
4827 enables use of O_DIRECT (bypass the host page cache; default:
4828 false)
4829
4830 no-flush: boolean (optional)
4831 ignore any flush requests for the device (default: false)
4832
4833 Since
4834 2.9
4835
4836 BlockdevDriver (Enum)
4837 Drivers that are supported in block device operations.
4838
4839 Values
4840 throttle
4841 Since 2.11
4842
4843 nvme Since 2.12
4844
4845 copy-on-read
4846 Since 3.0
4847
4848 blklogwrites
4849 Since 3.0
4850
4851 blkreplay
4852 Since 4.2
4853
4854 compress
4855 Since 5.0
4856
4857 copy-before-write
4858 Since 6.2
4859
4860 blkdebug
4861 Not documented
4862
4863 blkverify
4864 Not documented
4865
4866 bochs Not documented
4867
4868 cloop Not documented
4869
4870 dmg Not documented
4871
4872 file Not documented
4873
4874 ftp Not documented
4875
4876 ftps Not documented
4877
4878 gluster
4879 Not documented
4880
4881 host_cdrom (If: HAVE_HOST_BLOCK_DEVICE)
4882 Not documented
4883
4884 host_device (If: HAVE_HOST_BLOCK_DEVICE)
4885 Not documented
4886
4887 http Not documented
4888
4889 https Not documented
4890
4891 iscsi Not documented
4892
4893 luks Not documented
4894
4895 nbd Not documented
4896
4897 nfs Not documented
4898
4899 null-aio
4900 Not documented
4901
4902 null-co
4903 Not documented
4904
4905 parallels
4906 Not documented
4907
4908 preallocate
4909 Not documented
4910
4911 qcow Not documented
4912
4913 qcow2 Not documented
4914
4915 qed Not documented
4916
4917 quorum Not documented
4918
4919 raw Not documented
4920
4921 rbd Not documented
4922
4923 replication (If: CONFIG_REPLICATION)
4924 Not documented
4925
4926 ssh Not documented
4927
4928 vdi Not documented
4929
4930 vhdx Not documented
4931
4932 vmdk Not documented
4933
4934 vpc Not documented
4935
4936 vvfat Not documented
4937
4938 Since
4939 2.9
4940
4941 BlockdevOptionsFile (Object)
4942 Driver specific block device options for the file backend.
4943
4944 Members
4945 filename: string
4946 path to the image file
4947
4948 pr-manager: string (optional)
4949 the id for the object that will handle persistent reservations
4950 for this device (default: none, forward the commands via SG_IO;
4951 since 2.11)
4952
4953 aio: BlockdevAioOptions (optional)
4954 AIO backend (default: threads) (since: 2.8)
4955
4956 aio-max-batch: int (optional)
4957 maximum number of requests to batch together into a single sub‐
4958 mission in the AIO backend. The smallest value between this and
4959 the aio-max-batch value of the IOThread object is chosen. 0
4960 means that the AIO backend will handle it automatically. (de‐
4961 fault: 0, since 6.2)
4962
4963 locking: OnOffAuto (optional)
4964 whether to enable file locking. If set to 'auto', only enable
4965 when Open File Descriptor (OFD) locking API is available (de‐
4966 fault: auto, since 2.10)
4967
4968 drop-cache: boolean (optional) (If: CONFIG_LINUX)
4969 invalidate page cache during live migration. This prevents
4970 stale data on the migration destination with cache.direct=off.
4971 Currently only supported on Linux hosts. (default: on, since:
4972 4.0)
4973
4974 x-check-cache-dropped: boolean (optional)
4975 whether to check that page cache was dropped on live migration.
4976 May cause noticeable delays if the image file is large, do not
4977 use in production. (default: off) (since: 3.0)
4978
4979 Features
4980 dynamic-auto-read-only
4981 If present, enabled auto-read-only means that the driver will
4982 open the image read-only at first, dynamically reopen the image
4983 file read-write when the first writer is attached to the node
4984 and reopen read-only when the last writer is detached. This al‐
4985 lows giving QEMU write permissions only on demand when an opera‐
4986 tion actually needs write access.
4987
4988 unstable
4989 Member x-check-cache-dropped is meant for debugging.
4990
4991 Since
4992 2.9
4993
4994 BlockdevOptionsNull (Object)
4995 Driver specific block device options for the null backend.
4996
4997 Members
4998 size: int (optional)
4999 size of the device in bytes.
5000
5001 latency-ns: int (optional)
5002 emulated latency (in nanoseconds) in processing requests. De‐
5003 fault to zero which completes requests immediately. (Since 2.4)
5004
5005 read-zeroes: boolean (optional)
5006 if true, reads from the device produce zeroes; if false, the
5007 buffer is left unchanged. (default: false; since: 4.1)
5008
5009 Since
5010 2.9
5011
5012 BlockdevOptionsNVMe (Object)
5013 Driver specific block device options for the NVMe backend.
5014
5015 Members
5016 device: string
5017 PCI controller address of the NVMe device in format hhhh:bb:ss.f
5018 (host:bus:slot.function)
5019
5020 namespace: int
5021 namespace number of the device, starting from 1.
5022 Note that the PCI device must have been unbound from any host kernel
5023 driver before instructing QEMU to add the blockdev.
5024
5025 Since
5026 2.12
5027
5028 BlockdevOptionsVVFAT (Object)
5029 Driver specific block device options for the vvfat protocol.
5030
5031 Members
5032 dir: string
5033 directory to be exported as FAT image
5034
5035 fat-type: int (optional)
5036 FAT type: 12, 16 or 32
5037
5038 floppy: boolean (optional)
5039 whether to export a floppy image (true) or partitioned hard disk
5040 (false; default)
5041
5042 label: string (optional)
5043 set the volume label, limited to 11 bytes. FAT16 and FAT32 tra‐
5044 ditionally have some restrictions on labels, which are ignored
5045 by most operating systems. Defaults to "QEMU VVFAT". (since
5046 2.4)
5047
5048 rw: boolean (optional)
5049 whether to allow write operations (default: false)
5050
5051 Since
5052 2.9
5053
5054 BlockdevOptionsGenericFormat (Object)
5055 Driver specific block device options for image format that have no op‐
5056 tion besides their data source.
5057
5058 Members
5059 file: BlockdevRef
5060 reference to or definition of the data source block device
5061
5062 Since
5063 2.9
5064
5065 BlockdevOptionsLUKS (Object)
5066 Driver specific block device options for LUKS.
5067
5068 Members
5069 key-secret: string (optional)
5070 the ID of a QCryptoSecret object providing the decryption key
5071 (since 2.6). Mandatory except when doing a metadata-only probe
5072 of the image.
5073
5074 The members of BlockdevOptionsGenericFormat
5075
5076 Since
5077 2.9
5078
5079 BlockdevOptionsGenericCOWFormat (Object)
5080 Driver specific block device options for image format that have no op‐
5081 tion besides their data source and an optional backing file.
5082
5083 Members
5084 backing: BlockdevRefOrNull (optional)
5085 reference to or definition of the backing file block device,
5086 null disables the backing file entirely. Defaults to the back‐
5087 ing file stored the image file.
5088
5089 The members of BlockdevOptionsGenericFormat
5090
5091 Since
5092 2.9
5093
5094 Qcow2OverlapCheckMode (Enum)
5095 General overlap check modes.
5096
5097 Values
5098 none Do not perform any checks
5099
5100 constant
5101 Perform only checks which can be done in constant time and with‐
5102 out reading anything from disk
5103
5104 cached Perform only checks which can be done without reading anything
5105 from disk
5106
5107 all Perform all available overlap checks
5108
5109 Since
5110 2.9
5111
5112 Qcow2OverlapCheckFlags (Object)
5113 Structure of flags for each metadata structure. Setting a field to
5114 'true' makes qemu guard that structure against unintended overwriting.
5115 The default value is chosen according to the template given.
5116
5117 Members
5118 template: Qcow2OverlapCheckMode (optional)
5119 Specifies a template mode which can be adjusted using the other
5120 flags, defaults to 'cached'
5121
5122 bitmap-directory: boolean (optional)
5123 since 3.0
5124
5125 main-header: boolean (optional)
5126 Not documented
5127
5128 active-l1: boolean (optional)
5129 Not documented
5130
5131 active-l2: boolean (optional)
5132 Not documented
5133
5134 refcount-table: boolean (optional)
5135 Not documented
5136
5137 refcount-block: boolean (optional)
5138 Not documented
5139
5140 snapshot-table: boolean (optional)
5141 Not documented
5142
5143 inactive-l1: boolean (optional)
5144 Not documented
5145
5146 inactive-l2: boolean (optional)
5147 Not documented
5148
5149 Since
5150 2.9
5151
5152 Qcow2OverlapChecks (Alternate)
5153 Specifies which metadata structures should be guarded against unin‐
5154 tended overwriting.
5155
5156 Members
5157 flags: Qcow2OverlapCheckFlags
5158 set of flags for separate specification of each metadata struc‐
5159 ture type
5160
5161 mode: Qcow2OverlapCheckMode
5162 named mode which chooses a specific set of flags
5163
5164 Since
5165 2.9
5166
5167 BlockdevQcowEncryptionFormat (Enum)
5168 Values
5169 aes AES-CBC with plain64 initialization vectors
5170
5171 Since
5172 2.10
5173
5174 BlockdevQcowEncryption (Object)
5175 Members
5176 format: BlockdevQcowEncryptionFormat
5177 Not documented
5178
5179 The members of QCryptoBlockOptionsQCow when format is "aes"
5180
5181 Since
5182 2.10
5183
5184 BlockdevOptionsQcow (Object)
5185 Driver specific block device options for qcow.
5186
5187 Members
5188 encrypt: BlockdevQcowEncryption (optional)
5189 Image decryption options. Mandatory for encrypted images, except
5190 when doing a metadata-only probe of the image.
5191
5192 The members of BlockdevOptionsGenericCOWFormat
5193
5194 Since
5195 2.10
5196
5197 BlockdevQcow2EncryptionFormat (Enum)
5198 Values
5199 aes AES-CBC with plain64 initialization vectors
5200
5201 luks Not documented
5202
5203 Since
5204 2.10
5205
5206 BlockdevQcow2Encryption (Object)
5207 Members
5208 format: BlockdevQcow2EncryptionFormat
5209 Not documented
5210
5211 The members of QCryptoBlockOptionsQCow when format is "aes"
5212
5213 The members of QCryptoBlockOptionsLUKS when format is "luks"
5214
5215 Since
5216 2.10
5217
5218 BlockdevOptionsPreallocate (Object)
5219 Filter driver intended to be inserted between format and protocol node
5220 and do preallocation in protocol node on write.
5221
5222 Members
5223 prealloc-align: int (optional)
5224 on preallocation, align file length to this number, default
5225 1048576 (1M)
5226
5227 prealloc-size: int (optional)
5228 how much to preallocate, default 134217728 (128M)
5229
5230 The members of BlockdevOptionsGenericFormat
5231
5232 Since
5233 6.0
5234
5235 BlockdevOptionsQcow2 (Object)
5236 Driver specific block device options for qcow2.
5237
5238 Members
5239 lazy-refcounts: boolean (optional)
5240 whether to enable the lazy refcounts feature (default is taken
5241 from the image file)
5242
5243 pass-discard-request: boolean (optional)
5244 whether discard requests to the qcow2 device should be forwarded
5245 to the data source
5246
5247 pass-discard-snapshot: boolean (optional)
5248 whether discard requests for the data source should be issued
5249 when a snapshot operation (e.g. deleting a snapshot) frees
5250 clusters in the qcow2 file
5251
5252 pass-discard-other: boolean (optional)
5253 whether discard requests for the data source should be issued on
5254 other occasions where a cluster gets freed
5255
5256 overlap-check: Qcow2OverlapChecks (optional)
5257 which overlap checks to perform for writes to the image, de‐
5258 faults to 'cached' (since 2.2)
5259
5260 cache-size: int (optional)
5261 the maximum total size of the L2 table and refcount block caches
5262 in bytes (since 2.2)
5263
5264 l2-cache-size: int (optional)
5265 the maximum size of the L2 table cache in bytes (since 2.2)
5266
5267 l2-cache-entry-size: int (optional)
5268 the size of each entry in the L2 cache in bytes. It must be a
5269 power of two between 512 and the cluster size. The default value
5270 is the cluster size (since 2.12)
5271
5272 refcount-cache-size: int (optional)
5273 the maximum size of the refcount block cache in bytes (since
5274 2.2)
5275
5276 cache-clean-interval: int (optional)
5277 clean unused entries in the L2 and refcount caches. The interval
5278 is in seconds. The default value is 600 on supporting platforms,
5279 and 0 on other platforms. 0 disables this feature. (since 2.5)
5280
5281 encrypt: BlockdevQcow2Encryption (optional)
5282 Image decryption options. Mandatory for encrypted images, except
5283 when doing a metadata-only probe of the image. (since 2.10)
5284
5285 data-file: BlockdevRef (optional)
5286 reference to or definition of the external data file. This may
5287 only be specified for images that require an external data file.
5288 If it is not specified for such an image, the data file name is
5289 loaded from the image file. (since 4.0)
5290
5291 The members of BlockdevOptionsGenericCOWFormat
5292
5293 Since
5294 2.9
5295
5296 SshHostKeyCheckMode (Enum)
5297 Values
5298 none Don't check the host key at all
5299
5300 hash Compare the host key with a given hash
5301
5302 known_hosts
5303 Check the host key against the known_hosts file
5304
5305 Since
5306 2.12
5307
5308 SshHostKeyCheckHashType (Enum)
5309 Values
5310 md5 The given hash is an md5 hash
5311
5312 sha1 The given hash is an sha1 hash
5313
5314 sha256 The given hash is an sha256 hash
5315
5316 Since
5317 2.12
5318
5319 SshHostKeyHash (Object)
5320 Members
5321 type: SshHostKeyCheckHashType
5322 The hash algorithm used for the hash
5323
5324 hash: string
5325 The expected hash value
5326
5327 Since
5328 2.12
5329
5330 SshHostKeyCheck (Object)
5331 Members
5332 mode: SshHostKeyCheckMode
5333 Not documented
5334
5335 The members of SshHostKeyHash when mode is "hash"
5336
5337 Since
5338 2.12
5339
5340 BlockdevOptionsSsh (Object)
5341 Members
5342 server: InetSocketAddress
5343 host address
5344
5345 path: string
5346 path to the image on the host
5347
5348 user: string (optional)
5349 user as which to connect, defaults to current local user name
5350
5351 host-key-check: SshHostKeyCheck (optional)
5352 Defines how and what to check the host key against (default:
5353 known_hosts)
5354
5355 Since
5356 2.9
5357
5358 BlkdebugEvent (Enum)
5359 Trigger events supported by blkdebug.
5360
5361 Values
5362 l1_shrink_write_table
5363 write zeros to the l1 table to shrink image. (since 2.11)
5364
5365 l1_shrink_free_l2_clusters
5366 discard the l2 tables. (since 2.11)
5367
5368 cor_write
5369 a write due to copy-on-read (since 2.11)
5370
5371 cluster_alloc_space
5372 an allocation of file space for a cluster (since 4.1)
5373
5374 none triggers once at creation of the blkdebug node (since 4.1)
5375
5376 l1_update
5377 Not documented
5378
5379 l1_grow_alloc_table
5380 Not documented
5381
5382 l1_grow_write_table
5383 Not documented
5384
5385 l1_grow_activate_table
5386 Not documented
5387
5388 l2_load
5389 Not documented
5390
5391 l2_update
5392 Not documented
5393
5394 l2_update_compressed
5395 Not documented
5396
5397 l2_alloc_cow_read
5398 Not documented
5399
5400 l2_alloc_write
5401 Not documented
5402
5403 read_aio
5404 Not documented
5405
5406 read_backing_aio
5407 Not documented
5408
5409 read_compressed
5410 Not documented
5411
5412 write_aio
5413 Not documented
5414
5415 write_compressed
5416 Not documented
5417
5418 vmstate_load
5419 Not documented
5420
5421 vmstate_save
5422 Not documented
5423
5424 cow_read
5425 Not documented
5426
5427 cow_write
5428 Not documented
5429
5430 reftable_load
5431 Not documented
5432
5433 reftable_grow
5434 Not documented
5435
5436 reftable_update
5437 Not documented
5438
5439 refblock_load
5440 Not documented
5441
5442 refblock_update
5443 Not documented
5444
5445 refblock_update_part
5446 Not documented
5447
5448 refblock_alloc
5449 Not documented
5450
5451 refblock_alloc_hookup
5452 Not documented
5453
5454 refblock_alloc_write
5455 Not documented
5456
5457 refblock_alloc_write_blocks
5458 Not documented
5459
5460 refblock_alloc_write_table
5461 Not documented
5462
5463 refblock_alloc_switch_table
5464 Not documented
5465
5466 cluster_alloc
5467 Not documented
5468
5469 cluster_alloc_bytes
5470 Not documented
5471
5472 cluster_free
5473 Not documented
5474
5475 flush_to_os
5476 Not documented
5477
5478 flush_to_disk
5479 Not documented
5480
5481 pwritev_rmw_head
5482 Not documented
5483
5484 pwritev_rmw_after_head
5485 Not documented
5486
5487 pwritev_rmw_tail
5488 Not documented
5489
5490 pwritev_rmw_after_tail
5491 Not documented
5492
5493 pwritev
5494 Not documented
5495
5496 pwritev_zero
5497 Not documented
5498
5499 pwritev_done
5500 Not documented
5501
5502 empty_image_prepare
5503 Not documented
5504
5505 Since
5506 2.9
5507
5508 BlkdebugIOType (Enum)
5509 Kinds of I/O that blkdebug can inject errors in.
5510
5511 Values
5512 read .bdrv_co_preadv()
5513
5514 write .bdrv_co_pwritev()
5515
5516 write-zeroes
5517 .bdrv_co_pwrite_zeroes()
5518
5519 discard
5520 .bdrv_co_pdiscard()
5521
5522 flush .bdrv_co_flush_to_disk()
5523
5524 block-status
5525 .bdrv_co_block_status()
5526
5527 Since
5528 4.1
5529
5530 BlkdebugInjectErrorOptions (Object)
5531 Describes a single error injection for blkdebug.
5532
5533 Members
5534 event: BlkdebugEvent
5535 trigger event
5536
5537 state: int (optional)
5538 the state identifier blkdebug needs to be in to actually trigger
5539 the event; defaults to "any"
5540
5541 iotype: BlkdebugIOType (optional)
5542 the type of I/O operations on which this error should be in‐
5543 jected; defaults to "all read, write, write-zeroes, discard, and
5544 flush operations" (since: 4.1)
5545
5546 errno: int (optional)
5547 error identifier (errno) to be returned; defaults to EIO
5548
5549 sector: int (optional)
5550 specifies the sector index which has to be affected in order to
5551 actually trigger the event; defaults to "any sector"
5552
5553 once: boolean (optional)
5554 disables further events after this one has been triggered; de‐
5555 faults to false
5556
5557 immediately: boolean (optional)
5558 fail immediately; defaults to false
5559
5560 Since
5561 2.9
5562
5563 BlkdebugSetStateOptions (Object)
5564 Describes a single state-change event for blkdebug.
5565
5566 Members
5567 event: BlkdebugEvent
5568 trigger event
5569
5570 state: int (optional)
5571 the current state identifier blkdebug needs to be in; defaults
5572 to "any"
5573
5574 new_state: int
5575 the state identifier blkdebug is supposed to assume if this
5576 event is triggered
5577
5578 Since
5579 2.9
5580
5581 BlockdevOptionsBlkdebug (Object)
5582 Driver specific block device options for blkdebug.
5583
5584 Members
5585 image: BlockdevRef
5586 underlying raw block device (or image file)
5587
5588 config: string (optional)
5589 filename of the configuration file
5590
5591 align: int (optional)
5592 required alignment for requests in bytes, must be positive power
5593 of 2, or 0 for default
5594
5595 max-transfer: int (optional)
5596 maximum size for I/O transfers in bytes, must be positive multi‐
5597 ple of align and of the underlying file's request alignment (but
5598 need not be a power of 2), or 0 for default (since 2.10)
5599
5600 opt-write-zero: int (optional)
5601 preferred alignment for write zero requests in bytes, must be
5602 positive multiple of align and of the underlying file's request
5603 alignment (but need not be a power of 2), or 0 for default
5604 (since 2.10)
5605
5606 max-write-zero: int (optional)
5607 maximum size for write zero requests in bytes, must be positive
5608 multiple of align, of opt-write-zero, and of the underlying
5609 file's request alignment (but need not be a power of 2), or 0
5610 for default (since 2.10)
5611
5612 opt-discard: int (optional)
5613 preferred alignment for discard requests in bytes, must be posi‐
5614 tive multiple of align and of the underlying file's request
5615 alignment (but need not be a power of 2), or 0 for default
5616 (since 2.10)
5617
5618 max-discard: int (optional)
5619 maximum size for discard requests in bytes, must be positive
5620 multiple of align, of opt-discard, and of the underlying file's
5621 request alignment (but need not be a power of 2), or 0 for de‐
5622 fault (since 2.10)
5623
5624 inject-error: array of BlkdebugInjectErrorOptions (optional)
5625 array of error injection descriptions
5626
5627 set-state: array of BlkdebugSetStateOptions (optional)
5628 array of state-change descriptions
5629
5630 take-child-perms: array of BlockPermission (optional)
5631 Permissions to take on image in addition to what is necessary
5632 anyway (which depends on how the blkdebug node is used). De‐
5633 faults to none. (since 5.0)
5634
5635 unshare-child-perms: array of BlockPermission (optional)
5636 Permissions not to share on image in addition to what cannot be
5637 shared anyway (which depends on how the blkdebug node is used).
5638 Defaults to none. (since 5.0)
5639
5640 Since
5641 2.9
5642
5643 BlockdevOptionsBlklogwrites (Object)
5644 Driver specific block device options for blklogwrites.
5645
5646 Members
5647 file: BlockdevRef
5648 block device
5649
5650 log: BlockdevRef
5651 block device used to log writes to file
5652
5653 log-sector-size: int (optional)
5654 sector size used in logging writes to file, determines granular‐
5655 ity of offsets and sizes of writes (default: 512)
5656
5657 log-append: boolean (optional)
5658 append to an existing log (default: false)
5659
5660 log-super-update-interval: int (optional)
5661 interval of write requests after which the log super block is
5662 updated to disk (default: 4096)
5663
5664 Since
5665 3.0
5666
5667 BlockdevOptionsBlkverify (Object)
5668 Driver specific block device options for blkverify.
5669
5670 Members
5671 test: BlockdevRef
5672 block device to be tested
5673
5674 raw: BlockdevRef
5675 raw image used for verification
5676
5677 Since
5678 2.9
5679
5680 BlockdevOptionsBlkreplay (Object)
5681 Driver specific block device options for blkreplay.
5682
5683 Members
5684 image: BlockdevRef
5685 disk image which should be controlled with blkreplay
5686
5687 Since
5688 4.2
5689
5690 QuorumReadPattern (Enum)
5691 An enumeration of quorum read patterns.
5692
5693 Values
5694 quorum read all the children and do a quorum vote on reads
5695
5696 fifo read only from the first child that has not failed
5697
5698 Since
5699 2.9
5700
5701 BlockdevOptionsQuorum (Object)
5702 Driver specific block device options for Quorum
5703
5704 Members
5705 blkverify: boolean (optional)
5706
5707 true if the driver must print content mismatch
5708 set to false by default
5709
5710 children: array of BlockdevRef
5711 the children block devices to use
5712
5713 vote-threshold: int
5714 the vote limit under which a read will fail
5715
5716 rewrite-corrupted: boolean (optional)
5717 rewrite corrupted data when quorum is reached (Since 2.1)
5718
5719 read-pattern: QuorumReadPattern (optional)
5720 choose read pattern and set to quorum by default (Since 2.2)
5721
5722 Since
5723 2.9
5724
5725 BlockdevOptionsGluster (Object)
5726 Driver specific block device options for Gluster
5727
5728 Members
5729 volume: string
5730 name of gluster volume where VM image resides
5731
5732 path: string
5733 absolute path to image file in gluster volume
5734
5735 server: array of SocketAddress
5736 gluster servers description
5737
5738 debug: int (optional)
5739 libgfapi log level (default '4' which is Error) (Since 2.8)
5740
5741 logfile: string (optional)
5742 libgfapi log file (default /dev/stderr) (Since 2.8)
5743
5744 Since
5745 2.9
5746
5747 IscsiTransport (Enum)
5748 An enumeration of libiscsi transport types
5749
5750 Values
5751 tcp Not documented
5752
5753 iser Not documented
5754
5755 Since
5756 2.9
5757
5758 IscsiHeaderDigest (Enum)
5759 An enumeration of header digests supported by libiscsi
5760
5761 Values
5762 crc32c Not documented
5763
5764 none Not documented
5765
5766 crc32c-none
5767 Not documented
5768
5769 none-crc32c
5770 Not documented
5771
5772 Since
5773 2.9
5774
5775 BlockdevOptionsIscsi (Object)
5776 Members
5777 transport: IscsiTransport
5778 The iscsi transport type
5779
5780 portal: string
5781 The address of the iscsi portal
5782
5783 target: string
5784 The target iqn name
5785
5786 lun: int (optional)
5787 LUN to connect to. Defaults to 0.
5788
5789 user: string (optional)
5790 User name to log in with. If omitted, no CHAP authentication is
5791 performed.
5792
5793 password-secret: string (optional)
5794 The ID of a QCryptoSecret object providing the password for the
5795 login. This option is required if user is specified.
5796
5797 initiator-name: string (optional)
5798 The iqn name we want to identify to the target as. If this op‐
5799 tion is not specified, an initiator name is generated automati‐
5800 cally.
5801
5802 header-digest: IscsiHeaderDigest (optional)
5803 The desired header digest. Defaults to none-crc32c.
5804
5805 timeout: int (optional)
5806 Timeout in seconds after which a request will timeout. 0 means
5807 no timeout and is the default.
5808 Driver specific block device options for iscsi
5809
5810 Since
5811 2.9
5812
5813 RbdAuthMode (Enum)
5814 Values
5815 cephx Not documented
5816
5817 none Not documented
5818
5819 Since
5820 3.0
5821
5822 RbdImageEncryptionFormat (Enum)
5823 Values
5824 luks Not documented
5825
5826 luks2 Not documented
5827
5828 Since
5829 6.1
5830
5831 RbdEncryptionOptionsLUKSBase (Object)
5832 Members
5833 key-secret: string
5834 ID of a QCryptoSecret object providing a passphrase for unlock‐
5835 ing the encryption
5836
5837 Since
5838 6.1
5839
5840 RbdEncryptionCreateOptionsLUKSBase (Object)
5841 Members
5842 cipher-alg: QCryptoCipherAlgorithm (optional)
5843 The encryption algorithm
5844
5845 The members of RbdEncryptionOptionsLUKSBase
5846
5847 Since
5848 6.1
5849
5850 RbdEncryptionOptionsLUKS (Object)
5851 Members
5852 The members of RbdEncryptionOptionsLUKSBase
5853
5854 Since
5855 6.1
5856
5857 RbdEncryptionOptionsLUKS2 (Object)
5858 Members
5859 The members of RbdEncryptionOptionsLUKSBase
5860
5861 Since
5862 6.1
5863
5864 RbdEncryptionCreateOptionsLUKS (Object)
5865 Members
5866 The members of RbdEncryptionCreateOptionsLUKSBase
5867
5868 Since
5869 6.1
5870
5871 RbdEncryptionCreateOptionsLUKS2 (Object)
5872 Members
5873 The members of RbdEncryptionCreateOptionsLUKSBase
5874
5875 Since
5876 6.1
5877
5878 RbdEncryptionOptions (Object)
5879 Members
5880 format: RbdImageEncryptionFormat
5881 Not documented
5882
5883 The members of RbdEncryptionOptionsLUKS when format is "luks"
5884
5885 The members of RbdEncryptionOptionsLUKS2 when format is "luks2"
5886
5887 Since
5888 6.1
5889
5890 RbdEncryptionCreateOptions (Object)
5891 Members
5892 format: RbdImageEncryptionFormat
5893 Not documented
5894
5895 The members of RbdEncryptionCreateOptionsLUKS when format is "luks"
5896
5897 The members of RbdEncryptionCreateOptionsLUKS2 when format is "luks2"
5898
5899 Since
5900 6.1
5901
5902 BlockdevOptionsRbd (Object)
5903 Members
5904 pool: string
5905 Ceph pool name.
5906
5907 namespace: string (optional)
5908 Rados namespace name in the Ceph pool. (Since 5.0)
5909
5910 image: string
5911 Image name in the Ceph pool.
5912
5913 conf: string (optional)
5914 path to Ceph configuration file. Values in the configuration
5915 file will be overridden by options specified via QAPI.
5916
5917 snapshot: string (optional)
5918 Ceph snapshot name.
5919
5920 encrypt: RbdEncryptionOptions (optional)
5921 Image encryption options. (Since 6.1)
5922
5923 user: string (optional)
5924 Ceph id name.
5925
5926 auth-client-required: array of RbdAuthMode (optional)
5927 Acceptable authentication modes. This maps to Ceph configura‐
5928 tion option "auth_client_required". (Since 3.0)
5929
5930 key-secret: string (optional)
5931 ID of a QCryptoSecret object providing a key for cephx authenti‐
5932 cation. This maps to Ceph configuration option "key". (Since
5933 3.0)
5934
5935 server: array of InetSocketAddressBase (optional)
5936 Monitor host address and port. This maps to the "mon_host" Ceph
5937 option.
5938
5939 Since
5940 2.9
5941
5942 ReplicationMode (Enum)
5943 An enumeration of replication modes.
5944
5945 Values
5946 primary
5947 Primary mode, the vm's state will be sent to secondary QEMU.
5948
5949 secondary
5950 Secondary mode, receive the vm's state from primary QEMU.
5951
5952 Since
5953 2.9
5954
5955 If
5956 CONFIG_REPLICATION
5957
5958 BlockdevOptionsReplication (Object)
5959 Driver specific block device options for replication
5960
5961 Members
5962 mode: ReplicationMode
5963 the replication mode
5964
5965 top-id: string (optional)
5966 In secondary mode, node name or device ID of the root node who
5967 owns the replication node chain. Must not be given in primary
5968 mode.
5969
5970 The members of BlockdevOptionsGenericFormat
5971
5972 Since
5973 2.9
5974
5975 If
5976 CONFIG_REPLICATION
5977
5978 NFSTransport (Enum)
5979 An enumeration of NFS transport types
5980
5981 Values
5982 inet TCP transport
5983
5984 Since
5985 2.9
5986
5987 NFSServer (Object)
5988 Captures the address of the socket
5989
5990 Members
5991 type: NFSTransport
5992 transport type used for NFS (only TCP supported)
5993
5994 host: string
5995 host address for NFS server
5996
5997 Since
5998 2.9
5999
6000 BlockdevOptionsNfs (Object)
6001 Driver specific block device option for NFS
6002
6003 Members
6004 server: NFSServer
6005 host address
6006
6007 path: string
6008 path of the image on the host
6009
6010 user: int (optional)
6011 UID value to use when talking to the server (defaults to 65534
6012 on Windows and getuid() on unix)
6013
6014 group: int (optional)
6015 GID value to use when talking to the server (defaults to 65534
6016 on Windows and getgid() in unix)
6017
6018 tcp-syn-count: int (optional)
6019 number of SYNs during the session establishment (defaults to
6020 libnfs default)
6021
6022 readahead-size: int (optional)
6023 set the readahead size in bytes (defaults to libnfs default)
6024
6025 page-cache-size: int (optional)
6026 set the pagecache size in bytes (defaults to libnfs default)
6027
6028 debug: int (optional)
6029 set the NFS debug level (max 2) (defaults to libnfs default)
6030
6031 Since
6032 2.9
6033
6034 BlockdevOptionsCurlBase (Object)
6035 Driver specific block device options shared by all protocols supported
6036 by the curl backend.
6037
6038 Members
6039 url: string
6040 URL of the image file
6041
6042 readahead: int (optional)
6043 Size of the read-ahead cache; must be a multiple of 512 (de‐
6044 faults to 256 kB)
6045
6046 timeout: int (optional)
6047 Timeout for connections, in seconds (defaults to 5)
6048
6049 username: string (optional)
6050 Username for authentication (defaults to none)
6051
6052 password-secret: string (optional)
6053 ID of a QCryptoSecret object providing a password for authenti‐
6054 cation (defaults to no password)
6055
6056 proxy-username: string (optional)
6057 Username for proxy authentication (defaults to none)
6058
6059 proxy-password-secret: string (optional)
6060 ID of a QCryptoSecret object providing a password for proxy au‐
6061 thentication (defaults to no password)
6062
6063 Since
6064 2.9
6065
6066 BlockdevOptionsCurlHttp (Object)
6067 Driver specific block device options for HTTP connections over the curl
6068 backend. URLs must start with "http://".
6069
6070 Members
6071 cookie: string (optional)
6072 List of cookies to set; format is "name1=content1; name2=con‐
6073 tent2;" as explained by CURLOPT_COOKIE(3). Defaults to no cook‐
6074 ies.
6075
6076 cookie-secret: string (optional)
6077 ID of a QCryptoSecret object providing the cookie data in a se‐
6078 cure way. See cookie for the format. (since 2.10)
6079
6080 The members of BlockdevOptionsCurlBase
6081
6082 Since
6083 2.9
6084
6085 BlockdevOptionsCurlHttps (Object)
6086 Driver specific block device options for HTTPS connections over the
6087 curl backend. URLs must start with "https://".
6088
6089 Members
6090 cookie: string (optional)
6091 List of cookies to set; format is "name1=content1; name2=con‐
6092 tent2;" as explained by CURLOPT_COOKIE(3). Defaults to no cook‐
6093 ies.
6094
6095 sslverify: boolean (optional)
6096 Whether to verify the SSL certificate's validity (defaults to
6097 true)
6098
6099 cookie-secret: string (optional)
6100 ID of a QCryptoSecret object providing the cookie data in a se‐
6101 cure way. See cookie for the format. (since 2.10)
6102
6103 The members of BlockdevOptionsCurlBase
6104
6105 Since
6106 2.9
6107
6108 BlockdevOptionsCurlFtp (Object)
6109 Driver specific block device options for FTP connections over the curl
6110 backend. URLs must start with "ftp://".
6111
6112 Members
6113 The members of BlockdevOptionsCurlBase
6114
6115 Since
6116 2.9
6117
6118 BlockdevOptionsCurlFtps (Object)
6119 Driver specific block device options for FTPS connections over the curl
6120 backend. URLs must start with "ftps://".
6121
6122 Members
6123 sslverify: boolean (optional)
6124 Whether to verify the SSL certificate's validity (defaults to
6125 true)
6126
6127 The members of BlockdevOptionsCurlBase
6128
6129 Since
6130 2.9
6131
6132 BlockdevOptionsNbd (Object)
6133 Driver specific block device options for NBD.
6134
6135 Members
6136 server: SocketAddress
6137 NBD server address
6138
6139 export: string (optional)
6140 export name
6141
6142 tls-creds: string (optional)
6143 TLS credentials ID
6144
6145 x-dirty-bitmap: string (optional)
6146 A metadata context name such as "qemu:dirty-bitmap:NAME" or
6147 "qemu:allocation-depth" to query in place of the traditional
6148 "base:allocation" block status (see NBD_OPT_LIST_META_CONTEXT in
6149 the NBD protocol; and yes, naming this option x-context would
6150 have made more sense) (since 3.0)
6151
6152 reconnect-delay: int (optional)
6153 On an unexpected disconnect, the nbd client tries to connect
6154 again until succeeding or encountering a serious error. During
6155 the first reconnect-delay seconds, all requests are paused and
6156 will be rerun on a successful reconnect. After that time, any
6157 delayed requests and all future requests before a successful re‐
6158 connect will immediately fail. Default 0 (Since 4.2)
6159
6160 Features
6161 unstable
6162 Member x-dirty-bitmap is experimental.
6163
6164 Since
6165 2.9
6166
6167 BlockdevOptionsRaw (Object)
6168 Driver specific block device options for the raw driver.
6169
6170 Members
6171 offset: int (optional)
6172 position where the block device starts
6173
6174 size: int (optional)
6175 the assumed size of the device
6176
6177 The members of BlockdevOptionsGenericFormat
6178
6179 Since
6180 2.9
6181
6182 BlockdevOptionsThrottle (Object)
6183 Driver specific block device options for the throttle driver
6184
6185 Members
6186 throttle-group: string
6187 the name of the throttle-group object to use. It must already
6188 exist.
6189
6190 file: BlockdevRef
6191 reference to or definition of the data source block device
6192
6193 Since
6194 2.11
6195
6196 BlockdevOptionsCor (Object)
6197 Driver specific block device options for the copy-on-read driver.
6198
6199 Members
6200 bottom: string (optional)
6201 The name of a non-filter node (allocation-bearing layer) that
6202 limits the COR operations in the backing chain (inclusive), so
6203 that no data below this node will be copied by this filter. If
6204 option is absent, the limit is not applied, so that data from
6205 all backing layers may be copied.
6206
6207 The members of BlockdevOptionsGenericFormat
6208
6209 Since
6210 6.0
6211
6212 BlockdevOptionsCbw (Object)
6213 Driver specific block device options for the copy-before-write driver,
6214 which does so called copy-before-write operations: when data is written
6215 to the filter, the filter first reads corresponding blocks from its
6216 file child and copies them to target child. After successfully copying,
6217 the write request is propagated to file child. If copying fails, the
6218 original write request is failed too and no data is written to file
6219 child.
6220
6221 Members
6222 target: BlockdevRef
6223 The target for copy-before-write operations.
6224
6225 The members of BlockdevOptionsGenericFormat
6226
6227 Since
6228 6.2
6229
6230 BlockdevOptions (Object)
6231 Options for creating a block device. Many options are available for
6232 all block devices, independent of the block driver:
6233
6234 Members
6235 driver: BlockdevDriver
6236 block driver name
6237
6238 node-name: string (optional)
6239 the node name of the new node (Since 2.0). This option is re‐
6240 quired on the top level of blockdev-add. Valid node names start
6241 with an alphabetic character and may contain only alphanumeric
6242 characters, '-', '.' and '_'. Their maximum length is 31 charac‐
6243 ters.
6244
6245 discard: BlockdevDiscardOptions (optional)
6246 discard-related options (default: ignore)
6247
6248 cache: BlockdevCacheOptions (optional)
6249 cache-related options
6250
6251 read-only: boolean (optional)
6252 whether the block device should be read-only (default: false).
6253 Note that some block drivers support only read-only access, ei‐
6254 ther generally or in certain configurations. In this case, the
6255 default value does not work and the option must be specified ex‐
6256 plicitly.
6257
6258 auto-read-only: boolean (optional)
6259 if true and read-only is false, QEMU may automatically decide
6260 not to open the image read-write as requested, but fall back to
6261 read-only instead (and switch between the modes later), e.g. de‐
6262 pending on whether the image file is writable or whether a writ‐
6263 ing user is attached to the node (default: false, since 3.1)
6264
6265 detect-zeroes: BlockdevDetectZeroesOptions (optional)
6266 detect and optimize zero writes (Since 2.1) (default: off)
6267
6268 force-share: boolean (optional)
6269 force share all permission on added nodes. Requires
6270 read-only=true. (Since 2.10)
6271
6272 The members of BlockdevOptionsBlkdebug when driver is "blkdebug"
6273
6274 The members of BlockdevOptionsBlklogwrites when driver is "blklog‐
6275 writes"
6276
6277 The members of BlockdevOptionsBlkverify when driver is "blkverify"
6278
6279 The members of BlockdevOptionsBlkreplay when driver is "blkreplay"
6280
6281 The members of BlockdevOptionsGenericFormat when driver is "bochs"
6282
6283 The members of BlockdevOptionsGenericFormat when driver is "cloop"
6284
6285 The members of BlockdevOptionsGenericFormat when driver is "compress"
6286
6287 The members of BlockdevOptionsCbw when driver is "copy-before-write"
6288
6289 The members of BlockdevOptionsCor when driver is "copy-on-read"
6290
6291 The members of BlockdevOptionsGenericFormat when driver is "dmg"
6292
6293 The members of BlockdevOptionsFile when driver is "file"
6294
6295 The members of BlockdevOptionsCurlFtp when driver is "ftp"
6296
6297 The members of BlockdevOptionsCurlFtps when driver is "ftps"
6298
6299 The members of BlockdevOptionsGluster when driver is "gluster"
6300
6301 The members of BlockdevOptionsFile when driver is "host_cdrom" (If:
6302 HAVE_HOST_BLOCK_DEVICE)
6303
6304 The members of BlockdevOptionsFile when driver is "host_device" (If:
6305 HAVE_HOST_BLOCK_DEVICE)
6306
6307 The members of BlockdevOptionsCurlHttp when driver is "http"
6308
6309 The members of BlockdevOptionsCurlHttps when driver is "https"
6310
6311 The members of BlockdevOptionsIscsi when driver is "iscsi"
6312
6313 The members of BlockdevOptionsLUKS when driver is "luks"
6314
6315 The members of BlockdevOptionsNbd when driver is "nbd"
6316
6317 The members of BlockdevOptionsNfs when driver is "nfs"
6318
6319 The members of BlockdevOptionsNull when driver is "null-aio"
6320
6321 The members of BlockdevOptionsNull when driver is "null-co"
6322
6323 The members of BlockdevOptionsNVMe when driver is "nvme"
6324
6325 The members of BlockdevOptionsGenericFormat when driver is "parallels"
6326
6327 The members of BlockdevOptionsPreallocate when driver is "preallocate"
6328
6329 The members of BlockdevOptionsQcow2 when driver is "qcow2"
6330
6331 The members of BlockdevOptionsQcow when driver is "qcow"
6332
6333 The members of BlockdevOptionsGenericCOWFormat when driver is "qed"
6334
6335 The members of BlockdevOptionsQuorum when driver is "quorum"
6336
6337 The members of BlockdevOptionsRaw when driver is "raw"
6338
6339 The members of BlockdevOptionsRbd when driver is "rbd"
6340
6341 The members of BlockdevOptionsReplication when driver is "replication"
6342 (If: CONFIG_REPLICATION)
6343
6344 The members of BlockdevOptionsSsh when driver is "ssh"
6345
6346 The members of BlockdevOptionsThrottle when driver is "throttle"
6347
6348 The members of BlockdevOptionsGenericFormat when driver is "vdi"
6349
6350 The members of BlockdevOptionsGenericFormat when driver is "vhdx"
6351
6352 The members of BlockdevOptionsGenericCOWFormat when driver is "vmdk"
6353
6354 The members of BlockdevOptionsGenericFormat when driver is "vpc"
6355
6356 The members of BlockdevOptionsVVFAT when driver is "vvfat"
6357 Remaining options are determined by the block driver.
6358
6359 Since
6360 2.9
6361
6362 BlockdevRef (Alternate)
6363 Reference to a block device.
6364
6365 Members
6366 definition: BlockdevOptions
6367 defines a new block device inline
6368
6369 reference: string
6370 references the ID of an existing block device
6371
6372 Since
6373 2.9
6374
6375 BlockdevRefOrNull (Alternate)
6376 Reference to a block device.
6377
6378 Members
6379 definition: BlockdevOptions
6380 defines a new block device inline
6381
6382 reference: string
6383 references the ID of an existing block device. An empty string
6384 means that no block device should be referenced. Deprecated;
6385 use null instead.
6386
6387 null: null
6388 No block device should be referenced (since 2.10)
6389
6390 Since
6391 2.9
6392
6393 blockdev-add (Command)
6394 Creates a new block device.
6395
6396 Arguments
6397 The members of BlockdevOptions
6398
6399 Since
6400 2.9
6401
6402 Example
6403 1.
6404 -> { "execute": "blockdev-add",
6405 "arguments": {
6406 "driver": "qcow2",
6407 "node-name": "test1",
6408 "file": {
6409 "driver": "file",
6410 "filename": "test.qcow2"
6411 }
6412 }
6413 }
6414 <- { "return": {} }
6415
6416 2.
6417 -> { "execute": "blockdev-add",
6418 "arguments": {
6419 "driver": "qcow2",
6420 "node-name": "node0",
6421 "discard": "unmap",
6422 "cache": {
6423 "direct": true
6424 },
6425 "file": {
6426 "driver": "file",
6427 "filename": "/tmp/test.qcow2"
6428 },
6429 "backing": {
6430 "driver": "raw",
6431 "file": {
6432 "driver": "file",
6433 "filename": "/dev/fdset/4"
6434 }
6435 }
6436 }
6437 }
6438
6439 <- { "return": {} }
6440
6441 blockdev-reopen (Command)
6442 Reopens one or more block devices using the given set of options. Any
6443 option not specified will be reset to its default value regardless of
6444 its previous status. If an option cannot be changed or a particular
6445 driver does not support reopening then the command will return an er‐
6446 ror. All devices in the list are reopened in one transaction, so if one
6447 of them fails then the whole transaction is cancelled.
6448
6449 The command receives a list of block devices to reopen. For each one of
6450 them, the top-level node-name option (from BlockdevOptions) must be
6451 specified and is used to select the block device to be reopened. Other
6452 node-name options must be either omitted or set to the current name of
6453 the appropriate node. This command won't change any node name and any
6454 attempt to do it will result in an error.
6455
6456 In the case of options that refer to child nodes, the behavior of this
6457 command depends on the value:
6458
6459 1. A set of options (BlockdevOptions): the child is reopened with
6460 the specified set of options.
6461
6462 2. A reference to the current child: the child is reopened using its
6463 existing set of options.
6464
6465 3. A reference to a different node: the current child is replaced
6466 with the specified one.
6467
6468 4. NULL: the current child (if any) is detached.
6469
6470 Options (1) and (2) are supported in all cases. Option (3) is supported
6471 for file and backing, and option (4) for backing only.
6472
6473 Unlike with blockdev-add, the backing option must always be present un‐
6474 less the node being reopened does not have a backing file and its image
6475 does not have a default backing file name as part of its metadata.
6476
6477 Arguments
6478 options: array of BlockdevOptions
6479 Not documented
6480
6481 Since
6482 6.1
6483
6484 blockdev-del (Command)
6485 Deletes a block device that has been added using blockdev-add. The
6486 command will fail if the node is attached to a device or is otherwise
6487 being used.
6488
6489 Arguments
6490 node-name: string
6491 Name of the graph node to delete.
6492
6493 Since
6494 2.9
6495
6496 Example
6497 -> { "execute": "blockdev-add",
6498 "arguments": {
6499 "driver": "qcow2",
6500 "node-name": "node0",
6501 "file": {
6502 "driver": "file",
6503 "filename": "test.qcow2"
6504 }
6505 }
6506 }
6507 <- { "return": {} }
6508
6509 -> { "execute": "blockdev-del",
6510 "arguments": { "node-name": "node0" }
6511 }
6512 <- { "return": {} }
6513
6514 BlockdevCreateOptionsFile (Object)
6515 Driver specific image creation options for file.
6516
6517 Members
6518 filename: string
6519 Filename for the new image file
6520
6521 size: int
6522 Size of the virtual disk in bytes
6523
6524 preallocation: PreallocMode (optional)
6525 Preallocation mode for the new image (default: off; allowed val‐
6526 ues: off, falloc (if CONFIG_POSIX_FALLOCATE), full (if CON‐
6527 FIG_POSIX))
6528
6529 nocow: boolean (optional)
6530 Turn off copy-on-write (valid only on btrfs; default: off)
6531
6532 extent-size-hint: int (optional)
6533 Extent size hint to add to the image file; 0 for not adding an
6534 extent size hint (default: 1 MB, since 5.1)
6535
6536 Since
6537 2.12
6538
6539 BlockdevCreateOptionsGluster (Object)
6540 Driver specific image creation options for gluster.
6541
6542 Members
6543 location: BlockdevOptionsGluster
6544 Where to store the new image file
6545
6546 size: int
6547 Size of the virtual disk in bytes
6548
6549 preallocation: PreallocMode (optional)
6550 Preallocation mode for the new image (default: off; allowed val‐
6551 ues: off, falloc (if CONFIG_GLUSTERFS_FALLOCATE), full (if CON‐
6552 FIG_GLUSTERFS_ZEROFILL))
6553
6554 Since
6555 2.12
6556
6557 BlockdevCreateOptionsLUKS (Object)
6558 Driver specific image creation options for LUKS.
6559
6560 Members
6561 file: BlockdevRef
6562 Node to create the image format on
6563
6564 size: int
6565 Size of the virtual disk in bytes
6566
6567 preallocation: PreallocMode (optional)
6568 Preallocation mode for the new image (since: 4.2) (default: off;
6569 allowed values: off, metadata, falloc, full)
6570
6571 The members of QCryptoBlockCreateOptionsLUKS
6572
6573 Since
6574 2.12
6575
6576 BlockdevCreateOptionsNfs (Object)
6577 Driver specific image creation options for NFS.
6578
6579 Members
6580 location: BlockdevOptionsNfs
6581 Where to store the new image file
6582
6583 size: int
6584 Size of the virtual disk in bytes
6585
6586 Since
6587 2.12
6588
6589 BlockdevCreateOptionsParallels (Object)
6590 Driver specific image creation options for parallels.
6591
6592 Members
6593 file: BlockdevRef
6594 Node to create the image format on
6595
6596 size: int
6597 Size of the virtual disk in bytes
6598
6599 cluster-size: int (optional)
6600 Cluster size in bytes (default: 1 MB)
6601
6602 Since
6603 2.12
6604
6605 BlockdevCreateOptionsQcow (Object)
6606 Driver specific image creation options for qcow.
6607
6608 Members
6609 file: BlockdevRef
6610 Node to create the image format on
6611
6612 size: int
6613 Size of the virtual disk in bytes
6614
6615 backing-file: string (optional)
6616 File name of the backing file if a backing file should be used
6617
6618 encrypt: QCryptoBlockCreateOptions (optional)
6619 Encryption options if the image should be encrypted
6620
6621 Since
6622 2.12
6623
6624 BlockdevQcow2Version (Enum)
6625 Values
6626 v2 The original QCOW2 format as introduced in qemu 0.10 (version 2)
6627
6628 v3 The extended QCOW2 format as introduced in qemu 1.1 (version 3)
6629
6630 Since
6631 2.12
6632
6633 Qcow2CompressionType (Enum)
6634 Compression type used in qcow2 image file
6635
6636 Values
6637 zlib zlib compression, see <http://zlib.net/>
6638
6639 zstd (If: CONFIG_ZSTD)
6640 zstd compression, see <http://github.com/facebook/zstd>
6641
6642 Since
6643 5.1
6644
6645 BlockdevCreateOptionsQcow2 (Object)
6646 Driver specific image creation options for qcow2.
6647
6648 Members
6649 file: BlockdevRef
6650 Node to create the image format on
6651
6652 data-file: BlockdevRef (optional)
6653 Node to use as an external data file in which all guest data is
6654 stored so that only metadata remains in the qcow2 file (since:
6655 4.0)
6656
6657 data-file-raw: boolean (optional)
6658 True if the external data file must stay valid as a standalone
6659 (read-only) raw image without looking at qcow2 metadata (de‐
6660 fault: false; since: 4.0)
6661
6662 extended-l2: boolean (optional)
6663 True to make the image have extended L2 entries (default: false;
6664 since 5.2)
6665
6666 size: int
6667 Size of the virtual disk in bytes
6668
6669 version: BlockdevQcow2Version (optional)
6670 Compatibility level (default: v3)
6671
6672 backing-file: string (optional)
6673 File name of the backing file if a backing file should be used
6674
6675 backing-fmt: BlockdevDriver (optional)
6676 Name of the block driver to use for the backing file
6677
6678 encrypt: QCryptoBlockCreateOptions (optional)
6679 Encryption options if the image should be encrypted
6680
6681 cluster-size: int (optional)
6682 qcow2 cluster size in bytes (default: 65536)
6683
6684 preallocation: PreallocMode (optional)
6685 Preallocation mode for the new image (default: off; allowed val‐
6686 ues: off, falloc, full, metadata)
6687
6688 lazy-refcounts: boolean (optional)
6689 True if refcounts may be updated lazily (default: off)
6690
6691 refcount-bits: int (optional)
6692 Width of reference counts in bits (default: 16)
6693
6694 compression-type: Qcow2CompressionType (optional)
6695 The image cluster compression method (default: zlib, since 5.1)
6696
6697 Since
6698 2.12
6699
6700 BlockdevCreateOptionsQed (Object)
6701 Driver specific image creation options for qed.
6702
6703 Members
6704 file: BlockdevRef
6705 Node to create the image format on
6706
6707 size: int
6708 Size of the virtual disk in bytes
6709
6710 backing-file: string (optional)
6711 File name of the backing file if a backing file should be used
6712
6713 backing-fmt: BlockdevDriver (optional)
6714 Name of the block driver to use for the backing file
6715
6716 cluster-size: int (optional)
6717 Cluster size in bytes (default: 65536)
6718
6719 table-size: int (optional)
6720 L1/L2 table size (in clusters)
6721
6722 Since
6723 2.12
6724
6725 BlockdevCreateOptionsRbd (Object)
6726 Driver specific image creation options for rbd/Ceph.
6727
6728 Members
6729 location: BlockdevOptionsRbd
6730 Where to store the new image file. This location cannot point to
6731 a snapshot.
6732
6733 size: int
6734 Size of the virtual disk in bytes
6735
6736 cluster-size: int (optional)
6737 RBD object size
6738
6739 encrypt: RbdEncryptionCreateOptions (optional)
6740 Image encryption options. (Since 6.1)
6741
6742 Since
6743 2.12
6744
6745 BlockdevVmdkSubformat (Enum)
6746 Subformat options for VMDK images
6747
6748 Values
6749 monolithicSparse
6750 Single file image with sparse cluster allocation
6751
6752 monolithicFlat
6753 Single flat data image and a descriptor file
6754
6755 twoGbMaxExtentSparse
6756 Data is split into 2GB (per virtual LBA) sparse extent files, in
6757 addition to a descriptor file
6758
6759 twoGbMaxExtentFlat
6760 Data is split into 2GB (per virtual LBA) flat extent files, in
6761 addition to a descriptor file
6762
6763 streamOptimized
6764 Single file image sparse cluster allocation, optimized for
6765 streaming over network.
6766
6767 Since
6768 4.0
6769
6770 BlockdevVmdkAdapterType (Enum)
6771 Adapter type info for VMDK images
6772
6773 Values
6774 ide Not documented
6775
6776 buslogic
6777 Not documented
6778
6779 lsilogic
6780 Not documented
6781
6782 legacyESX
6783 Not documented
6784
6785 Since
6786 4.0
6787
6788 BlockdevCreateOptionsVmdk (Object)
6789 Driver specific image creation options for VMDK.
6790
6791 Members
6792 file: BlockdevRef
6793 Where to store the new image file. This refers to the image file
6794 for monolithcSparse and streamOptimized format, or the descrip‐
6795 tor file for other formats.
6796
6797 size: int
6798 Size of the virtual disk in bytes
6799
6800 extents: array of BlockdevRef (optional)
6801 Where to store the data extents. Required for monolithcFlat,
6802 twoGbMaxExtentSparse and twoGbMaxExtentFlat formats. For mono‐
6803 lithicFlat, only one entry is required; for twoGbMaxExtent* for‐
6804 mats, the number of entries required is calculated as ex‐
6805 tent_number = virtual_size / 2GB. Providing more extents than
6806 will be used is an error.
6807
6808 subformat: BlockdevVmdkSubformat (optional)
6809 The subformat of the VMDK image. Default: "monolithicSparse".
6810
6811 backing-file: string (optional)
6812 The path of backing file. Default: no backing file is used.
6813
6814 adapter-type: BlockdevVmdkAdapterType (optional)
6815 The adapter type used to fill in the descriptor. Default: ide.
6816
6817 hwversion: string (optional)
6818 Hardware version. The meaningful options are "4" or "6". De‐
6819 fault: "4".
6820
6821 toolsversion: string (optional)
6822 VMware guest tools version. Default: "2147483647" (Since 6.2)
6823
6824 zeroed-grain: boolean (optional)
6825 Whether to enable zeroed-grain feature for sparse subformats.
6826 Default: false.
6827
6828 Since
6829 4.0
6830
6831 BlockdevCreateOptionsSsh (Object)
6832 Driver specific image creation options for SSH.
6833
6834 Members
6835 location: BlockdevOptionsSsh
6836 Where to store the new image file
6837
6838 size: int
6839 Size of the virtual disk in bytes
6840
6841 Since
6842 2.12
6843
6844 BlockdevCreateOptionsVdi (Object)
6845 Driver specific image creation options for VDI.
6846
6847 Members
6848 file: BlockdevRef
6849 Node to create the image format on
6850
6851 size: int
6852 Size of the virtual disk in bytes
6853
6854 preallocation: PreallocMode (optional)
6855 Preallocation mode for the new image (default: off; allowed val‐
6856 ues: off, metadata)
6857
6858 Since
6859 2.12
6860
6861 BlockdevVhdxSubformat (Enum)
6862 Values
6863 dynamic
6864 Growing image file
6865
6866 fixed Preallocated fixed-size image file
6867
6868 Since
6869 2.12
6870
6871 BlockdevCreateOptionsVhdx (Object)
6872 Driver specific image creation options for vhdx.
6873
6874 Members
6875 file: BlockdevRef
6876 Node to create the image format on
6877
6878 size: int
6879 Size of the virtual disk in bytes
6880
6881 log-size: int (optional)
6882 Log size in bytes, must be a multiple of 1 MB (default: 1 MB)
6883
6884 block-size: int (optional)
6885 Block size in bytes, must be a multiple of 1 MB and not larger
6886 than 256 MB (default: automatically choose a block size depend‐
6887 ing on the image size)
6888
6889 subformat: BlockdevVhdxSubformat (optional)
6890 vhdx subformat (default: dynamic)
6891
6892 block-state-zero: boolean (optional)
6893 Force use of payload blocks of type 'ZERO'. Non-standard, but
6894 default. Do not set to 'off' when using 'qemu-img convert' with
6895 subformat=dynamic.
6896
6897 Since
6898 2.12
6899
6900 BlockdevVpcSubformat (Enum)
6901 Values
6902 dynamic
6903 Growing image file
6904
6905 fixed Preallocated fixed-size image file
6906
6907 Since
6908 2.12
6909
6910 BlockdevCreateOptionsVpc (Object)
6911 Driver specific image creation options for vpc (VHD).
6912
6913 Members
6914 file: BlockdevRef
6915 Node to create the image format on
6916
6917 size: int
6918 Size of the virtual disk in bytes
6919
6920 subformat: BlockdevVpcSubformat (optional)
6921 vhdx subformat (default: dynamic)
6922
6923 force-size: boolean (optional)
6924 Force use of the exact byte size instead of rounding to the next
6925 size that can be represented in CHS geometry (default: false)
6926
6927 Since
6928 2.12
6929
6930 BlockdevCreateOptions (Object)
6931 Options for creating an image format on a given node.
6932
6933 Members
6934 driver: BlockdevDriver
6935 block driver to create the image format
6936
6937 The members of BlockdevCreateOptionsFile when driver is "file"
6938
6939 The members of BlockdevCreateOptionsGluster when driver is "gluster"
6940
6941 The members of BlockdevCreateOptionsLUKS when driver is "luks"
6942
6943 The members of BlockdevCreateOptionsNfs when driver is "nfs"
6944
6945 The members of BlockdevCreateOptionsParallels when driver is "paral‐
6946 lels"
6947
6948 The members of BlockdevCreateOptionsQcow when driver is "qcow"
6949
6950 The members of BlockdevCreateOptionsQcow2 when driver is "qcow2"
6951
6952 The members of BlockdevCreateOptionsQed when driver is "qed"
6953
6954 The members of BlockdevCreateOptionsRbd when driver is "rbd"
6955
6956 The members of BlockdevCreateOptionsSsh when driver is "ssh"
6957
6958 The members of BlockdevCreateOptionsVdi when driver is "vdi"
6959
6960 The members of BlockdevCreateOptionsVhdx when driver is "vhdx"
6961
6962 The members of BlockdevCreateOptionsVmdk when driver is "vmdk"
6963
6964 The members of BlockdevCreateOptionsVpc when driver is "vpc"
6965
6966 Since
6967 2.12
6968
6969 blockdev-create (Command)
6970 Starts a job to create an image format on a given node. The job is au‐
6971 tomatically finalized, but a manual job-dismiss is required.
6972
6973 Arguments
6974 job-id: string
6975 Identifier for the newly created job.
6976
6977 options: BlockdevCreateOptions
6978 Options for the image creation.
6979
6980 Since
6981 3.0
6982
6983 BlockdevAmendOptionsLUKS (Object)
6984 Driver specific image amend options for LUKS.
6985
6986 Members
6987 The members of QCryptoBlockAmendOptionsLUKS
6988
6989 Since
6990 5.1
6991
6992 BlockdevAmendOptionsQcow2 (Object)
6993 Driver specific image amend options for qcow2. For now, only encryp‐
6994 tion options can be amended
6995
6996 encrypt Encryption options to be amended
6997
6998 Members
6999 encrypt: QCryptoBlockAmendOptions (optional)
7000 Not documented
7001
7002 Since
7003 5.1
7004
7005 BlockdevAmendOptions (Object)
7006 Options for amending an image format
7007
7008 Members
7009 driver: BlockdevDriver
7010 Block driver of the node to amend.
7011
7012 The members of BlockdevAmendOptionsLUKS when driver is "luks"
7013
7014 The members of BlockdevAmendOptionsQcow2 when driver is "qcow2"
7015
7016 Since
7017 5.1
7018
7019 x-blockdev-amend (Command)
7020 Starts a job to amend format specific options of an existing open block
7021 device The job is automatically finalized, but a manual job-dismiss is
7022 required.
7023
7024 Arguments
7025 job-id: string
7026 Identifier for the newly created job.
7027
7028 node-name: string
7029 Name of the block node to work on
7030
7031 options: BlockdevAmendOptions
7032 Options (driver specific)
7033
7034 force: boolean (optional)
7035 Allow unsafe operations, format specific For luks that allows
7036 erase of the last active keyslot (permanent loss of data), and
7037 replacement of an active keyslot (possible loss of data if IO
7038 error happens)
7039
7040 Features
7041 unstable
7042 This command is experimental.
7043
7044 Since
7045 5.1
7046
7047 BlockErrorAction (Enum)
7048 An enumeration of action that has been taken when a DISK I/O occurs
7049
7050 Values
7051 ignore error has been ignored
7052
7053 report error has been reported to the device
7054
7055 stop error caused VM to be stopped
7056
7057 Since
7058 2.1
7059
7060 BLOCK_IMAGE_CORRUPTED (Event)
7061 Emitted when a disk image is being marked corrupt. The image can be
7062 identified by its device or node name. The 'device' field is always
7063 present for compatibility reasons, but it can be empty ("") if the im‐
7064 age does not have a device name associated.
7065
7066 Arguments
7067 device: string
7068 device name. This is always present for compatibility reasons,
7069 but it can be empty ("") if the image does not have a device
7070 name associated.
7071
7072 node-name: string (optional)
7073 node name (Since: 2.4)
7074
7075 msg: string
7076 informative message for human consumption, such as the kind of
7077 corruption being detected. It should not be parsed by machine as
7078 it is not guaranteed to be stable
7079
7080 offset: int (optional)
7081 if the corruption resulted from an image access, this is the
7082 host's access offset into the image
7083
7084 size: int (optional)
7085 if the corruption resulted from an image access, this is the ac‐
7086 cess size
7087
7088 fatal: boolean
7089 if set, the image is marked corrupt and therefore unusable after
7090 this event and must be repaired (Since 2.2; before, every
7091 BLOCK_IMAGE_CORRUPTED event was fatal)
7092
7093 Note
7094 If action is "stop", a STOP event will eventually follow the
7095 BLOCK_IO_ERROR event.
7096
7097 Example
7098 <- { "event": "BLOCK_IMAGE_CORRUPTED",
7099 "data": { "device": "ide0-hd0", "node-name": "node0",
7100 "msg": "Prevented active L1 table overwrite", "offset": 196608,
7101 "size": 65536 },
7102 "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }
7103
7104 Since
7105 1.7
7106
7107 BLOCK_IO_ERROR (Event)
7108 Emitted when a disk I/O error occurs
7109
7110 Arguments
7111 device: string
7112 device name. This is always present for compatibility reasons,
7113 but it can be empty ("") if the image does not have a device
7114 name associated.
7115
7116 node-name: string (optional)
7117 node name. Note that errors may be reported for the root node
7118 that is directly attached to a guest device rather than for the
7119 node where the error occurred. The node name is not present if
7120 the drive is empty. (Since: 2.8)
7121
7122 operation: IoOperationType
7123 I/O operation
7124
7125 action: BlockErrorAction
7126 action that has been taken
7127
7128 nospace: boolean (optional)
7129 true if I/O error was caused due to a no-space condition. This
7130 key is only present if query-block's io-status is present,
7131 please see query-block documentation for more information
7132 (since: 2.2)
7133
7134 reason: string
7135 human readable string describing the error cause. (This field
7136 is a debugging aid for humans, it should not be parsed by appli‐
7137 cations) (since: 2.2)
7138
7139 Note
7140 If action is "stop", a STOP event will eventually follow the
7141 BLOCK_IO_ERROR event
7142
7143 Since
7144 0.13
7145
7146 Example
7147 <- { "event": "BLOCK_IO_ERROR",
7148 "data": { "device": "ide0-hd1",
7149 "node-name": "#block212",
7150 "operation": "write",
7151 "action": "stop" },
7152 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
7153
7154 BLOCK_JOB_COMPLETED (Event)
7155 Emitted when a block job has completed
7156
7157 Arguments
7158 type: JobType
7159 job type
7160
7161 device: string
7162 The job identifier. Originally the device name but other values
7163 are allowed since QEMU 2.7
7164
7165 len: int
7166 maximum progress value
7167
7168 offset: int
7169 current progress value. On success this is equal to len. On
7170 failure this is less than len
7171
7172 speed: int
7173 rate limit, bytes per second
7174
7175 error: string (optional)
7176 error message. Only present on failure. This field contains a
7177 human-readable error message. There are no semantics other than
7178 that streaming has failed and clients should not try to inter‐
7179 pret the error string
7180
7181 Since
7182 1.1
7183
7184 Example
7185 <- { "event": "BLOCK_JOB_COMPLETED",
7186 "data": { "type": "stream", "device": "virtio-disk0",
7187 "len": 10737418240, "offset": 10737418240,
7188 "speed": 0 },
7189 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
7190
7191 BLOCK_JOB_CANCELLED (Event)
7192 Emitted when a block job has been cancelled
7193
7194 Arguments
7195 type: JobType
7196 job type
7197
7198 device: string
7199 The job identifier. Originally the device name but other values
7200 are allowed since QEMU 2.7
7201
7202 len: int
7203 maximum progress value
7204
7205 offset: int
7206 current progress value. On success this is equal to len. On
7207 failure this is less than len
7208
7209 speed: int
7210 rate limit, bytes per second
7211
7212 Since
7213 1.1
7214
7215 Example
7216 <- { "event": "BLOCK_JOB_CANCELLED",
7217 "data": { "type": "stream", "device": "virtio-disk0",
7218 "len": 10737418240, "offset": 134217728,
7219 "speed": 0 },
7220 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
7221
7222 BLOCK_JOB_ERROR (Event)
7223 Emitted when a block job encounters an error
7224
7225 Arguments
7226 device: string
7227 The job identifier. Originally the device name but other values
7228 are allowed since QEMU 2.7
7229
7230 operation: IoOperationType
7231 I/O operation
7232
7233 action: BlockErrorAction
7234 action that has been taken
7235
7236 Since
7237 1.3
7238
7239 Example
7240 <- { "event": "BLOCK_JOB_ERROR",
7241 "data": { "device": "ide0-hd1",
7242 "operation": "write",
7243 "action": "stop" },
7244 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
7245
7246 BLOCK_JOB_READY (Event)
7247 Emitted when a block job is ready to complete
7248
7249 Arguments
7250 type: JobType
7251 job type
7252
7253 device: string
7254 The job identifier. Originally the device name but other values
7255 are allowed since QEMU 2.7
7256
7257 len: int
7258 maximum progress value
7259
7260 offset: int
7261 current progress value. On success this is equal to len. On
7262 failure this is less than len
7263
7264 speed: int
7265 rate limit, bytes per second
7266
7267 Note
7268 The "ready to complete" status is always reset by a BLOCK_JOB_ERROR
7269 event
7270
7271 Since
7272 1.3
7273
7274 Example
7275 <- { "event": "BLOCK_JOB_READY",
7276 "data": { "device": "drive0", "type": "mirror", "speed": 0,
7277 "len": 2097152, "offset": 2097152 }
7278 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
7279
7280 BLOCK_JOB_PENDING (Event)
7281 Emitted when a block job is awaiting explicit authorization to finalize
7282 graph changes via block-job-finalize. If this job is part of a transac‐
7283 tion, it will not emit this event until the transaction has converged
7284 first.
7285
7286 Arguments
7287 type: JobType
7288 job type
7289
7290 id: string
7291 The job identifier.
7292
7293 Since
7294 2.12
7295
7296 Example
7297 <- { "event": "BLOCK_JOB_WAITING",
7298 "data": { "device": "drive0", "type": "mirror" },
7299 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
7300
7301 PreallocMode (Enum)
7302 Preallocation mode of QEMU image file
7303
7304 Values
7305 off no preallocation
7306
7307 metadata
7308 preallocate only for metadata
7309
7310 falloc like full preallocation but allocate disk space by posix_fallo‐
7311 cate() rather than writing data.
7312
7313 full preallocate all data by writing it to the device to ensure disk
7314 space is really available. This data may or may not be zero, de‐
7315 pending on the image format and storage. full preallocation
7316 also sets up metadata correctly.
7317
7318 Since
7319 2.2
7320
7321 BLOCK_WRITE_THRESHOLD (Event)
7322 Emitted when writes on block device reaches or exceeds the configured
7323 write threshold. For thin-provisioned devices, this means the device
7324 should be extended to avoid pausing for disk exhaustion. The event is
7325 one shot. Once triggered, it needs to be re-registered with another
7326 block-set-write-threshold command.
7327
7328 Arguments
7329 node-name: string
7330 graph node name on which the threshold was exceeded.
7331
7332 amount-exceeded: int
7333 amount of data which exceeded the threshold, in bytes.
7334
7335 write-threshold: int
7336 last configured threshold, in bytes.
7337
7338 Since
7339 2.3
7340
7341 block-set-write-threshold (Command)
7342 Change the write threshold for a block drive. An event will be deliv‐
7343 ered if a write to this block drive crosses the configured threshold.
7344 The threshold is an offset, thus must be non-negative. Default is no
7345 write threshold. Setting the threshold to zero disables it.
7346
7347 This is useful to transparently resize thin-provisioned drives without
7348 the guest OS noticing.
7349
7350 Arguments
7351 node-name: string
7352 graph node name on which the threshold must be set.
7353
7354 write-threshold: int
7355 configured threshold for the block device, bytes. Use 0 to dis‐
7356 able the threshold.
7357
7358 Since
7359 2.3
7360
7361 Example
7362 -> { "execute": "block-set-write-threshold",
7363 "arguments": { "node-name": "mydev",
7364 "write-threshold": 17179869184 } }
7365 <- { "return": {} }
7366
7367 x-blockdev-change (Command)
7368 Dynamically reconfigure the block driver state graph. It can be used to
7369 add, remove, insert or replace a graph node. Currently only the Quorum
7370 driver implements this feature to add or remove its child. This is use‐
7371 ful to fix a broken quorum child.
7372
7373 If node is specified, it will be inserted under parent. child may not
7374 be specified in this case. If both parent and child are specified but
7375 node is not, child will be detached from parent.
7376
7377 Arguments
7378 parent: string
7379 the id or name of the parent node.
7380
7381 child: string (optional)
7382 the name of a child under the given parent node.
7383
7384 node: string (optional)
7385 the name of the node that will be added.
7386
7387 Features
7388 unstable
7389 This command is experimental, and its API is not stable. It
7390 does not support all kinds of operations, all kinds of children,
7391 nor all block drivers.
7392
7393 FIXME Removing children from a quorum node means introducing
7394 gaps in the child indices. This cannot be represented in the
7395 'children' list of BlockdevOptionsQuorum, as returned by
7396 .bdrv_refresh_filename().
7397
7398 Warning: The data in a new quorum child MUST be consistent with
7399 that of the rest of the array.
7400
7401 Since
7402 2.7
7403
7404 Example
7405 1. Add a new node to a quorum
7406 -> { "execute": "blockdev-add",
7407 "arguments": {
7408 "driver": "raw",
7409 "node-name": "new_node",
7410 "file": { "driver": "file",
7411 "filename": "test.raw" } } }
7412 <- { "return": {} }
7413 -> { "execute": "x-blockdev-change",
7414 "arguments": { "parent": "disk1",
7415 "node": "new_node" } }
7416 <- { "return": {} }
7417
7418 2. Delete a quorum's node
7419 -> { "execute": "x-blockdev-change",
7420 "arguments": { "parent": "disk1",
7421 "child": "children.1" } }
7422 <- { "return": {} }
7423
7424 x-blockdev-set-iothread (Command)
7425 Move node and its children into the iothread. If iothread is null then
7426 move node and its children into the main loop.
7427
7428 The node must not be attached to a BlockBackend.
7429
7430 Arguments
7431 node-name: string
7432 the name of the block driver node
7433
7434 iothread: StrOrNull
7435 the name of the IOThread object or null for the main loop
7436
7437 force: boolean (optional)
7438 true if the node and its children should be moved when a Block‐
7439 Backend is already attached
7440
7441 Features
7442 unstable
7443 This command is experimental and intended for test cases that
7444 need control over IOThreads only.
7445
7446 Since
7447 2.12
7448
7449 Example
7450 1. Move a node into an IOThread
7451 -> { "execute": "x-blockdev-set-iothread",
7452 "arguments": { "node-name": "disk1",
7453 "iothread": "iothread0" } }
7454 <- { "return": {} }
7455
7456 2. Move a node into the main loop
7457 -> { "execute": "x-blockdev-set-iothread",
7458 "arguments": { "node-name": "disk1",
7459 "iothread": null } }
7460 <- { "return": {} }
7461
7462 QuorumOpType (Enum)
7463 An enumeration of the quorum operation types
7464
7465 Values
7466 read read operation
7467
7468 write write operation
7469
7470 flush flush operation
7471
7472 Since
7473 2.6
7474
7475 QUORUM_FAILURE (Event)
7476 Emitted by the Quorum block driver if it fails to establish a quorum
7477
7478 Arguments
7479 reference: string
7480 device name if defined else node name
7481
7482 sector-num: int
7483 number of the first sector of the failed read operation
7484
7485 sectors-count: int
7486 failed read operation sector count
7487
7488 Note
7489 This event is rate-limited.
7490
7491 Since
7492 2.0
7493
7494 Example
7495 <- { "event": "QUORUM_FAILURE",
7496 "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
7497 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
7498
7499 QUORUM_REPORT_BAD (Event)
7500 Emitted to report a corruption of a Quorum file
7501
7502 Arguments
7503 type: QuorumOpType
7504 quorum operation type (Since 2.6)
7505
7506 error: string (optional)
7507 error message. Only present on failure. This field contains a
7508 human-readable error message. There are no semantics other than
7509 that the block layer reported an error and clients should not
7510 try to interpret the error string.
7511
7512 node-name: string
7513 the graph node name of the block driver state
7514
7515 sector-num: int
7516 number of the first sector of the failed read operation
7517
7518 sectors-count: int
7519 failed read operation sector count
7520
7521 Note
7522 This event is rate-limited.
7523
7524 Since
7525 2.0
7526
7527 Example
7528 1. Read operation
7529
7530 { "event": "QUORUM_REPORT_BAD",
7531 "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
7532 "type": "read" },
7533 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
7534
7535 2. Flush operation
7536
7537 { "event": "QUORUM_REPORT_BAD",
7538 "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
7539 "type": "flush", "error": "Broken pipe" },
7540 "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
7541
7542 BlockdevSnapshotInternal (Object)
7543 Members
7544 device: string
7545 the device name or node-name of a root node to generate the
7546 snapshot from
7547
7548 name: string
7549 the name of the internal snapshot to be created
7550
7551 Notes
7552 In transaction, if name is empty, or any snapshot matching name exists,
7553 the operation will fail. Only some image formats support it, for exam‐
7554 ple, qcow2, and rbd.
7555
7556 Since
7557 1.7
7558
7559 blockdev-snapshot-internal-sync (Command)
7560 Synchronously take an internal snapshot of a block device, when the
7561 format of the image used supports it. If the name is an empty string,
7562 or a snapshot with name already exists, the operation will fail.
7563
7564 For the arguments, see the documentation of BlockdevSnapshotInternal.
7565
7566 Returns
7567 • nothing on success
7568
7569 • If device is not a valid block device, GenericError
7570
7571 • If any snapshot matching name exists, or name is empty, GenericError
7572
7573 • If the format of the image used does not support it, BlockFormatFea‐
7574 tureNotSupported
7575
7576 Since
7577 1.7
7578
7579 Example
7580 -> { "execute": "blockdev-snapshot-internal-sync",
7581 "arguments": { "device": "ide-hd0",
7582 "name": "snapshot0" }
7583 }
7584 <- { "return": {} }
7585
7586 blockdev-snapshot-delete-internal-sync (Command)
7587 Synchronously delete an internal snapshot of a block device, when the
7588 format of the image used support it. The snapshot is identified by name
7589 or id or both. One of the name or id is required. Return SnapshotInfo
7590 for the successfully deleted snapshot.
7591
7592 Arguments
7593 device: string
7594 the device name or node-name of a root node to delete the snap‐
7595 shot from
7596
7597 id: string (optional)
7598 optional the snapshot's ID to be deleted
7599
7600 name: string (optional)
7601 optional the snapshot's name to be deleted
7602
7603 Returns
7604 • SnapshotInfo on success
7605
7606 • If device is not a valid block device, GenericError
7607
7608 • If snapshot not found, GenericError
7609
7610 • If the format of the image used does not support it, BlockFormatFea‐
7611 tureNotSupported
7612
7613 • If id and name are both not specified, GenericError
7614
7615 Since
7616 1.7
7617
7618 Example
7619 -> { "execute": "blockdev-snapshot-delete-internal-sync",
7620 "arguments": { "device": "ide-hd0",
7621 "name": "snapshot0" }
7622 }
7623 <- { "return": {
7624 "id": "1",
7625 "name": "snapshot0",
7626 "vm-state-size": 0,
7627 "date-sec": 1000012,
7628 "date-nsec": 10,
7629 "vm-clock-sec": 100,
7630 "vm-clock-nsec": 20,
7631 "icount": 220414
7632 }
7633 }
7634
7635 Block device exports
7636 NbdServerOptions (Object)
7637 Keep this type consistent with the nbd-server-start arguments. The only
7638 intended difference is using SocketAddress instead of SocketAddressLe‐
7639 gacy.
7640
7641 Members
7642 addr: SocketAddress
7643 Address on which to listen.
7644
7645 tls-creds: string (optional)
7646 ID of the TLS credentials object (since 2.6).
7647
7648 tls-authz: string (optional)
7649 ID of the QAuthZ authorization object used to validate the
7650 client's x509 distinguished name. This object is is only re‐
7651 solved at time of use, so can be deleted and recreated on the
7652 fly while the NBD server is active. If missing, it will default
7653 to denying access (since 4.0).
7654
7655 max-connections: int (optional)
7656 The maximum number of connections to allow at the same time, 0
7657 for unlimited. (since 5.2; default: 0)
7658
7659 Since
7660 4.2
7661
7662 nbd-server-start (Command)
7663 Start an NBD server listening on the given host and port. Block de‐
7664 vices can then be exported using nbd-server-add. The NBD server will
7665 present them as named exports; for example, another QEMU instance could
7666 refer to them as "nbd:HOST:PORT:exportname=NAME".
7667
7668 Keep this type consistent with the NbdServerOptions type. The only in‐
7669 tended difference is using SocketAddressLegacy instead of SocketAd‐
7670 dress.
7671
7672 Arguments
7673 addr: SocketAddressLegacy
7674 Address on which to listen.
7675
7676 tls-creds: string (optional)
7677 ID of the TLS credentials object (since 2.6).
7678
7679 tls-authz: string (optional)
7680 ID of the QAuthZ authorization object used to validate the
7681 client's x509 distinguished name. This object is is only re‐
7682 solved at time of use, so can be deleted and recreated on the
7683 fly while the NBD server is active. If missing, it will default
7684 to denying access (since 4.0).
7685
7686 max-connections: int (optional)
7687 The maximum number of connections to allow at the same time, 0
7688 for unlimited. (since 5.2; default: 0)
7689
7690 Returns
7691 error if the server is already running.
7692
7693 Since
7694 1.3
7695
7696 BlockExportOptionsNbdBase (Object)
7697 An NBD block export (common options shared between nbd-server-add and
7698 the NBD branch of block-export-add).
7699
7700 Members
7701 name: string (optional)
7702 Export name. If unspecified, the device parameter is used as the
7703 export name. (Since 2.12)
7704
7705 description: string (optional)
7706 Free-form description of the export, up to 4096 bytes. (Since
7707 5.0)
7708
7709 Since
7710 5.0
7711
7712 BlockExportOptionsNbd (Object)
7713 An NBD block export (distinct options used in the NBD branch of
7714 block-export-add).
7715
7716 Members
7717 bitmaps: array of string (optional)
7718 Also export each of the named dirty bitmaps reachable from de‐
7719 vice, so the NBD client can use NBD_OPT_SET_META_CONTEXT with
7720 the metadata context name "qemu:dirty-bitmap:BITMAP" to inspect
7721 each bitmap.
7722
7723 allocation-depth: boolean (optional)
7724 Also export the allocation depth map for device, so the NBD
7725 client can use NBD_OPT_SET_META_CONTEXT with the metadata con‐
7726 text name "qemu:allocation-depth" to inspect allocation details.
7727 (since 5.2)
7728
7729 The members of BlockExportOptionsNbdBase
7730
7731 Since
7732 5.2
7733
7734 BlockExportOptionsVhostUserBlk (Object)
7735 A vhost-user-blk block export.
7736
7737 Members
7738 addr: SocketAddress
7739 The vhost-user socket on which to listen. Both 'unix' and 'fd'
7740 SocketAddress types are supported. Passed fds must be UNIX do‐
7741 main sockets.
7742
7743 logical-block-size: int (optional)
7744 Logical block size in bytes. Defaults to 512 bytes.
7745
7746 num-queues: int (optional)
7747 Number of request virtqueues. Must be greater than 0. Defaults
7748 to 1.
7749
7750 Since
7751 5.2
7752
7753 FuseExportAllowOther (Enum)
7754 Possible allow_other modes for FUSE exports.
7755
7756 Values
7757 off Do not pass allow_other as a mount option.
7758
7759 on Pass allow_other as a mount option.
7760
7761 auto Try mounting with allow_other first, and if that fails, retry
7762 without allow_other.
7763
7764 Since
7765 6.1
7766
7767 BlockExportOptionsFuse (Object)
7768 Options for exporting a block graph node on some (file) mountpoint as a
7769 raw image.
7770
7771 Members
7772 mountpoint: string
7773 Path on which to export the block device via FUSE. This must
7774 point to an existing regular file.
7775
7776 growable: boolean (optional)
7777 Whether writes beyond the EOF should grow the block node accord‐
7778 ingly. (default: false)
7779
7780 allow-other: FuseExportAllowOther (optional)
7781 If this is off, only qemu's user is allowed access to this ex‐
7782 port. That cannot be changed even with chmod or chown. En‐
7783 abling this option will allow other users access to the export
7784 with the FUSE mount option "allow_other". Note that using al‐
7785 low_other as a non-root user requires user_allow_other to be en‐
7786 abled in the global fuse.conf configuration file. In auto mode
7787 (the default), the FUSE export driver will first attempt to
7788 mount the export with allow_other, and if that fails, try again
7789 without. (since 6.1; default: auto)
7790
7791 Since
7792 6.0
7793
7794 If
7795 CONFIG_FUSE
7796
7797 NbdServerAddOptions (Object)
7798 An NBD block export, per legacy nbd-server-add command.
7799
7800 Members
7801 device: string
7802 The device name or node name of the node to be exported
7803
7804 writable: boolean (optional)
7805 Whether clients should be able to write to the device via the
7806 NBD connection (default false).
7807
7808 bitmap: string (optional)
7809 Also export a single dirty bitmap reachable from device, so the
7810 NBD client can use NBD_OPT_SET_META_CONTEXT with the metadata
7811 context name "qemu:dirty-bitmap:BITMAP" to inspect the bitmap
7812 (since 4.0).
7813
7814 The members of BlockExportOptionsNbdBase
7815
7816 Since
7817 5.0
7818
7819 nbd-server-add (Command)
7820 Export a block node to QEMU's embedded NBD server.
7821
7822 The export name will be used as the id for the resulting block export.
7823
7824 Arguments
7825 The members of NbdServerAddOptions
7826
7827 Features
7828 deprecated
7829 This command is deprecated. Use block-export-add instead.
7830
7831 Returns
7832 error if the server is not running, or export with the same name al‐
7833 ready exists.
7834
7835 Since
7836 1.3
7837
7838 BlockExportRemoveMode (Enum)
7839 Mode for removing a block export.
7840
7841 Values
7842 safe Remove export if there are no existing connections, fail other‐
7843 wise.
7844
7845 hard Drop all connections immediately and remove export.
7846 Potential additional modes to be added in the future:
7847
7848 hide: Just hide export from new clients, leave existing connections as
7849 is. Remove export after all clients are disconnected.
7850
7851 soft: Hide export from new clients, answer with ESHUTDOWN for all fur‐
7852 ther requests from existing clients.
7853
7854 Since
7855 2.12
7856
7857 nbd-server-remove (Command)
7858 Remove NBD export by name.
7859
7860 Arguments
7861 name: string
7862 Block export id.
7863
7864 mode: BlockExportRemoveMode (optional)
7865 Mode of command operation. See BlockExportRemoveMode descrip‐
7866 tion. Default is 'safe'.
7867
7868 Features
7869 deprecated
7870 This command is deprecated. Use block-export-del instead.
7871
7872 Returns
7873 error if
7874
7875 • the server is not running
7876
7877 • export is not found
7878
7879 • mode is 'safe' and there are existing connections
7880
7881 Since
7882 2.12
7883
7884 nbd-server-stop (Command)
7885 Stop QEMU's embedded NBD server, and unregister all devices previously
7886 added via nbd-server-add.
7887
7888 Since
7889 1.3
7890
7891 BlockExportType (Enum)
7892 An enumeration of block export types
7893
7894 Values
7895 nbd NBD export
7896
7897 vhost-user-blk
7898 vhost-user-blk export (since 5.2)
7899
7900 fuse (If: CONFIG_FUSE)
7901 FUSE export (since: 6.0)
7902
7903 Since
7904 4.2
7905
7906 BlockExportOptions (Object)
7907 Describes a block export, i.e. how single node should be exported on an
7908 external interface.
7909
7910 Members
7911 id: string
7912 A unique identifier for the block export (across all export
7913 types)
7914
7915 node-name: string
7916 The node name of the block node to be exported (since: 5.2)
7917
7918 writable: boolean (optional)
7919 True if clients should be able to write to the export (default
7920 false)
7921
7922 writethrough: boolean (optional)
7923 If true, caches are flushed after every write request to the ex‐
7924 port before completion is signalled. (since: 5.2; default:
7925 false)
7926
7927 iothread: string (optional)
7928 The name of the iothread object where the export will run. The
7929 default is to use the thread currently associated with the block
7930 node. (since: 5.2)
7931
7932 fixed-iothread: boolean (optional)
7933 True prevents the block node from being moved to another thread
7934 while the export is active. If true and iothread is given, ex‐
7935 port creation fails if the block node cannot be moved to the io‐
7936 thread. The default is false. (since: 5.2)
7937
7938 type: BlockExportType
7939 Not documented
7940
7941 The members of BlockExportOptionsNbd when type is "nbd"
7942
7943 The members of BlockExportOptionsVhostUserBlk when type is
7944 "vhost-user-blk"
7945
7946 The members of BlockExportOptionsFuse when type is "fuse" (If: CON‐
7947 FIG_FUSE)
7948
7949 Since
7950 4.2
7951
7952 block-export-add (Command)
7953 Creates a new block export.
7954
7955 Arguments
7956 The members of BlockExportOptions
7957
7958 Since
7959 5.2
7960
7961 block-export-del (Command)
7962 Request to remove a block export. This drops the user's reference to
7963 the export, but the export may still stay around after this command re‐
7964 turns until the shutdown of the export has completed.
7965
7966 Arguments
7967 id: string
7968 Block export id.
7969
7970 mode: BlockExportRemoveMode (optional)
7971 Mode of command operation. See BlockExportRemoveMode descrip‐
7972 tion. Default is 'safe'.
7973
7974 Returns
7975 Error if the export is not found or mode is 'safe' and the export is
7976 still in use (e.g. by existing client connections)
7977
7978 Since
7979 5.2
7980
7981 BLOCK_EXPORT_DELETED (Event)
7982 Emitted when a block export is removed and its id can be reused.
7983
7984 Arguments
7985 id: string
7986 Block export id.
7987
7988 Since
7989 5.2
7990
7991 BlockExportInfo (Object)
7992 Information about a single block export.
7993
7994 Members
7995 id: string
7996 The unique identifier for the block export
7997
7998 type: BlockExportType
7999 The block export type
8000
8001 node-name: string
8002 The node name of the block node that is exported
8003
8004 shutting-down: boolean
8005 True if the export is shutting down (e.g. after a block-ex‐
8006 port-del command, but before the shutdown has completed)
8007
8008 Since
8009 5.2
8010
8011 query-block-exports (Command)
8012 Returns
8013 A list of BlockExportInfo describing all block exports
8014
8015 Since
8016 5.2
8017
8019 ChardevInfo (Object)
8020 Information about a character device.
8021
8022 Members
8023 label: string
8024 the label of the character device
8025
8026 filename: string
8027 the filename of the character device
8028
8029 frontend-open: boolean
8030 shows whether the frontend device attached to this backend (eg.
8031 with the chardev=... option) is in open or closed state (since
8032 2.1)
8033
8034 Notes
8035 filename is encoded using the QEMU command line character device encod‐
8036 ing. See the QEMU man page for details.
8037
8038 Since
8039 0.14
8040
8041 query-chardev (Command)
8042 Returns information about current character devices.
8043
8044 Returns
8045 a list of ChardevInfo
8046
8047 Since
8048 0.14
8049
8050 Example
8051 -> { "execute": "query-chardev" }
8052 <- {
8053 "return": [
8054 {
8055 "label": "charchannel0",
8056 "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.agent,server=on",
8057 "frontend-open": false
8058 },
8059 {
8060 "label": "charmonitor",
8061 "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.monitor,server=on",
8062 "frontend-open": true
8063 },
8064 {
8065 "label": "charserial0",
8066 "filename": "pty:/dev/pts/2",
8067 "frontend-open": true
8068 }
8069 ]
8070 }
8071
8072 ChardevBackendInfo (Object)
8073 Information about a character device backend
8074
8075 Members
8076 name: string
8077 The backend name
8078
8079 Since
8080 2.0
8081
8082 query-chardev-backends (Command)
8083 Returns information about character device backends.
8084
8085 Returns
8086 a list of ChardevBackendInfo
8087
8088 Since
8089 2.0
8090
8091 Example
8092 -> { "execute": "query-chardev-backends" }
8093 <- {
8094 "return":[
8095 {
8096 "name":"udp"
8097 },
8098 {
8099 "name":"tcp"
8100 },
8101 {
8102 "name":"unix"
8103 },
8104 {
8105 "name":"spiceport"
8106 }
8107 ]
8108 }
8109
8110 DataFormat (Enum)
8111 An enumeration of data format.
8112
8113 Values
8114 utf8 Data is a UTF-8 string (RFC 3629)
8115
8116 base64 Data is Base64 encoded binary (RFC 3548)
8117
8118 Since
8119 1.4
8120
8121 ringbuf-write (Command)
8122 Write to a ring buffer character device.
8123
8124 Arguments
8125 device: string
8126 the ring buffer character device name
8127
8128 data: string
8129 data to write
8130
8131 format: DataFormat (optional)
8132 data encoding (default 'utf8').
8133
8134 • base64: data must be base64 encoded text. Its binary decoding
8135 gets written.
8136
8137 • utf8: data's UTF-8 encoding is written
8138
8139 • data itself is always Unicode regardless of format, like any
8140 other string.
8141
8142 Returns
8143 Nothing on success
8144
8145 Since
8146 1.4
8147
8148 Example
8149 -> { "execute": "ringbuf-write",
8150 "arguments": { "device": "foo",
8151 "data": "abcdefgh",
8152 "format": "utf8" } }
8153 <- { "return": {} }
8154
8155 ringbuf-read (Command)
8156 Read from a ring buffer character device.
8157
8158 Arguments
8159 device: string
8160 the ring buffer character device name
8161
8162 size: int
8163 how many bytes to read at most
8164
8165 format: DataFormat (optional)
8166 data encoding (default 'utf8').
8167
8168 • base64: the data read is returned in base64 encoding.
8169
8170 • utf8: the data read is interpreted as UTF-8. Bug: can screw
8171 up when the buffer contains invalid UTF-8 sequences, NUL char‐
8172 acters, after the ring buffer lost data, and when reading
8173 stops because the size limit is reached.
8174
8175 • The return value is always Unicode regardless of format, like
8176 any other string.
8177
8178 Returns
8179 data read from the device
8180
8181 Since
8182 1.4
8183
8184 Example
8185 -> { "execute": "ringbuf-read",
8186 "arguments": { "device": "foo",
8187 "size": 1000,
8188 "format": "utf8" } }
8189 <- { "return": "abcdefgh" }
8190
8191 ChardevCommon (Object)
8192 Configuration shared across all chardev backends
8193
8194 Members
8195 logfile: string (optional)
8196 The name of a logfile to save output
8197
8198 logappend: boolean (optional)
8199 true to append instead of truncate (default to false to trun‐
8200 cate)
8201
8202 Since
8203 2.6
8204
8205 ChardevFile (Object)
8206 Configuration info for file chardevs.
8207
8208 Members
8209 in: string (optional)
8210 The name of the input file
8211
8212 out: string
8213 The name of the output file
8214
8215 append: boolean (optional)
8216 Open the file in append mode (default false to truncate) (Since
8217 2.6)
8218
8219 The members of ChardevCommon
8220
8221 Since
8222 1.4
8223
8224 ChardevHostdev (Object)
8225 Configuration info for device and pipe chardevs.
8226
8227 Members
8228 device: string
8229 The name of the special file for the device, i.e. /dev/ttyS0 on
8230 Unix or COM1: on Windows
8231
8232 The members of ChardevCommon
8233
8234 Since
8235 1.4
8236
8237 ChardevSocket (Object)
8238 Configuration info for (stream) socket chardevs.
8239
8240 Members
8241 addr: SocketAddressLegacy
8242 socket address to listen on (server=true) or connect to
8243 (server=false)
8244
8245 tls-creds: string (optional)
8246 the ID of the TLS credentials object (since 2.6)
8247
8248 tls-authz: string (optional)
8249 the ID of the QAuthZ authorization object against which the
8250 client's x509 distinguished name will be validated. This object
8251 is only resolved at time of use, so can be deleted and recreated
8252 on the fly while the chardev server is active. If missing, it
8253 will default to denying access (since 4.0)
8254
8255 server: boolean (optional)
8256 create server socket (default: true)
8257
8258 wait: boolean (optional)
8259 wait for incoming connection on server sockets (default: false).
8260 Silently ignored with server: false. This use is deprecated.
8261
8262 nodelay: boolean (optional)
8263 set TCP_NODELAY socket option (default: false)
8264
8265 telnet: boolean (optional)
8266 enable telnet protocol on server sockets (default: false)
8267
8268 tn3270: boolean (optional)
8269 enable tn3270 protocol on server sockets (default: false)
8270 (Since: 2.10)
8271
8272 websocket: boolean (optional)
8273 enable websocket protocol on server sockets (default: false)
8274 (Since: 3.1)
8275
8276 reconnect: int (optional)
8277 For a client socket, if a socket is disconnected, then attempt a
8278 reconnect after the given number of seconds. Setting this to
8279 zero disables this function. (default: 0) (Since: 2.2)
8280
8281 The members of ChardevCommon
8282
8283 Since
8284 1.4
8285
8286 ChardevUdp (Object)
8287 Configuration info for datagram socket chardevs.
8288
8289 Members
8290 remote: SocketAddressLegacy
8291 remote address
8292
8293 local: SocketAddressLegacy (optional)
8294 local address
8295
8296 The members of ChardevCommon
8297
8298 Since
8299 1.5
8300
8301 ChardevMux (Object)
8302 Configuration info for mux chardevs.
8303
8304 Members
8305 chardev: string
8306 name of the base chardev.
8307
8308 The members of ChardevCommon
8309
8310 Since
8311 1.5
8312
8313 ChardevStdio (Object)
8314 Configuration info for stdio chardevs.
8315
8316 Members
8317 signal: boolean (optional)
8318 Allow signals (such as SIGINT triggered by ^C) be delivered to
8319 qemu. Default: true.
8320
8321 The members of ChardevCommon
8322
8323 Since
8324 1.5
8325
8326 ChardevSpiceChannel (Object)
8327 Configuration info for spice vm channel chardevs.
8328
8329 Members
8330 type: string
8331 kind of channel (for example vdagent).
8332
8333 The members of ChardevCommon
8334
8335 Since
8336 1.5
8337
8338 If
8339 CONFIG_SPICE
8340
8341 ChardevSpicePort (Object)
8342 Configuration info for spice port chardevs.
8343
8344 Members
8345 fqdn: string
8346 name of the channel (see docs/spice-port-fqdn.txt)
8347
8348 The members of ChardevCommon
8349
8350 Since
8351 1.5
8352
8353 If
8354 CONFIG_SPICE
8355
8356 ChardevVC (Object)
8357 Configuration info for virtual console chardevs.
8358
8359 Members
8360 width: int (optional)
8361 console width, in pixels
8362
8363 height: int (optional)
8364 console height, in pixels
8365
8366 cols: int (optional)
8367 console width, in chars
8368
8369 rows: int (optional)
8370 console height, in chars
8371
8372 The members of ChardevCommon
8373
8374 Since
8375 1.5
8376
8377 ChardevRingbuf (Object)
8378 Configuration info for ring buffer chardevs.
8379
8380 Members
8381 size: int (optional)
8382 ring buffer size, must be power of two, default is 65536
8383
8384 The members of ChardevCommon
8385
8386 Since
8387 1.5
8388
8389 ChardevQemuVDAgent (Object)
8390 Configuration info for qemu vdagent implementation.
8391
8392 Members
8393 mouse: boolean (optional)
8394 enable/disable mouse, default is enabled.
8395
8396 clipboard: boolean (optional)
8397 enable/disable clipboard, default is disabled.
8398
8399 The members of ChardevCommon
8400
8401 Since
8402 6.1
8403
8404 If
8405 CONFIG_SPICE_PROTOCOL
8406
8407 ChardevBackendKind (Enum)
8408 Values
8409 pipe Since 1.5
8410
8411 udp Since 1.5
8412
8413 mux Since 1.5
8414
8415 msmouse
8416 Since 1.5
8417
8418 wctablet
8419 Since 2.9
8420
8421 braille
8422 Since 1.5
8423
8424 testdev
8425 Since 2.2
8426
8427 stdio Since 1.5
8428
8429 console
8430 Since 1.5
8431
8432 spicevmc (If: CONFIG_SPICE)
8433 Since 1.5
8434
8435 spiceport (If: CONFIG_SPICE)
8436 Since 1.5
8437
8438 qemu-vdagent (If: CONFIG_SPICE_PROTOCOL)
8439 Since 6.1
8440
8441 vc v1.5
8442
8443 ringbuf
8444 Since 1.6
8445
8446 memory Since 1.5
8447
8448 file Not documented
8449
8450 serial Not documented
8451
8452 parallel
8453 Not documented
8454
8455 socket Not documented
8456
8457 pty Not documented
8458
8459 null Not documented
8460
8461 Since
8462 1.4
8463
8464 ChardevFileWrapper (Object)
8465 Members
8466 data: ChardevFile
8467 Not documented
8468
8469 Since
8470 1.4
8471
8472 ChardevHostdevWrapper (Object)
8473 Members
8474 data: ChardevHostdev
8475 Not documented
8476
8477 Since
8478 1.4
8479
8480 ChardevSocketWrapper (Object)
8481 Members
8482 data: ChardevSocket
8483 Not documented
8484
8485 Since
8486 1.4
8487
8488 ChardevUdpWrapper (Object)
8489 Members
8490 data: ChardevUdp
8491 Not documented
8492
8493 Since
8494 1.5
8495
8496 ChardevCommonWrapper (Object)
8497 Members
8498 data: ChardevCommon
8499 Not documented
8500
8501 Since
8502 2.6
8503
8504 ChardevMuxWrapper (Object)
8505 Members
8506 data: ChardevMux
8507 Not documented
8508
8509 Since
8510 1.5
8511
8512 ChardevStdioWrapper (Object)
8513 Members
8514 data: ChardevStdio
8515 Not documented
8516
8517 Since
8518 1.5
8519
8520 ChardevSpiceChannelWrapper (Object)
8521 Members
8522 data: ChardevSpiceChannel
8523 Not documented
8524
8525 Since
8526 1.5
8527
8528 If
8529 CONFIG_SPICE
8530
8531 ChardevSpicePortWrapper (Object)
8532 Members
8533 data: ChardevSpicePort
8534 Not documented
8535
8536 Since
8537 1.5
8538
8539 If
8540 CONFIG_SPICE
8541
8542 ChardevQemuVDAgentWrapper (Object)
8543 Members
8544 data: ChardevQemuVDAgent
8545 Not documented
8546
8547 Since
8548 6.1
8549
8550 If
8551 CONFIG_SPICE_PROTOCOL
8552
8553 ChardevVCWrapper (Object)
8554 Members
8555 data: ChardevVC
8556 Not documented
8557
8558 Since
8559 1.5
8560
8561 ChardevRingbufWrapper (Object)
8562 Members
8563 data: ChardevRingbuf
8564 Not documented
8565
8566 Since
8567 1.5
8568
8569 ChardevBackend (Object)
8570 Configuration info for the new chardev backend.
8571
8572 Members
8573 type: ChardevBackendKind
8574 Not documented
8575
8576 The members of ChardevFileWrapper when type is "file"
8577
8578 The members of ChardevHostdevWrapper when type is "serial"
8579
8580 The members of ChardevHostdevWrapper when type is "parallel"
8581
8582 The members of ChardevHostdevWrapper when type is "pipe"
8583
8584 The members of ChardevSocketWrapper when type is "socket"
8585
8586 The members of ChardevUdpWrapper when type is "udp"
8587
8588 The members of ChardevCommonWrapper when type is "pty"
8589
8590 The members of ChardevCommonWrapper when type is "null"
8591
8592 The members of ChardevMuxWrapper when type is "mux"
8593
8594 The members of ChardevCommonWrapper when type is "msmouse"
8595
8596 The members of ChardevCommonWrapper when type is "wctablet"
8597
8598 The members of ChardevCommonWrapper when type is "braille"
8599
8600 The members of ChardevCommonWrapper when type is "testdev"
8601
8602 The members of ChardevStdioWrapper when type is "stdio"
8603
8604 The members of ChardevCommonWrapper when type is "console"
8605
8606 The members of ChardevSpiceChannelWrapper when type is "spicevmc" (If:
8607 CONFIG_SPICE)
8608
8609 The members of ChardevSpicePortWrapper when type is "spiceport" (If:
8610 CONFIG_SPICE)
8611
8612 The members of ChardevQemuVDAgentWrapper when type is "qemu-vdagent"
8613 (If: CONFIG_SPICE_PROTOCOL)
8614
8615 The members of ChardevVCWrapper when type is "vc"
8616
8617 The members of ChardevRingbufWrapper when type is "ringbuf"
8618
8619 The members of ChardevRingbufWrapper when type is "memory"
8620
8621 Since
8622 1.4
8623
8624 ChardevReturn (Object)
8625 Return info about the chardev backend just created.
8626
8627 Members
8628 pty: string (optional)
8629 name of the slave pseudoterminal device, present if and only if
8630 a chardev of type 'pty' was created
8631
8632 Since
8633 1.4
8634
8635 chardev-add (Command)
8636 Add a character device backend
8637
8638 Arguments
8639 id: string
8640 the chardev's ID, must be unique
8641
8642 backend: ChardevBackend
8643 backend type and parameters
8644
8645 Returns
8646 ChardevReturn.
8647
8648 Since
8649 1.4
8650
8651 Example
8652 -> { "execute" : "chardev-add",
8653 "arguments" : { "id" : "foo",
8654 "backend" : { "type" : "null", "data" : {} } } }
8655 <- { "return": {} }
8656
8657 -> { "execute" : "chardev-add",
8658 "arguments" : { "id" : "bar",
8659 "backend" : { "type" : "file",
8660 "data" : { "out" : "/tmp/bar.log" } } } }
8661 <- { "return": {} }
8662
8663 -> { "execute" : "chardev-add",
8664 "arguments" : { "id" : "baz",
8665 "backend" : { "type" : "pty", "data" : {} } } }
8666 <- { "return": { "pty" : "/dev/pty/42" } }
8667
8668 chardev-change (Command)
8669 Change a character device backend
8670
8671 Arguments
8672 id: string
8673 the chardev's ID, must exist
8674
8675 backend: ChardevBackend
8676 new backend type and parameters
8677
8678 Returns
8679 ChardevReturn.
8680
8681 Since
8682 2.10
8683
8684 Example
8685 -> { "execute" : "chardev-change",
8686 "arguments" : { "id" : "baz",
8687 "backend" : { "type" : "pty", "data" : {} } } }
8688 <- { "return": { "pty" : "/dev/pty/42" } }
8689
8690 -> {"execute" : "chardev-change",
8691 "arguments" : {
8692 "id" : "charchannel2",
8693 "backend" : {
8694 "type" : "socket",
8695 "data" : {
8696 "addr" : {
8697 "type" : "unix" ,
8698 "data" : {
8699 "path" : "/tmp/charchannel2.socket"
8700 }
8701 },
8702 "server" : true,
8703 "wait" : false }}}}
8704 <- {"return": {}}
8705
8706 chardev-remove (Command)
8707 Remove a character device backend
8708
8709 Arguments
8710 id: string
8711 the chardev's ID, must exist and not be in use
8712
8713 Returns
8714 Nothing on success
8715
8716 Since
8717 1.4
8718
8719 Example
8720 -> { "execute": "chardev-remove", "arguments": { "id" : "foo" } }
8721 <- { "return": {} }
8722
8723 chardev-send-break (Command)
8724 Send a break to a character device
8725
8726 Arguments
8727 id: string
8728 the chardev's ID, must exist
8729
8730 Returns
8731 Nothing on success
8732
8733 Since
8734 2.10
8735
8736 Example
8737 -> { "execute": "chardev-send-break", "arguments": { "id" : "foo" } }
8738 <- { "return": {} }
8739
8740 VSERPORT_CHANGE (Event)
8741 Emitted when the guest opens or closes a virtio-serial port.
8742
8743 Arguments
8744 id: string
8745 device identifier of the virtio-serial port
8746
8747 open: boolean
8748 true if the guest has opened the virtio-serial port
8749
8750 Note
8751 This event is rate-limited.
8752
8753 Since
8754 2.1
8755
8756 Example
8757 <- { "event": "VSERPORT_CHANGE",
8758 "data": { "id": "channel0", "open": true },
8759 "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
8760
8762 qmp_capabilities (Command)
8763 Enable QMP capabilities.
8764
8765 Arguments:
8766
8767 Arguments
8768 enable: array of QMPCapability (optional)
8769 An optional list of QMPCapability values to enable. The client
8770 must not enable any capability that is not mentioned in the QMP
8771 greeting message. If the field is not provided, it means no QMP
8772 capabilities will be enabled. (since 2.12)
8773
8774 Example
8775 -> { "execute": "qmp_capabilities",
8776 "arguments": { "enable": [ "oob" ] } }
8777 <- { "return": {} }
8778
8779 Notes
8780 This command is valid exactly when first connecting: it must be issued
8781 before any other command will be accepted, and will fail once the moni‐
8782 tor is accepting other commands. (see qemu docs/interop/qmp-spec.txt)
8783
8784 The QMP client needs to explicitly enable QMP capabilities, otherwise
8785 all the QMP capabilities will be turned off by default.
8786
8787 Since
8788 0.13
8789
8790 QMPCapability (Enum)
8791 Enumeration of capabilities to be advertised during initial client con‐
8792 nection, used for agreeing on particular QMP extension behaviors.
8793
8794 Values
8795 oob QMP ability to support out-of-band requests. (Please refer to
8796 qmp-spec.txt for more information on OOB)
8797
8798 Since
8799 2.12
8800
8801 VersionTriple (Object)
8802 A three-part version number.
8803
8804 Members
8805 major: int
8806 The major version number.
8807
8808 minor: int
8809 The minor version number.
8810
8811 micro: int
8812 The micro version number.
8813
8814 Since
8815 2.4
8816
8817 VersionInfo (Object)
8818 A description of QEMU's version.
8819
8820 Members
8821 qemu: VersionTriple
8822 The version of QEMU. By current convention, a micro version of
8823 50 signifies a development branch. A micro version greater than
8824 or equal to 90 signifies a release candidate for the next minor
8825 version. A micro version of less than 50 signifies a stable re‐
8826 lease.
8827
8828 package: string
8829 QEMU will always set this field to an empty string. Downstream
8830 versions of QEMU should set this to a non-empty string. The ex‐
8831 act format depends on the downstream however it highly recom‐
8832 mended that a unique name is used.
8833
8834 Since
8835 0.14
8836
8837 query-version (Command)
8838 Returns the current version of QEMU.
8839
8840 Returns
8841 A VersionInfo object describing the current version of QEMU.
8842
8843 Since
8844 0.14
8845
8846 Example
8847 -> { "execute": "query-version" }
8848 <- {
8849 "return":{
8850 "qemu":{
8851 "major":0,
8852 "minor":11,
8853 "micro":5
8854 },
8855 "package":""
8856 }
8857 }
8858
8859 CommandInfo (Object)
8860 Information about a QMP command
8861
8862 Members
8863 name: string
8864 The command name
8865
8866 Since
8867 0.14
8868
8869 query-commands (Command)
8870 Return a list of supported QMP commands by this server
8871
8872 Returns
8873 A list of CommandInfo for all supported commands
8874
8875 Since
8876 0.14
8877
8878 Example
8879 -> { "execute": "query-commands" }
8880 <- {
8881 "return":[
8882 {
8883 "name":"query-balloon"
8884 },
8885 {
8886 "name":"system_powerdown"
8887 }
8888 ]
8889 }
8890
8891 Note
8892 This example has been shortened as the real response is too long.
8893
8894 quit (Command)
8895 This command will cause the QEMU process to exit gracefully. While ev‐
8896 ery attempt is made to send the QMP response before terminating, this
8897 is not guaranteed. When using this interface, a premature EOF would
8898 not be unexpected.
8899
8900 Since
8901 0.14
8902
8903 Example
8904 -> { "execute": "quit" }
8905 <- { "return": {} }
8906
8907 MonitorMode (Enum)
8908 An enumeration of monitor modes.
8909
8910 Values
8911 readline
8912 HMP monitor (human-oriented command line interface)
8913
8914 control
8915 QMP monitor (JSON-based machine interface)
8916
8917 Since
8918 5.0
8919
8920 MonitorOptions (Object)
8921 Options to be used for adding a new monitor.
8922
8923 Members
8924 id: string (optional)
8925 Name of the monitor
8926
8927 mode: MonitorMode (optional)
8928 Selects the monitor mode (default: readline in the system emula‐
8929 tor, control in qemu-storage-daemon)
8930
8931 pretty: boolean (optional)
8932 Enables pretty printing (QMP only)
8933
8934 chardev: string
8935 Name of a character device to expose the monitor on
8936
8937 Since
8938 5.0
8939
8941 query-qmp-schema (Command)
8942 Command query-qmp-schema exposes the QMP wire ABI as an array of
8943 SchemaInfo. This lets QMP clients figure out what commands and events
8944 are available in this QEMU, and their parameters and results.
8945
8946 However, the SchemaInfo can't reflect all the rules and restrictions
8947 that apply to QMP. It's interface introspection (figuring out what's
8948 there), not interface specification. The specification is in the QAPI
8949 schema.
8950
8951 Furthermore, while we strive to keep the QMP wire format backwards-com‐
8952 patible across qemu versions, the introspection output is not guaran‐
8953 teed to have the same stability. For example, one version of qemu may
8954 list an object member as an optional non-variant, while another lists
8955 the same member only through the object's variants; or the type of a
8956 member may change from a generic string into a specific enum or from
8957 one specific type into an alternate that includes the original type
8958 alongside something else.
8959
8960 Returns
8961 array of SchemaInfo, where each element describes an entity in the ABI:
8962 command, event, type, ...
8963
8964 The order of the various SchemaInfo is unspecified; however, all names
8965 are guaranteed to be unique (no name will be duplicated with different
8966 meta-types).
8967
8968 Note
8969 the QAPI schema is also used to help define internal interfaces, by
8970 defining QAPI types. These are not part of the QMP wire ABI, and
8971 therefore not returned by this command.
8972
8973 Since
8974 2.5
8975
8976 SchemaMetaType (Enum)
8977 This is a SchemaInfo's meta type, i.e. the kind of entity it describes.
8978
8979 Values
8980 builtin
8981 a predefined type such as 'int' or 'bool'.
8982
8983 enum an enumeration type
8984
8985 array an array type
8986
8987 object an object type (struct or union)
8988
8989 alternate
8990 an alternate type
8991
8992 command
8993 a QMP command
8994
8995 event a QMP event
8996
8997 Since
8998 2.5
8999
9000 SchemaInfo (Object)
9001 Members
9002 name: string
9003 the entity's name, inherited from base. The SchemaInfo is al‐
9004 ways referenced by this name. Commands and events have the name
9005 defined in the QAPI schema. Unlike command and event names,
9006 type names are not part of the wire ABI. Consequently, type
9007 names are meaningless strings here, although they are still
9008 guaranteed unique regardless of meta-type.
9009
9010 meta-type: SchemaMetaType
9011 the entity's meta type, inherited from base.
9012
9013 features: array of string (optional)
9014 names of features associated with the entity, in no particular
9015 order. (since 4.1 for object types, 4.2 for commands, 5.0 for
9016 the rest)
9017
9018 The members of SchemaInfoBuiltin when meta-type is "builtin"
9019
9020 The members of SchemaInfoEnum when meta-type is "enum"
9021
9022 The members of SchemaInfoArray when meta-type is "array"
9023
9024 The members of SchemaInfoObject when meta-type is "object"
9025
9026 The members of SchemaInfoAlternate when meta-type is "alternate"
9027
9028 The members of SchemaInfoCommand when meta-type is "command"
9029
9030 The members of SchemaInfoEvent when meta-type is "event"
9031 Additional members depend on the value of meta-type.
9032
9033 Since
9034 2.5
9035
9036 SchemaInfoBuiltin (Object)
9037 Additional SchemaInfo members for meta-type 'builtin'.
9038
9039 Members
9040 json-type: JSONType
9041 the JSON type used for this type on the wire.
9042
9043 Since
9044 2.5
9045
9046 JSONType (Enum)
9047 The four primitive and two structured types according to RFC 8259 sec‐
9048 tion 1, plus 'int' (split off 'number'), plus the obvious top type
9049 'value'.
9050
9051 Values
9052 string Not documented
9053
9054 number Not documented
9055
9056 int Not documented
9057
9058 boolean
9059 Not documented
9060
9061 null Not documented
9062
9063 object Not documented
9064
9065 array Not documented
9066
9067 value Not documented
9068
9069 Since
9070 2.5
9071
9072 SchemaInfoEnum (Object)
9073 Additional SchemaInfo members for meta-type 'enum'.
9074
9075 Members
9076 members: array of SchemaInfoEnumMember
9077 the enum type's members, in no particular order (since 6.2).
9078
9079 values: array of string
9080 the enumeration type's member names, in no particular order.
9081 Redundant with members. Just for backward compatibility.
9082
9083 Features
9084 deprecated
9085 Member values is deprecated. Use members instead.
9086 Values of this type are JSON string on the wire.
9087
9088 Since
9089 2.5
9090
9091 SchemaInfoEnumMember (Object)
9092 An object member.
9093
9094 Members
9095 name: string
9096 the member's name, as defined in the QAPI schema.
9097
9098 features: array of string (optional)
9099 names of features associated with the member, in no particular
9100 order.
9101
9102 Since
9103 6.2
9104
9105 SchemaInfoArray (Object)
9106 Additional SchemaInfo members for meta-type 'array'.
9107
9108 Members
9109 element-type: string
9110 the array type's element type.
9111 Values of this type are JSON array on the wire.
9112
9113 Since
9114 2.5
9115
9116 SchemaInfoObject (Object)
9117 Additional SchemaInfo members for meta-type 'object'.
9118
9119 Members
9120 members: array of SchemaInfoObjectMember
9121 the object type's (non-variant) members, in no particular order.
9122
9123 tag: string (optional)
9124 the name of the member serving as type tag. An element of mem‐
9125 bers with this name must exist.
9126
9127 variants: array of SchemaInfoObjectVariant (optional)
9128 variant members, i.e. additional members that depend on the type
9129 tag's value. Present exactly when tag is present. The variants
9130 are in no particular order, and may even differ from the order
9131 of the values of the enum type of the tag.
9132 Values of this type are JSON object on the wire.
9133
9134 Since
9135 2.5
9136
9137 SchemaInfoObjectMember (Object)
9138 An object member.
9139
9140 Members
9141 name: string
9142 the member's name, as defined in the QAPI schema.
9143
9144 type: string
9145 the name of the member's type.
9146
9147 default: value (optional)
9148 default when used as command parameter. If absent, the parame‐
9149 ter is mandatory. If present, the value must be null. The pa‐
9150 rameter is optional, and behavior when it's missing is not spec‐
9151 ified here. Future extension: if present and non-null, the pa‐
9152 rameter is optional, and defaults to this value.
9153
9154 features: array of string (optional)
9155 names of features associated with the member, in no particular
9156 order. (since 5.0)
9157
9158 Since
9159 2.5
9160
9161 SchemaInfoObjectVariant (Object)
9162 The variant members for a value of the type tag.
9163
9164 Members
9165 case: string
9166 a value of the type tag.
9167
9168 type: string
9169 the name of the object type that provides the variant members
9170 when the type tag has value case.
9171
9172 Since
9173 2.5
9174
9175 SchemaInfoAlternate (Object)
9176 Additional SchemaInfo members for meta-type 'alternate'.
9177
9178 Members
9179 members: array of SchemaInfoAlternateMember
9180 the alternate type's members, in no particular order. The mem‐
9181 bers' wire encoding is distinct, see docs/de‐
9182 vel/qapi-code-gen.txt section Alternate types.
9183 On the wire, this can be any of the members.
9184
9185 Since
9186 2.5
9187
9188 SchemaInfoAlternateMember (Object)
9189 An alternate member.
9190
9191 Members
9192 type: string
9193 the name of the member's type.
9194
9195 Since
9196 2.5
9197
9198 SchemaInfoCommand (Object)
9199 Additional SchemaInfo members for meta-type 'command'.
9200
9201 Members
9202 arg-type: string
9203 the name of the object type that provides the command's parame‐
9204 ters.
9205
9206 ret-type: string
9207 the name of the command's result type.
9208
9209 allow-oob: boolean (optional)
9210 whether the command allows out-of-band execution, defaults to
9211 false (Since: 2.12)
9212
9213 TODO
9214 success-response (currently irrelevant, because it's QGA, not QMP)
9215
9216 Since
9217 2.5
9218
9219 SchemaInfoEvent (Object)
9220 Additional SchemaInfo members for meta-type 'event'.
9221
9222 Members
9223 arg-type: string
9224 the name of the object type that provides the event's parame‐
9225 ters.
9226
9227 Since
9228 2.5
9229
9231 QAuthZListPolicy (Enum)
9232 The authorization policy result
9233
9234 Values
9235 deny deny access
9236
9237 allow allow access
9238
9239 Since
9240 4.0
9241
9242 QAuthZListFormat (Enum)
9243 The authorization policy match format
9244
9245 Values
9246 exact an exact string match
9247
9248 glob string with ? and * shell wildcard support
9249
9250 Since
9251 4.0
9252
9253 QAuthZListRule (Object)
9254 A single authorization rule.
9255
9256 Members
9257 match: string
9258 a string or glob to match against a user identity
9259
9260 policy: QAuthZListPolicy
9261 the result to return if match evaluates to true
9262
9263 format: QAuthZListFormat (optional)
9264 the format of the match rule (default 'exact')
9265
9266 Since
9267 4.0
9268
9269 AuthZListProperties (Object)
9270 Properties for authz-list objects.
9271
9272 Members
9273 policy: QAuthZListPolicy (optional)
9274 Default policy to apply when no rule matches (default: deny)
9275
9276 rules: array of QAuthZListRule (optional)
9277 Authorization rules based on matching user
9278
9279 Since
9280 4.0
9281
9282 AuthZListFileProperties (Object)
9283 Properties for authz-listfile objects.
9284
9285 Members
9286 filename: string
9287 File name to load the configuration from. The file must contain
9288 valid JSON for AuthZListProperties.
9289
9290 refresh: boolean (optional)
9291 If true, inotify is used to monitor the file, automatically
9292 reloading changes. If an error occurs during reloading, all au‐
9293 thorizations will fail until the file is next successfully
9294 loaded. (default: true if the binary was built with CONFIG_INO‐
9295 TIFY1, false otherwise)
9296
9297 Since
9298 4.0
9299
9300 AuthZPAMProperties (Object)
9301 Properties for authz-pam objects.
9302
9303 Members
9304 service: string
9305 PAM service name to use for authorization
9306
9307 Since
9308 4.0
9309
9310 AuthZSimpleProperties (Object)
9311 Properties for authz-simple objects.
9312
9313 Members
9314 identity: string
9315 Identifies the allowed user. Its format depends on the network
9316 service that authorization object is associated with. For autho‐
9317 rizing based on TLS x509 certificates, the identity must be the
9318 x509 distinguished name.
9319
9320 Since
9321 4.0
9322
9324 ObjectPropertyInfo (Object)
9325 Members
9326 name: string
9327 the name of the property
9328
9329 type: string
9330 the type of the property. This will typically come in one of
9331 four forms:
9332
9333 1. A primitive type such as 'u8', 'u16', 'bool', 'str', or 'dou‐
9334 ble'. These types are mapped to the appropriate JSON type.
9335
9336 2. A child type in the form 'child<subtype>' where subtype is a
9337 qdev device type name. Child properties create the composi‐
9338 tion tree.
9339
9340 3. A link type in the form 'link<subtype>' where subtype is a
9341 qdev device type name. Link properties form the device model
9342 graph.
9343
9344 description: string (optional)
9345 if specified, the description of the property.
9346
9347 default-value: value (optional)
9348 the default value, if any (since 5.0)
9349
9350 Since
9351 1.2
9352
9353 qom-list (Command)
9354 This command will list any properties of a object given a path in the
9355 object model.
9356
9357 Arguments
9358 path: string
9359 the path within the object model. See qom-get for a description
9360 of this parameter.
9361
9362 Returns
9363 a list of ObjectPropertyInfo that describe the properties of the ob‐
9364 ject.
9365
9366 Since
9367 1.2
9368
9369 Example
9370 -> { "execute": "qom-list",
9371 "arguments": { "path": "/chardevs" } }
9372 <- { "return": [ { "name": "type", "type": "string" },
9373 { "name": "parallel0", "type": "child<chardev-vc>" },
9374 { "name": "serial0", "type": "child<chardev-vc>" },
9375 { "name": "mon0", "type": "child<chardev-stdio>" } ] }
9376
9377 qom-get (Command)
9378 This command will get a property from a object model path and return
9379 the value.
9380
9381 Arguments
9382 path: string
9383 The path within the object model. There are two forms of sup‐
9384 ported paths--absolute and partial paths.
9385
9386 Absolute paths are derived from the root object and can follow
9387 child<> or link<> properties. Since they can follow link<>
9388 properties, they can be arbitrarily long. Absolute paths look
9389 like absolute filenames and are prefixed with a leading slash.
9390
9391 Partial paths look like relative filenames. They do not begin
9392 with a prefix. The matching rules for partial paths are subtle
9393 but designed to make specifying objects easy. At each level of
9394 the composition tree, the partial path is matched as an absolute
9395 path. The first match is not returned. At least two matches
9396 are searched for. A successful result is only returned if only
9397 one match is found. If more than one match is found, a flag is
9398 return to indicate that the match was ambiguous.
9399
9400 property: string
9401 The property name to read
9402
9403 Returns
9404 The property value. The type depends on the property type. child<> and
9405 link<> properties are returned as #str pathnames. All integer property
9406 types (u8, u16, etc) are returned as #int.
9407
9408 Since
9409 1.2
9410
9411 Example
9412 1. Use absolute path
9413
9414 -> { "execute": "qom-get",
9415 "arguments": { "path": "/machine/unattached/device[0]",
9416 "property": "hotplugged" } }
9417 <- { "return": false }
9418
9419 2. Use partial path
9420
9421 -> { "execute": "qom-get",
9422 "arguments": { "path": "unattached/sysbus",
9423 "property": "type" } }
9424 <- { "return": "System" }
9425
9426 qom-set (Command)
9427 This command will set a property from a object model path.
9428
9429 Arguments
9430 path: string
9431 see qom-get for a description of this parameter
9432
9433 property: string
9434 the property name to set
9435
9436 value: value
9437 a value who's type is appropriate for the property type. See
9438 qom-get for a description of type mapping.
9439
9440 Since
9441 1.2
9442
9443 Example
9444 -> { "execute": "qom-set",
9445 "arguments": { "path": "/machine",
9446 "property": "graphics",
9447 "value": false } }
9448 <- { "return": {} }
9449
9450 ObjectTypeInfo (Object)
9451 This structure describes a search result from qom-list-types
9452
9453 Members
9454 name: string
9455 the type name found in the search
9456
9457 abstract: boolean (optional)
9458 the type is abstract and can't be directly instantiated. Omit‐
9459 ted if false. (since 2.10)
9460
9461 parent: string (optional)
9462 Name of parent type, if any (since 2.10)
9463
9464 Since
9465 1.1
9466
9467 qom-list-types (Command)
9468 This command will return a list of types given search parameters
9469
9470 Arguments
9471 implements: string (optional)
9472 if specified, only return types that implement this type name
9473
9474 abstract: boolean (optional)
9475 if true, include abstract types in the results
9476
9477 Returns
9478 a list of ObjectTypeInfo or an empty list if no results are found
9479
9480 Since
9481 1.1
9482
9483 qom-list-properties (Command)
9484 List properties associated with a QOM object.
9485
9486 Arguments
9487 typename: string
9488 the type name of an object
9489
9490 Note
9491 objects can create properties at runtime, for example to describe links
9492 between different devices and/or objects. These properties are not in‐
9493 cluded in the output of this command.
9494
9495 Returns
9496 a list of ObjectPropertyInfo describing object properties
9497
9498 Since
9499 2.12
9500
9501 CanHostSocketcanProperties (Object)
9502 Properties for can-host-socketcan objects.
9503
9504 Members
9505 if: string
9506 interface name of the host system CAN bus to connect to
9507
9508 canbus: string
9509 object ID of the can-bus object to connect to the host interface
9510
9511 Since
9512 2.12
9513
9514 ColoCompareProperties (Object)
9515 Properties for colo-compare objects.
9516
9517 Members
9518 primary_in: string
9519 name of the character device backend to use for the primary in‐
9520 put (incoming packets are redirected to outdev)
9521
9522 secondary_in: string
9523 name of the character device backend to use for secondary input
9524 (incoming packets are only compared to the input on primary_in
9525 and then dropped)
9526
9527 outdev: string
9528 name of the character device backend to use for output
9529
9530 iothread: string
9531 name of the iothread to run in
9532
9533 notify_dev: string (optional)
9534 name of the character device backend to be used to communicate
9535 with the remote colo-frame (only for Xen COLO)
9536
9537 compare_timeout: int (optional)
9538 the maximum time to hold a packet from primary_in for comparison
9539 with an incoming packet on secondary_in in milliseconds (de‐
9540 fault: 3000)
9541
9542 expired_scan_cycle: int (optional)
9543 the interval at which colo-compare checks whether packets from
9544 primary have timed out, in milliseconds (default: 3000)
9545
9546 max_queue_size: int (optional)
9547 the maximum number of packets to keep in the queue for comparing
9548 with incoming packets from secondary_in. If the queue is full
9549 and additional packets are received, the additional packets are
9550 dropped. (default: 1024)
9551
9552 vnet_hdr_support: boolean (optional)
9553 if true, vnet header support is enabled (default: false)
9554
9555 Since
9556 2.8
9557
9558 CryptodevBackendProperties (Object)
9559 Properties for cryptodev-backend and cryptodev-backend-builtin objects.
9560
9561 Members
9562 queues: int (optional)
9563 the number of queues for the cryptodev backend. Ignored for
9564 cryptodev-backend and must be 1 for cryptodev-backend-builtin.
9565 (default: 1)
9566
9567 Since
9568 2.8
9569
9570 CryptodevVhostUserProperties (Object)
9571 Properties for cryptodev-vhost-user objects.
9572
9573 Members
9574 chardev: string
9575 the name of a Unix domain socket character device that connects
9576 to the vhost-user server
9577
9578 The members of CryptodevBackendProperties
9579
9580 Since
9581 2.12
9582
9583 DBusVMStateProperties (Object)
9584 Properties for dbus-vmstate objects.
9585
9586 Members
9587 addr: string
9588 the name of the DBus bus to connect to
9589
9590 id-list: string (optional)
9591 a comma separated list of DBus IDs of helpers whose data should
9592 be included in the VM state on migration
9593
9594 Since
9595 5.0
9596
9597 NetfilterInsert (Enum)
9598 Indicates where to insert a netfilter relative to a given other filter.
9599
9600 Values
9601 before insert before the specified filter
9602
9603 behind insert behind the specified filter
9604
9605 Since
9606 5.0
9607
9608 NetfilterProperties (Object)
9609 Properties for objects of classes derived from netfilter.
9610
9611 Members
9612 netdev: string
9613 id of the network device backend to filter
9614
9615 queue: NetFilterDirection (optional)
9616 indicates which queue(s) to filter (default: all)
9617
9618 status: string (optional)
9619 indicates whether the filter is enabled ("on") or disabled
9620 ("off") (default: "on")
9621
9622 position: string (optional)
9623 specifies where the filter should be inserted in the filter
9624 list. "head" means the filter is inserted at the head of the
9625 filter list, before any existing filters. "tail" means the fil‐
9626 ter is inserted at the tail of the filter list, behind any ex‐
9627 isting filters (default). "id=<id>" means the filter is in‐
9628 serted before or behind the filter specified by <id>, depending
9629 on the insert property. (default: "tail")
9630
9631 insert: NetfilterInsert (optional)
9632 where to insert the filter relative to the filter given in posi‐
9633 tion. Ignored if position is "head" or "tail". (default: be‐
9634 hind)
9635
9636 Since
9637 2.5
9638
9639 FilterBufferProperties (Object)
9640 Properties for filter-buffer objects.
9641
9642 Members
9643 interval: int
9644 a non-zero interval in microseconds. All packets arriving in
9645 the given interval are delayed until the end of the interval.
9646
9647 The members of NetfilterProperties
9648
9649 Since
9650 2.5
9651
9652 FilterDumpProperties (Object)
9653 Properties for filter-dump objects.
9654
9655 Members
9656 file: string
9657 the filename where the dumped packets should be stored
9658
9659 maxlen: int (optional)
9660 maximum number of bytes in a packet that are stored (default:
9661 65536)
9662
9663 The members of NetfilterProperties
9664
9665 Since
9666 2.5
9667
9668 FilterMirrorProperties (Object)
9669 Properties for filter-mirror objects.
9670
9671 Members
9672 outdev: string
9673 the name of a character device backend to which all incoming
9674 packets are mirrored
9675
9676 vnet_hdr_support: boolean (optional)
9677 if true, vnet header support is enabled (default: false)
9678
9679 The members of NetfilterProperties
9680
9681 Since
9682 2.6
9683
9684 FilterRedirectorProperties (Object)
9685 Properties for filter-redirector objects.
9686
9687 At least one of indev or outdev must be present. If both are present,
9688 they must not refer to the same character device backend.
9689
9690 Members
9691 indev: string (optional)
9692 the name of a character device backend from which packets are
9693 received and redirected to the filtered network device
9694
9695 outdev: string (optional)
9696 the name of a character device backend to which all incoming
9697 packets are redirected
9698
9699 vnet_hdr_support: boolean (optional)
9700 if true, vnet header support is enabled (default: false)
9701
9702 The members of NetfilterProperties
9703
9704 Since
9705 2.6
9706
9707 FilterRewriterProperties (Object)
9708 Properties for filter-rewriter objects.
9709
9710 Members
9711 vnet_hdr_support: boolean (optional)
9712 if true, vnet header support is enabled (default: false)
9713
9714 The members of NetfilterProperties
9715
9716 Since
9717 2.8
9718
9719 InputBarrierProperties (Object)
9720 Properties for input-barrier objects.
9721
9722 Members
9723 name: string
9724 the screen name as declared in the screens section of bar‐
9725 rier.conf
9726
9727 server: string (optional)
9728 hostname of the Barrier server (default: "localhost")
9729
9730 port: string (optional)
9731 TCP port of the Barrier server (default: "24800")
9732
9733 x-origin: string (optional)
9734 x coordinate of the leftmost pixel on the guest screen (default:
9735 "0")
9736
9737 y-origin: string (optional)
9738 y coordinate of the topmost pixel on the guest screen (default:
9739 "0")
9740
9741 width: string (optional)
9742 the width of secondary screen in pixels (default: "1920")
9743
9744 height: string (optional)
9745 the height of secondary screen in pixels (default: "1080")
9746
9747 Since
9748 4.2
9749
9750 InputLinuxProperties (Object)
9751 Properties for input-linux objects.
9752
9753 Members
9754 evdev: string
9755 the path of the host evdev device to use
9756
9757 grab_all: boolean (optional)
9758 if true, grab is toggled for all devices (e.g. both keyboard and
9759 mouse) instead of just one device (default: false)
9760
9761 repeat: boolean (optional)
9762 enables auto-repeat events (default: false)
9763
9764 grab-toggle: GrabToggleKeys (optional)
9765 the key or key combination that toggles device grab (default:
9766 ctrl-ctrl)
9767
9768 Since
9769 2.6
9770
9771 IothreadProperties (Object)
9772 Properties for iothread objects.
9773
9774 Members
9775 poll-max-ns: int (optional)
9776 the maximum number of nanoseconds to busy wait for events. 0
9777 means polling is disabled (default: 32768 on POSIX hosts, 0 oth‐
9778 erwise)
9779
9780 poll-grow: int (optional)
9781 the multiplier used to increase the polling time when the algo‐
9782 rithm detects it is missing events due to not polling long
9783 enough. 0 selects a default behaviour (default: 0)
9784
9785 poll-shrink: int (optional)
9786 the divisor used to decrease the polling time when the algorithm
9787 detects it is spending too long polling without encountering
9788 events. 0 selects a default behaviour (default: 0)
9789
9790 aio-max-batch: int (optional)
9791 maximum number of requests in a batch for the AIO engine, 0
9792 means that the engine will use its default (default:0, since
9793 6.1)
9794
9795 Since
9796 2.0
9797
9798 MemoryBackendProperties (Object)
9799 Properties for objects of classes derived from memory-backend.
9800
9801 Members
9802 merge: boolean (optional)
9803 if true, mark the memory as mergeable (default depends on the
9804 machine type)
9805
9806 dump: boolean (optional)
9807 if true, include the memory in core dumps (default depends on
9808 the machine type)
9809
9810 host-nodes: array of int (optional)
9811 the list of NUMA host nodes to bind the memory to
9812
9813 policy: HostMemPolicy (optional)
9814 the NUMA policy (default: 'default')
9815
9816 prealloc: boolean (optional)
9817 if true, preallocate memory (default: false)
9818
9819 prealloc-threads: int (optional)
9820 number of CPU threads to use for prealloc (default: 1)
9821
9822 share: boolean (optional)
9823 if false, the memory is private to QEMU; if true, it is shared
9824 (default: false)
9825
9826 reserve: boolean (optional)
9827 if true, reserve swap space (or huge pages) if applicable (de‐
9828 fault: true) (since 6.1)
9829
9830 size: int
9831 size of the memory region in bytes
9832
9833 x-use-canonical-path-for-ramblock-id: boolean (optional)
9834 if true, the canoncial path is used for ramblock-id. Disable
9835 this for 4.0 machine types or older to allow migration with
9836 newer QEMU versions. (default: false generally, but true for
9837 machine types <= 4.0)
9838
9839 Note
9840 prealloc=true and reserve=false cannot be set at the same time. With
9841 reserve=true, the behavior depends on the operating system: for exam‐
9842 ple, Linux will not reserve swap space for shared file mappings -- "not
9843 applicable". In contrast, reserve=false will bail out if it cannot be
9844 configured accordingly.
9845
9846 Since
9847 2.1
9848
9849 MemoryBackendFileProperties (Object)
9850 Properties for memory-backend-file objects.
9851
9852 Members
9853 align: int (optional)
9854 the base address alignment when QEMU mmap(2)s mem-path. Some
9855 backend stores specified by mem-path require an alignment dif‐
9856 ferent than the default one used by QEMU, e.g. the device DAX
9857 /dev/dax0.0 requires 2M alignment rather than 4K. In such cases,
9858 users can specify the required alignment via this option. 0 se‐
9859 lects a default alignment (currently the page size). (default:
9860 0)
9861
9862 discard-data: boolean (optional)
9863 if true, the file contents can be destroyed when QEMU exits, to
9864 avoid unnecessarily flushing data to the backing file. Note that
9865 discard-data is only an optimization, and QEMU might not discard
9866 file contents if it aborts unexpectedly or is terminated using
9867 SIGKILL. (default: false)
9868
9869 mem-path: string
9870 the path to either a shared memory or huge page filesystem mount
9871
9872 pmem: boolean (optional) (If: CONFIG_LIBPMEM)
9873 specifies whether the backing file specified by mem-path is in
9874 host persistent memory that can be accessed using the SNIA NVM
9875 programming model (e.g. Intel NVDIMM).
9876
9877 readonly: boolean (optional)
9878 if true, the backing file is opened read-only; if false, it is
9879 opened read-write. (default: false)
9880
9881 The members of MemoryBackendProperties
9882
9883 Since
9884 2.1
9885
9886 MemoryBackendMemfdProperties (Object)
9887 Properties for memory-backend-memfd objects.
9888
9889 The share boolean option is true by default with memfd.
9890
9891 Members
9892 hugetlb: boolean (optional)
9893 if true, the file to be created resides in the hugetlbfs
9894 filesystem (default: false)
9895
9896 hugetlbsize: int (optional)
9897 the hugetlb page size on systems that support multiple hugetlb
9898 page sizes (it must be a power of 2 value supported by the sys‐
9899 tem). 0 selects a default page size. This option is ignored if
9900 hugetlb is false. (default: 0)
9901
9902 seal: boolean (optional)
9903 if true, create a sealed-file, which will block further resizing
9904 of the memory (default: true)
9905
9906 The members of MemoryBackendProperties
9907
9908 Since
9909 2.12
9910
9911 MemoryBackendEpcProperties (Object)
9912 Properties for memory-backend-epc objects.
9913
9914 The share boolean option is true by default with epc
9915
9916 The merge boolean option is false by default with epc
9917
9918 The dump boolean option is false by default with epc
9919
9920 Members
9921 The members of MemoryBackendProperties
9922
9923 Since
9924 6.2
9925
9926 PrManagerHelperProperties (Object)
9927 Properties for pr-manager-helper objects.
9928
9929 Members
9930 path: string
9931 the path to a Unix domain socket for connecting to the external
9932 helper
9933
9934 Since
9935 2.11
9936
9937 QtestProperties (Object)
9938 Properties for qtest objects.
9939
9940 Members
9941 chardev: string
9942 the chardev to be used to receive qtest commands on.
9943
9944 log: string (optional)
9945 the path to a log file
9946
9947 Since
9948 6.0
9949
9950 RemoteObjectProperties (Object)
9951 Properties for x-remote-object objects.
9952
9953 Members
9954 fd: string
9955 file descriptor name previously passed via 'getfd' command
9956
9957 devid: string
9958 the id of the device to be associated with the file descriptor
9959
9960 Since
9961 6.0
9962
9963 RngProperties (Object)
9964 Properties for objects of classes derived from rng.
9965
9966 Members
9967 opened: boolean (optional)
9968 if true, the device is opened immediately when applying this op‐
9969 tion and will probably fail when processing the next option.
9970 Don't use; only provided for compatibility. (default: false)
9971
9972 Features
9973 deprecated
9974 Member opened is deprecated. Setting true doesn't make sense,
9975 and false is already the default.
9976
9977 Since
9978 1.3
9979
9980 RngEgdProperties (Object)
9981 Properties for rng-egd objects.
9982
9983 Members
9984 chardev: string
9985 the name of a character device backend that provides the connec‐
9986 tion to the RNG daemon
9987
9988 The members of RngProperties
9989
9990 Since
9991 1.3
9992
9993 RngRandomProperties (Object)
9994 Properties for rng-random objects.
9995
9996 Members
9997 filename: string (optional)
9998 the filename of the device on the host to obtain entropy from
9999 (default: "/dev/urandom")
10000
10001 The members of RngProperties
10002
10003 Since
10004 1.3
10005
10006 SevGuestProperties (Object)
10007 Properties for sev-guest objects.
10008
10009 Members
10010 sev-device: string (optional)
10011 SEV device to use (default: "/dev/sev")
10012
10013 dh-cert-file: string (optional)
10014 guest owners DH certificate (encoded with base64)
10015
10016 session-file: string (optional)
10017 guest owners session parameters (encoded with base64)
10018
10019 policy: int (optional)
10020 SEV policy value (default: 0x1)
10021
10022 handle: int (optional)
10023 SEV firmware handle (default: 0)
10024
10025 cbitpos: int (optional)
10026 C-bit location in page table entry (default: 0)
10027
10028 reduced-phys-bits: int
10029 number of bits in physical addresses that become unavailable
10030 when SEV is enabled
10031
10032 kernel-hashes: boolean (optional)
10033 if true, add hashes of kernel/initrd/cmdline to a designated
10034 guest firmware page for measured boot with -kernel (default:
10035 false) (since 6.2)
10036
10037 Since
10038 2.12
10039
10040 ObjectType (Enum)
10041 Values
10042 authz-list
10043 Not documented
10044
10045 authz-listfile
10046 Not documented
10047
10048 authz-pam
10049 Not documented
10050
10051 authz-simple
10052 Not documented
10053
10054 can-bus
10055 Not documented
10056
10057 can-host-socketcan (If: CONFIG_LINUX)
10058 Not documented
10059
10060 colo-compare
10061 Not documented
10062
10063 cryptodev-backend
10064 Not documented
10065
10066 cryptodev-backend-builtin
10067 Not documented
10068
10069 cryptodev-vhost-user (If: CONFIG_VHOST_CRYPTO)
10070 Not documented
10071
10072 dbus-vmstate
10073 Not documented
10074
10075 filter-buffer
10076 Not documented
10077
10078 filter-dump
10079 Not documented
10080
10081 filter-mirror
10082 Not documented
10083
10084 filter-redirector
10085 Not documented
10086
10087 filter-replay
10088 Not documented
10089
10090 filter-rewriter
10091 Not documented
10092
10093 input-barrier
10094 Not documented
10095
10096 input-linux (If: CONFIG_LINUX)
10097 Not documented
10098
10099 iothread
10100 Not documented
10101
10102 memory-backend-epc (If: CONFIG_LINUX)
10103 Not documented
10104
10105 memory-backend-file
10106 Not documented
10107
10108 memory-backend-memfd (If: CONFIG_LINUX)
10109 Not documented
10110
10111 memory-backend-ram
10112 Not documented
10113
10114 pef-guest
10115 Not documented
10116
10117 pr-manager-helper (If: CONFIG_LINUX)
10118 Not documented
10119
10120 qtest Not documented
10121
10122 rng-builtin
10123 Not documented
10124
10125 rng-egd
10126 Not documented
10127
10128 rng-random (If: CONFIG_POSIX)
10129 Not documented
10130
10131 secret Not documented
10132
10133 secret_keyring (If: CONFIG_SECRET_KEYRING)
10134 Not documented
10135
10136 sev-guest
10137 Not documented
10138
10139 s390-pv-guest
10140 Not documented
10141
10142 throttle-group
10143 Not documented
10144
10145 tls-creds-anon
10146 Not documented
10147
10148 tls-creds-psk
10149 Not documented
10150
10151 tls-creds-x509
10152 Not documented
10153
10154 tls-cipher-suites
10155 Not documented
10156
10157 x-remote-object
10158 Not documented
10159
10160 Features
10161 unstable
10162 Member x-remote-object is experimental.
10163
10164 Since
10165 6.0
10166
10167 ObjectOptions (Object)
10168 Describes the options of a user creatable QOM object.
10169
10170 Members
10171 qom-type: ObjectType
10172 the class name for the object to be created
10173
10174 id: string
10175 the name of the new object
10176
10177 The members of AuthZListProperties when qom-type is "authz-list"
10178
10179 The members of AuthZListFileProperties when qom-type is "authz-list‐
10180 file"
10181
10182 The members of AuthZPAMProperties when qom-type is "authz-pam"
10183
10184 The members of AuthZSimpleProperties when qom-type is "authz-simple"
10185
10186 The members of CanHostSocketcanProperties when qom-type is
10187 "can-host-socketcan" (If: CONFIG_LINUX)
10188
10189 The members of ColoCompareProperties when qom-type is "colo-compare"
10190
10191 The members of CryptodevBackendProperties when qom-type is "cryp‐
10192 todev-backend"
10193
10194 The members of CryptodevBackendProperties when qom-type is "cryp‐
10195 todev-backend-builtin"
10196
10197 The members of CryptodevVhostUserProperties when qom-type is "cryp‐
10198 todev-vhost-user" (If: CONFIG_VHOST_CRYPTO)
10199
10200 The members of DBusVMStateProperties when qom-type is "dbus-vmstate"
10201
10202 The members of FilterBufferProperties when qom-type is "filter-buffer"
10203
10204 The members of FilterDumpProperties when qom-type is "filter-dump"
10205
10206 The members of FilterMirrorProperties when qom-type is "filter-mirror"
10207
10208 The members of FilterRedirectorProperties when qom-type is "fil‐
10209 ter-redirector"
10210
10211 The members of NetfilterProperties when qom-type is "filter-replay"
10212
10213 The members of FilterRewriterProperties when qom-type is "fil‐
10214 ter-rewriter"
10215
10216 The members of InputBarrierProperties when qom-type is "input-barrier"
10217
10218 The members of InputLinuxProperties when qom-type is "input-linux" (If:
10219 CONFIG_LINUX)
10220
10221 The members of IothreadProperties when qom-type is "iothread"
10222
10223 The members of MemoryBackendEpcProperties when qom-type is "mem‐
10224 ory-backend-epc" (If: CONFIG_LINUX)
10225
10226 The members of MemoryBackendFileProperties when qom-type is "mem‐
10227 ory-backend-file"
10228
10229 The members of MemoryBackendMemfdProperties when qom-type is "mem‐
10230 ory-backend-memfd" (If: CONFIG_LINUX)
10231
10232 The members of MemoryBackendProperties when qom-type is "memory-back‐
10233 end-ram"
10234
10235 The members of PrManagerHelperProperties when qom-type is "pr-man‐
10236 ager-helper" (If: CONFIG_LINUX)
10237
10238 The members of QtestProperties when qom-type is "qtest"
10239
10240 The members of RngProperties when qom-type is "rng-builtin"
10241
10242 The members of RngEgdProperties when qom-type is "rng-egd"
10243
10244 The members of RngRandomProperties when qom-type is "rng-random" (If:
10245 CONFIG_POSIX)
10246
10247 The members of SecretProperties when qom-type is "secret"
10248
10249 The members of SecretKeyringProperties when qom-type is "se‐
10250 cret_keyring" (If: CONFIG_SECRET_KEYRING)
10251
10252 The members of SevGuestProperties when qom-type is "sev-guest"
10253
10254 The members of ThrottleGroupProperties when qom-type is "throt‐
10255 tle-group"
10256
10257 The members of TlsCredsAnonProperties when qom-type is "tls-creds-anon"
10258
10259 The members of TlsCredsPskProperties when qom-type is "tls-creds-psk"
10260
10261 The members of TlsCredsX509Properties when qom-type is "tls-creds-x509"
10262
10263 The members of TlsCredsProperties when qom-type is "tls-cipher-suites"
10264
10265 The members of RemoteObjectProperties when qom-type is "x-remote-ob‐
10266 ject"
10267
10268 Since
10269 6.0
10270
10271 object-add (Command)
10272 Create a QOM object.
10273
10274 Arguments
10275 The members of ObjectOptions
10276
10277 Returns
10278 Nothing on success Error if qom-type is not a valid class name
10279
10280 Since
10281 2.0
10282
10283 Example
10284 -> { "execute": "object-add",
10285 "arguments": { "qom-type": "rng-random", "id": "rng1",
10286 "filename": "/dev/hwrng" } }
10287 <- { "return": {} }
10288
10289 object-del (Command)
10290 Remove a QOM object.
10291
10292 Arguments
10293 id: string
10294 the name of the QOM object to remove
10295
10296 Returns
10297 Nothing on success Error if id is not a valid id for a QOM object
10298
10299 Since
10300 2.0
10301
10302 Example
10303 -> { "execute": "object-del", "arguments": { "id": "rng1" } }
10304 <- { "return": {} }
10305
10307 Abort (Object)
10308 This action can be used to test transaction failure.
10309
10310 Since
10311 1.6
10312
10313 ActionCompletionMode (Enum)
10314 An enumeration of Transactional completion modes.
10315
10316 Values
10317 individual
10318 Do not attempt to cancel any other Actions if any Actions fail
10319 after the Transaction request succeeds. All Actions that can
10320 complete successfully will do so without waiting on others.
10321 This is the default.
10322
10323 grouped
10324 If any Action fails after the Transaction succeeds, cancel all
10325 Actions. Actions do not complete until all Actions are ready to
10326 complete. May be rejected by Actions that do not support this
10327 completion mode.
10328
10329 Since
10330 2.5
10331
10332 TransactionActionKind (Enum)
10333 Values
10334 abort Since 1.6
10335
10336 block-dirty-bitmap-add
10337 Since 2.5
10338
10339 block-dirty-bitmap-remove
10340 Since 4.2
10341
10342 block-dirty-bitmap-clear
10343 Since 2.5
10344
10345 block-dirty-bitmap-enable
10346 Since 4.0
10347
10348 block-dirty-bitmap-disable
10349 Since 4.0
10350
10351 block-dirty-bitmap-merge
10352 Since 4.0
10353
10354 blockdev-backup
10355 Since 2.3
10356
10357 blockdev-snapshot
10358 Since 2.5
10359
10360 blockdev-snapshot-internal-sync
10361 Since 1.7
10362
10363 blockdev-snapshot-sync
10364 since 1.1
10365
10366 drive-backup
10367 Since 1.6
10368
10369 Features
10370 deprecated
10371 Member drive-backup is deprecated. Use member blockdev-backup
10372 instead.
10373
10374 Since
10375 1.1
10376
10377 AbortWrapper (Object)
10378 Members
10379 data: Abort
10380 Not documented
10381
10382 Since
10383 1.6
10384
10385 BlockDirtyBitmapAddWrapper (Object)
10386 Members
10387 data: BlockDirtyBitmapAdd
10388 Not documented
10389
10390 Since
10391 2.5
10392
10393 BlockDirtyBitmapWrapper (Object)
10394 Members
10395 data: BlockDirtyBitmap
10396 Not documented
10397
10398 Since
10399 2.5
10400
10401 BlockDirtyBitmapMergeWrapper (Object)
10402 Members
10403 data: BlockDirtyBitmapMerge
10404 Not documented
10405
10406 Since
10407 4.0
10408
10409 BlockdevBackupWrapper (Object)
10410 Members
10411 data: BlockdevBackup
10412 Not documented
10413
10414 Since
10415 2.3
10416
10417 BlockdevSnapshotWrapper (Object)
10418 Members
10419 data: BlockdevSnapshot
10420 Not documented
10421
10422 Since
10423 2.5
10424
10425 BlockdevSnapshotInternalWrapper (Object)
10426 Members
10427 data: BlockdevSnapshotInternal
10428 Not documented
10429
10430 Since
10431 1.7
10432
10433 BlockdevSnapshotSyncWrapper (Object)
10434 Members
10435 data: BlockdevSnapshotSync
10436 Not documented
10437
10438 Since
10439 1.1
10440
10441 DriveBackupWrapper (Object)
10442 Members
10443 data: DriveBackup
10444 Not documented
10445
10446 Since
10447 1.6
10448
10449 TransactionAction (Object)
10450 A discriminated record of operations that can be performed with trans‐
10451 action.
10452
10453 Members
10454 type: TransactionActionKind
10455 Not documented
10456
10457 The members of AbortWrapper when type is "abort"
10458
10459 The members of BlockDirtyBitmapAddWrapper when type is
10460 "block-dirty-bitmap-add"
10461
10462 The members of BlockDirtyBitmapWrapper when type is "block-dirty-bit‐
10463 map-remove"
10464
10465 The members of BlockDirtyBitmapWrapper when type is "block-dirty-bit‐
10466 map-clear"
10467
10468 The members of BlockDirtyBitmapWrapper when type is "block-dirty-bit‐
10469 map-enable"
10470
10471 The members of BlockDirtyBitmapWrapper when type is "block-dirty-bit‐
10472 map-disable"
10473
10474 The members of BlockDirtyBitmapMergeWrapper when type is
10475 "block-dirty-bitmap-merge"
10476
10477 The members of BlockdevBackupWrapper when type is "blockdev-backup"
10478
10479 The members of BlockdevSnapshotWrapper when type is "blockdev-snapshot"
10480
10481 The members of BlockdevSnapshotInternalWrapper when type is "block‐
10482 dev-snapshot-internal-sync"
10483
10484 The members of BlockdevSnapshotSyncWrapper when type is "blockdev-snap‐
10485 shot-sync"
10486
10487 The members of DriveBackupWrapper when type is "drive-backup"
10488
10489 Since
10490 1.1
10491
10492 TransactionProperties (Object)
10493 Optional arguments to modify the behavior of a Transaction.
10494
10495 Members
10496 completion-mode: ActionCompletionMode (optional)
10497 Controls how jobs launched asynchronously by Actions will com‐
10498 plete or fail as a group. See ActionCompletionMode for details.
10499
10500 Since
10501 2.5
10502
10503 transaction (Command)
10504 Executes a number of transactionable QMP commands atomically. If any
10505 operation fails, then the entire set of actions will be abandoned and
10506 the appropriate error returned.
10507
10508 For external snapshots, the dictionary contains the device, the file to
10509 use for the new snapshot, and the format. The default format, if not
10510 specified, is qcow2.
10511
10512 Each new snapshot defaults to being created by QEMU (wiping any con‐
10513 tents if the file already exists), but it is also possible to reuse an
10514 externally-created file. In the latter case, you should ensure that
10515 the new image file has the same contents as the current one; QEMU can‐
10516 not perform any meaningful check. Typically this is achieved by using
10517 the current image file as the backing file for the new image.
10518
10519 On failure, the original disks pre-snapshot attempt will be used.
10520
10521 For internal snapshots, the dictionary contains the device and the
10522 snapshot's name. If an internal snapshot matching name already exists,
10523 the request will be rejected. Only some image formats support it, for
10524 example, qcow2, and rbd,
10525
10526 On failure, qemu will try delete the newly created internal snapshot in
10527 the transaction. When an I/O error occurs during deletion, the user
10528 needs to fix it later with qemu-img or other command.
10529
10530 Arguments
10531 actions: array of TransactionAction
10532 List of TransactionAction; information needed for the respective
10533 operations.
10534
10535 properties: TransactionProperties (optional)
10536 structure of additional options to control the execution of the
10537 transaction. See TransactionProperties for additional detail.
10538
10539 Returns
10540 nothing on success
10541
10542 Errors depend on the operations of the transaction
10543
10544 Note
10545 The transaction aborts on the first failure. Therefore, there will be
10546 information on only one failed operation returned in an error condi‐
10547 tion, and subsequent actions will not have been attempted.
10548
10549 Since
10550 1.1
10551
10552 Example
10553 -> { "execute": "transaction",
10554 "arguments": { "actions": [
10555 { "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd0",
10556 "snapshot-file": "/some/place/my-image",
10557 "format": "qcow2" } },
10558 { "type": "blockdev-snapshot-sync", "data" : { "node-name": "myfile",
10559 "snapshot-file": "/some/place/my-image2",
10560 "snapshot-node-name": "node3432",
10561 "mode": "existing",
10562 "format": "qcow2" } },
10563 { "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd1",
10564 "snapshot-file": "/some/place/my-image2",
10565 "mode": "existing",
10566 "format": "qcow2" } },
10567 { "type": "blockdev-snapshot-internal-sync", "data" : {
10568 "device": "ide-hd2",
10569 "name": "snapshot0" } } ] } }
10570 <- { "return": {} }
10571
10573 2022, The QEMU Project Developers
10574
10575
10576
10577
105786.2.0 Jun 11, 2022 QEMU-STORAGE-DAEMON-QMP-REF(7)