12c5060cdSThomas Huth 22c5060cdSThomas HuthRemoved features 32c5060cdSThomas Huth================ 42c5060cdSThomas Huth 52c5060cdSThomas HuthWhat follows is a record of recently removed, formerly deprecated 62c5060cdSThomas Huthfeatures that serves as a record for users who have encountered 72c5060cdSThomas Huthtrouble after a recent upgrade. 82c5060cdSThomas Huth 92c5060cdSThomas HuthSystem emulator command line arguments 102c5060cdSThomas Huth-------------------------------------- 112c5060cdSThomas Huth 123d9c7ec9SThomas Huth``-hdachs`` (removed in 2.12) 133d9c7ec9SThomas Huth''''''''''''''''''''''''''''' 143d9c7ec9SThomas Huth 153d9c7ec9SThomas HuthThe geometry defined by ``-hdachs c,h,s,t`` should now be specified via 163d9c7ec9SThomas Huth``-device ide-hd,drive=dr,cyls=c,heads=h,secs=s,bios-chs-trans=t`` 173d9c7ec9SThomas Huth(together with ``-drive if=none,id=dr,...``). 183d9c7ec9SThomas Huth 193d9c7ec9SThomas Huth``-net channel`` (removed in 2.12) 203d9c7ec9SThomas Huth'''''''''''''''''''''''''''''''''' 213d9c7ec9SThomas Huth 223d9c7ec9SThomas HuthThis option has been replaced by ``-net user,guestfwd=...``. 233d9c7ec9SThomas Huth 243d9c7ec9SThomas Huth``-net dump`` (removed in 2.12) 253d9c7ec9SThomas Huth''''''''''''''''''''''''''''''' 263d9c7ec9SThomas Huth 273d9c7ec9SThomas Huth``-net dump[,vlan=n][,file=filename][,len=maxlen]`` has been replaced by 283d9c7ec9SThomas Huth``-object filter-dump,id=id,netdev=dev[,file=filename][,maxlen=maxlen]``. 293d9c7ec9SThomas HuthNote that the new syntax works with netdev IDs instead of the old "vlan" hubs. 303d9c7ec9SThomas Huth 313d9c7ec9SThomas Huth``-no-kvm-pit`` (removed in 2.12) 323d9c7ec9SThomas Huth''''''''''''''''''''''''''''''''' 333d9c7ec9SThomas Huth 343d9c7ec9SThomas HuthThis was just a dummy option that has been ignored, since the in-kernel PIT 353d9c7ec9SThomas Huthcannot be disabled separately from the irqchip anymore. A similar effect 363d9c7ec9SThomas Huth(which also disables the KVM IOAPIC) can be obtained with 373d9c7ec9SThomas Huth``-M kernel_irqchip=split``. 383d9c7ec9SThomas Huth 393d9c7ec9SThomas Huth``-tdf`` (removed in 2.12) 403d9c7ec9SThomas Huth'''''''''''''''''''''''''' 413d9c7ec9SThomas Huth 423d9c7ec9SThomas HuthThere is no replacement, the ``-tdf`` option has just been ignored since the 433d9c7ec9SThomas Huthbehaviour that could be changed by this option in qemu-kvm is now the default 443d9c7ec9SThomas Huthwhen using the KVM PIT. It still can be requested explicitly using 453d9c7ec9SThomas Huth``-global kvm-pit.lost_tick_policy=delay``. 463d9c7ec9SThomas Huth 478cc461c1SThomas Huth``-drive secs=s``, ``-drive heads=h`` & ``-drive cyls=c`` (removed in 3.0) 488cc461c1SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 498cc461c1SThomas Huth 508cc461c1SThomas HuthThe drive geometry should now be specified via 518cc461c1SThomas Huth``-device ...,drive=dr,cyls=c,heads=h,secs=s`` (together with 528cc461c1SThomas Huth``-drive if=none,id=dr,...``). 538cc461c1SThomas Huth 548cc461c1SThomas Huth``-drive serial=``, ``-drive trans=`` & ``-drive addr=`` (removed in 3.0) 558cc461c1SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 568cc461c1SThomas Huth 578cc461c1SThomas HuthUse ``-device ...,drive=dr,serial=r,bios-chs-trans=t,addr=a`` instead 588cc461c1SThomas Huth(together with ``-drive if=none,id=dr,...``). 598cc461c1SThomas Huth 608cc461c1SThomas Huth``-net ...,vlan=x`` (removed in 3.0) 618cc461c1SThomas Huth'''''''''''''''''''''''''''''''''''' 628cc461c1SThomas Huth 638cc461c1SThomas HuthThe term "vlan" was very confusing for most users in this context (it's about 648cc461c1SThomas Huthspecifying a hub ID, not about IEEE 802.1Q or something similar), so this 658cc461c1SThomas Huthhas been removed. To connect one NIC frontend with a network backend, either 668cc461c1SThomas Huthuse ``-nic ...`` (e.g. for on-board NICs) or use ``-netdev ...,id=n`` together 678cc461c1SThomas Huthwith ``-device ...,netdev=n`` (for full control over pluggable NICs). To 688cc461c1SThomas Huthconnect multiple NICs or network backends via a hub device (which is what 698cc461c1SThomas Huthvlan did), use ``-nic hubport,hubid=x,...`` or 708cc461c1SThomas Huth``-netdev hubport,id=n,hubid=x,...`` (with ``-device ...,netdev=n``) instead. 718cc461c1SThomas Huth 728cc461c1SThomas Huth``-no-kvm-irqchip`` (removed in 3.0) 738cc461c1SThomas Huth'''''''''''''''''''''''''''''''''''' 748cc461c1SThomas Huth 758cc461c1SThomas HuthUse ``-machine kernel_irqchip=off`` instead. 768cc461c1SThomas Huth 778cc461c1SThomas Huth``-no-kvm-pit-reinjection`` (removed in 3.0) 788cc461c1SThomas Huth'''''''''''''''''''''''''''''''''''''''''''' 798cc461c1SThomas Huth 808cc461c1SThomas HuthUse ``-global kvm-pit.lost_tick_policy=discard`` instead. 818cc461c1SThomas Huth 82*29e04475SThomas Huth``-balloon`` (removed in 3.1) 83*29e04475SThomas Huth''''''''''''''''''''''''''''' 84*29e04475SThomas Huth 85*29e04475SThomas HuthThe ``-balloon virtio`` option has been replaced by ``-device virtio-balloon``. 86*29e04475SThomas HuthThe ``-balloon none`` option was a no-op and has no replacement. 87*29e04475SThomas Huth 88*29e04475SThomas Huth``-bootp`` (removed in 3.1) 89*29e04475SThomas Huth''''''''''''''''''''''''''' 90*29e04475SThomas Huth 91*29e04475SThomas HuthThe ``-bootp /some/file`` argument is replaced by either 92*29e04475SThomas Huth``-netdev user,id=x,bootp=/some/file`` (for pluggable NICs, accompanied with 93*29e04475SThomas Huth``-device ...,netdev=x``), or ``-nic user,bootp=/some/file`` (for on-board NICs). 94*29e04475SThomas HuthThe new syntax allows different settings to be provided per NIC. 95*29e04475SThomas Huth 96*29e04475SThomas Huth``-redir`` (removed in 3.1) 97*29e04475SThomas Huth''''''''''''''''''''''''''' 98*29e04475SThomas Huth 99*29e04475SThomas HuthThe ``-redir [tcp|udp]:hostport:[guestaddr]:guestport`` option is replaced 100*29e04475SThomas Huthby either ``-netdev 101*29e04475SThomas Huthuser,id=x,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport`` 102*29e04475SThomas Huth(for pluggable NICs, accompanied with ``-device ...,netdev=x``) or by the option 103*29e04475SThomas Huth``-nic user,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport`` 104*29e04475SThomas Huth(for on-board NICs). The new syntax allows different settings to be provided 105*29e04475SThomas Huthper NIC. 106*29e04475SThomas Huth 107*29e04475SThomas Huth``-smb`` (removed in 3.1) 108*29e04475SThomas Huth''''''''''''''''''''''''' 109*29e04475SThomas Huth 110*29e04475SThomas HuthThe ``-smb /some/dir`` argument is replaced by either 111*29e04475SThomas Huth``-netdev user,id=x,smb=/some/dir`` (for pluggable NICs, accompanied with 112*29e04475SThomas Huth``-device ...,netdev=x``), or ``-nic user,smb=/some/dir`` (for on-board NICs). 113*29e04475SThomas HuthThe new syntax allows different settings to be provided per NIC. 114*29e04475SThomas Huth 115*29e04475SThomas Huth``-tftp`` (removed in 3.1) 116*29e04475SThomas Huth'''''''''''''''''''''''''' 117*29e04475SThomas Huth 118*29e04475SThomas HuthThe ``-tftp /some/dir`` argument is replaced by either 119*29e04475SThomas Huth``-netdev user,id=x,tftp=/some/dir`` (for pluggable NICs, accompanied with 120*29e04475SThomas Huth``-device ...,netdev=x``), or ``-nic user,tftp=/some/dir`` (for embedded NICs). 121*29e04475SThomas HuthThe new syntax allows different settings to be provided per NIC. 122*29e04475SThomas Huth 123*29e04475SThomas Huth``-localtime`` (removed in 3.1) 124*29e04475SThomas Huth''''''''''''''''''''''''''''''' 125*29e04475SThomas Huth 126*29e04475SThomas HuthReplaced by ``-rtc base=localtime``. 127*29e04475SThomas Huth 128*29e04475SThomas Huth``-nodefconfig`` (removed in 3.1) 129*29e04475SThomas Huth''''''''''''''''''''''''''''''''' 130*29e04475SThomas Huth 131*29e04475SThomas HuthUse ``-no-user-config`` instead. 132*29e04475SThomas Huth 133*29e04475SThomas Huth``-rtc-td-hack`` (removed in 3.1) 134*29e04475SThomas Huth''''''''''''''''''''''''''''''''' 135*29e04475SThomas Huth 136*29e04475SThomas HuthUse ``-rtc driftfix=slew`` instead. 137*29e04475SThomas Huth 138*29e04475SThomas Huth``-startdate`` (removed in 3.1) 139*29e04475SThomas Huth''''''''''''''''''''''''''''''' 140*29e04475SThomas Huth 141*29e04475SThomas HuthReplaced by ``-rtc base=date``. 142*29e04475SThomas Huth 143*29e04475SThomas Huth``-vnc ...,tls=...``, ``-vnc ...,x509=...`` & ``-vnc ...,x509verify=...`` 144*29e04475SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 145*29e04475SThomas Huth 146*29e04475SThomas HuthThe "tls-creds" option should be used instead to point to a "tls-creds-x509" 147*29e04475SThomas Huthobject created using "-object". 148*29e04475SThomas Huth 1493d9c7ec9SThomas Huth``-net ...,name=...`` (removed in 5.1) 1503d9c7ec9SThomas Huth'''''''''''''''''''''''''''''''''''''' 1512c5060cdSThomas Huth 1522c5060cdSThomas HuthThe ``name`` parameter of the ``-net`` option was a synonym 1532c5060cdSThomas Huthfor the ``id`` parameter, which should now be used instead. 1542c5060cdSThomas Huth 1552c5060cdSThomas Huth``-no-kvm`` (removed in 5.2) 1562c5060cdSThomas Huth'''''''''''''''''''''''''''' 1572c5060cdSThomas Huth 1582c5060cdSThomas HuthThe ``-no-kvm`` argument was a synonym for setting ``-machine accel=tcg``. 1592c5060cdSThomas Huth 160c8c9dc42SThomas Huth``-realtime`` (removed in 6.0) 161c8c9dc42SThomas Huth'''''''''''''''''''''''''''''' 162c8c9dc42SThomas Huth 163c8c9dc42SThomas HuthThe ``-realtime mlock=on|off`` argument has been replaced by the 164c8c9dc42SThomas Huth``-overcommit mem-lock=on|off`` argument. 165c8c9dc42SThomas Huth 166e2680403SThomas Huth``-show-cursor`` option (removed in 6.0) 167e2680403SThomas Huth'''''''''''''''''''''''''''''''''''''''' 16890d6a086SThomas Huth 16990d6a086SThomas HuthUse ``-display sdl,show-cursor=on``, ``-display gtk,show-cursor=on`` 17090d6a086SThomas Huthor ``-display default,show-cursor=on`` instead. 17190d6a086SThomas Huth 1722c5060cdSThomas Huth``-tb-size`` option (removed in 6.0) 1732c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''' 1742c5060cdSThomas Huth 1752c5060cdSThomas HuthQEMU 5.0 introduced an alternative syntax to specify the size of the translation 1762c5060cdSThomas Huthblock cache, ``-accel tcg,tb-size=``. 1772c5060cdSThomas Huth 1786db34277SThomas Huth``-usbdevice audio`` (removed in 6.0) 1796db34277SThomas Huth''''''''''''''''''''''''''''''''''''' 1806db34277SThomas Huth 1816db34277SThomas HuthThis option lacked the possibility to specify an audio backend device. 1826db34277SThomas HuthUse ``-device usb-audio`` now instead (and specify a corresponding USB 1836db34277SThomas Huthhost controller or ``-usb`` if necessary). 1846db34277SThomas Huth 1855994dcb8SDaniel P. Berrangé``-vnc acl`` (removed in 6.0) 1865994dcb8SDaniel P. Berrangé''''''''''''''''''''''''''''' 1875994dcb8SDaniel P. Berrangé 1885994dcb8SDaniel P. BerrangéThe ``acl`` option to the ``-vnc`` argument has been replaced 1895994dcb8SDaniel P. Berrangéby the ``tls-authz`` and ``sasl-authz`` options. 1906db34277SThomas Huth 191283d845cSDaniel P. Berrangé``-mon ...,control=readline,pretty=on|off`` (removed in 6.0) 192283d845cSDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 193283d845cSDaniel P. Berrangé 194283d845cSDaniel P. BerrangéThe ``pretty=on|off`` switch has no effect for HMP monitors and 195283d845cSDaniel P. Berrangéits use is rejected. 196283d845cSDaniel P. Berrangé 1978d17adf3SDaniel P. Berrangé``-drive file=json:{...{'driver':'file'}}`` (removed 6.0) 1988d17adf3SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 1998d17adf3SDaniel P. Berrangé 2008d17adf3SDaniel P. BerrangéThe 'file' driver for drives is no longer appropriate for character or host 2018d17adf3SDaniel P. Berrangédevices and will only accept regular files (S_IFREG). The correct driver 2028d17adf3SDaniel P. Berrangéfor these file types is 'host_cdrom' or 'host_device' as appropriate. 2038d17adf3SDaniel P. Berrangé 20436585e2bSMarkus ArmbrusterFloppy controllers' drive properties (removed in 6.0) 20536585e2bSMarkus Armbruster''''''''''''''''''''''''''''''''''''''''''''''''''''' 20636585e2bSMarkus Armbruster 20736585e2bSMarkus ArmbrusterUse ``-device floppy,...`` instead. When configuring onboard floppy 20836585e2bSMarkus Armbrustercontrollers 20936585e2bSMarkus Armbruster:: 21036585e2bSMarkus Armbruster 21136585e2bSMarkus Armbruster -global isa-fdc.driveA=... 21236585e2bSMarkus Armbruster -global sysbus-fdc.driveA=... 21336585e2bSMarkus Armbruster -global SUNW,fdtwo.drive=... 21436585e2bSMarkus Armbruster 21536585e2bSMarkus Armbrusterbecome 21636585e2bSMarkus Armbruster:: 21736585e2bSMarkus Armbruster 21836585e2bSMarkus Armbruster -device floppy,unit=0,drive=... 21936585e2bSMarkus Armbruster 22036585e2bSMarkus Armbrusterand 22136585e2bSMarkus Armbruster:: 22236585e2bSMarkus Armbruster 22336585e2bSMarkus Armbruster -global isa-fdc.driveB=... 22436585e2bSMarkus Armbruster -global sysbus-fdc.driveB=... 22536585e2bSMarkus Armbruster 22636585e2bSMarkus Armbrusterbecome 22736585e2bSMarkus Armbruster:: 22836585e2bSMarkus Armbruster 22936585e2bSMarkus Armbruster -device floppy,unit=1,drive=... 23036585e2bSMarkus Armbruster 23136585e2bSMarkus ArmbrusterWhen plugging in a floppy controller 23236585e2bSMarkus Armbruster:: 23336585e2bSMarkus Armbruster 23436585e2bSMarkus Armbruster -device isa-fdc,...,driveA=... 23536585e2bSMarkus Armbruster 23636585e2bSMarkus Armbrusterbecomes 23736585e2bSMarkus Armbruster:: 23836585e2bSMarkus Armbruster 23936585e2bSMarkus Armbruster -device isa-fdc,... 24036585e2bSMarkus Armbruster -device floppy,unit=0,drive=... 24136585e2bSMarkus Armbruster 24236585e2bSMarkus Armbrusterand 24336585e2bSMarkus Armbruster:: 24436585e2bSMarkus Armbruster 24536585e2bSMarkus Armbruster -device isa-fdc,...,driveB=... 24636585e2bSMarkus Armbruster 24736585e2bSMarkus Armbrusterbecomes 24836585e2bSMarkus Armbruster:: 24936585e2bSMarkus Armbruster 25036585e2bSMarkus Armbruster -device isa-fdc,... 25136585e2bSMarkus Armbruster -device floppy,unit=1,drive=... 25236585e2bSMarkus Armbruster 253fe9f70a1SMarkus Armbruster``-drive`` with bogus interface type (removed in 6.0) 254fe9f70a1SMarkus Armbruster''''''''''''''''''''''''''''''''''''''''''''''''''''' 255fe9f70a1SMarkus Armbruster 256fe9f70a1SMarkus ArmbrusterDrives with interface types other than ``if=none`` are for onboard 257fe9f70a1SMarkus Armbrusterdevices. Drives the board doesn't pick up can no longer be used with 258fe9f70a1SMarkus Armbruster-device. Use ``if=none`` instead. 259fe9f70a1SMarkus Armbruster 260d2aea775SThomas Huth``-usbdevice ccid`` (removed in 6.0) 261d2aea775SThomas Huth''''''''''''''''''''''''''''''''''''' 262d2aea775SThomas Huth 263d2aea775SThomas HuthThis option was undocumented and not used in the field. 2641662ea9fSPeter MaydellUse ``-device usb-ccid`` instead. 265d2aea775SThomas Huth 2666debd840SAlistair FrancisRISC-V firmware not booted by default (removed in 5.1) 2676debd840SAlistair Francis'''''''''''''''''''''''''''''''''''''''''''''''''''''' 2686debd840SAlistair Francis 2696debd840SAlistair FrancisQEMU 5.1 changes the default behaviour from ``-bios none`` to ``-bios default`` 2706debd840SAlistair Francisfor the RISC-V ``virt`` machine and ``sifive_u`` machine. 27136585e2bSMarkus Armbruster 2722c5060cdSThomas HuthQEMU Machine Protocol (QMP) commands 2732c5060cdSThomas Huth------------------------------------ 2742c5060cdSThomas Huth 2752c5060cdSThomas Huth``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2.0) 2762c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 2772c5060cdSThomas Huth 2782c5060cdSThomas HuthThe "autoload" parameter has been ignored since 2.12.0. All bitmaps 2792c5060cdSThomas Huthare automatically loaded from qcow2 images. 2802c5060cdSThomas Huth 2812c5060cdSThomas Huth``cpu-add`` (removed in 5.2) 2822c5060cdSThomas Huth'''''''''''''''''''''''''''' 2832c5060cdSThomas Huth 2842c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See 2852c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details. 2862c5060cdSThomas Huth 2870afec757SPaolo Bonzini``change`` (removed in 6.0) 2880afec757SPaolo Bonzini''''''''''''''''''''''''''' 2890afec757SPaolo Bonzini 2900afec757SPaolo BonziniUse ``blockdev-change-medium`` or ``change-vnc-password`` instead. 2910afec757SPaolo Bonzini 2928becb360SDaniel P. Berrangé``query-events`` (removed in 6.0) 2938becb360SDaniel P. Berrangé''''''''''''''''''''''''''''''''' 2948becb360SDaniel P. Berrangé 2958becb360SDaniel P. BerrangéThe ``query-events`` command has been superseded by the more powerful 2968becb360SDaniel P. Berrangéand accurate ``query-qmp-schema`` command. 2978becb360SDaniel P. Berrangé 298cbde7be9SDaniel P. Berrangé``migrate_set_cache_size`` and ``query-migrate-cache-size`` (removed in 6.0) 299cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 300cbde7be9SDaniel P. Berrangé 301cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` and ``info migrate_parameters`` instead. 302cbde7be9SDaniel P. Berrangé 303cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0) 304cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 305cbde7be9SDaniel P. Berrangé 306cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` instead. 307cbde7be9SDaniel P. Berrangé 3088af54b91SDaniel P. Berrangé``query-cpus`` (removed in 6.0) 3098af54b91SDaniel P. Berrangé''''''''''''''''''''''''''''''' 3108af54b91SDaniel P. Berrangé 3118af54b91SDaniel P. BerrangéThe ``query-cpus`` command is replaced by the ``query-cpus-fast`` command. 3128af54b91SDaniel P. Berrangé 313445a5b40SDaniel P. Berrangé``query-cpus-fast`` ``arch`` output member (removed in 6.0) 314445a5b40SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 315445a5b40SDaniel P. Berrangé 316445a5b40SDaniel P. BerrangéThe ``arch`` output member of the ``query-cpus-fast`` command is 317445a5b40SDaniel P. Berrangéreplaced by the ``target`` output member. 318445a5b40SDaniel P. Berrangé 31924e13a4dSDaniel P. Berrangéchardev client socket with ``wait`` option (removed in 6.0) 32024e13a4dSDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 32124e13a4dSDaniel P. Berrangé 32224e13a4dSDaniel P. BerrangéCharacter devices creating sockets in client mode should not specify 32324e13a4dSDaniel P. Berrangéthe 'wait' field, which is only applicable to sockets in server mode 32424e13a4dSDaniel P. Berrangé 325ad1324e0SDaniel P. Berrangé``query-named-block-nodes`` result ``encryption_key_missing`` (removed in 6.0) 326ad1324e0SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 327ad1324e0SDaniel P. Berrangé 328ad1324e0SDaniel P. BerrangéRemoved with no replacement. 329ad1324e0SDaniel P. Berrangé 330ad1324e0SDaniel P. Berrangé``query-block`` result ``inserted.encryption_key_missing`` (removed in 6.0) 331ad1324e0SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 332ad1324e0SDaniel P. Berrangé 333ad1324e0SDaniel P. BerrangéRemoved with no replacement. 334ad1324e0SDaniel P. Berrangé 33581cbfd50SDaniel P. Berrangé``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].status (removed in 6.0) 33681cbfd50SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 33781cbfd50SDaniel P. Berrangé 33881cbfd50SDaniel P. BerrangéThe ``status`` field of the ``BlockDirtyInfo`` structure, returned by 33981cbfd50SDaniel P. Berrangéthese commands is removed. Two new boolean fields, ``recording`` and 34081cbfd50SDaniel P. Berrangé``busy`` effectively replace it. 34181cbfd50SDaniel P. Berrangé 342e67d8e29SDaniel P. Berrangé``query-block`` result field ``dirty-bitmaps`` (removed in 6.0) 343e67d8e29SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 344e67d8e29SDaniel P. Berrangé 345e67d8e29SDaniel P. BerrangéThe ``dirty-bitmaps`` field of the ``BlockInfo`` structure, returned by 346e67d8e29SDaniel P. Berrangéthe query-block command is itself now removed. The ``dirty-bitmaps`` 347e67d8e29SDaniel P. Berrangéfield of the ``BlockDeviceInfo`` struct should be used instead, which is the 348e67d8e29SDaniel P. Berrangétype of the ``inserted`` field in query-block replies, as well as the 349e67d8e29SDaniel P. Berrangétype of array items in query-named-block-nodes. 350e67d8e29SDaniel P. Berrangé 35150243407SKevin Wolf``object-add`` option ``props`` (removed in 6.0) 35250243407SKevin Wolf'''''''''''''''''''''''''''''''''''''''''''''''' 35350243407SKevin Wolf 35450243407SKevin WolfSpecify the properties for the object as top-level arguments instead. 35550243407SKevin Wolf 3562c5060cdSThomas HuthHuman Monitor Protocol (HMP) commands 3572c5060cdSThomas Huth------------------------------------- 3582c5060cdSThomas Huth 3592c5060cdSThomas HuthThe ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0) 3602c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 3612c5060cdSThomas Huth 3622c5060cdSThomas HuthThe ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and 3632c5060cdSThomas Huth'hostfwd_remove' HMP commands has been replaced by ``netdev_id``. 3642c5060cdSThomas Huth 3652c5060cdSThomas Huth``cpu-add`` (removed in 5.2) 3662c5060cdSThomas Huth'''''''''''''''''''''''''''' 3672c5060cdSThomas Huth 3682c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See 3692c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details. 3702c5060cdSThomas Huth 371cfb5387aSPaolo Bonzini``change vnc TARGET`` (removed in 6.0) 372cfb5387aSPaolo Bonzini'''''''''''''''''''''''''''''''''''''' 373cfb5387aSPaolo Bonzini 374cfb5387aSPaolo BonziniNo replacement. The ``change vnc password`` and ``change DEVICE MEDIUM`` 375cfb5387aSPaolo Bonzinicommands are not affected. 376cfb5387aSPaolo Bonzini 3775994dcb8SDaniel P. Berrangé``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (removed in 6.0) 3785994dcb8SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 3795994dcb8SDaniel P. Berrangé 3805994dcb8SDaniel P. BerrangéThe ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, and 3815994dcb8SDaniel P. Berrangé``acl_remove`` commands were removed with no replacement. Authorization 3825994dcb8SDaniel P. Berrangéfor VNC should be performed using the pluggable QAuthZ objects. 3835994dcb8SDaniel P. Berrangé 384cbde7be9SDaniel P. Berrangé``migrate-set-cache-size`` and ``info migrate-cache-size`` (removed in 6.0) 385cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 386cbde7be9SDaniel P. Berrangé 387cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` and ``info migrate-parameters`` instead. 388cbde7be9SDaniel P. Berrangé 389cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0) 390cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 391cbde7be9SDaniel P. Berrangé 392cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` instead. 393cbde7be9SDaniel P. Berrangé 394ca24b0b9SBruno Larsen (billionai)``info cpustats`` (removed in 6.1) 395ca24b0b9SBruno Larsen (billionai)'''''''''''''''''''''''''''''''''' 396ca24b0b9SBruno Larsen (billionai) 397ca24b0b9SBruno Larsen (billionai)This command didn't produce any output already. Removed with no replacement. 398ca24b0b9SBruno Larsen (billionai) 3992c5060cdSThomas HuthGuest Emulator ISAs 4002c5060cdSThomas Huth------------------- 4012c5060cdSThomas Huth 4022c5060cdSThomas HuthRISC-V ISA privilege specification version 1.09.1 (removed in 5.1) 4032c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 4042c5060cdSThomas Huth 4052c5060cdSThomas HuthThe RISC-V ISA privilege specification version 1.09.1 has been removed. 4062c5060cdSThomas HuthQEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these 4072c5060cdSThomas Huthshould be used instead of the 1.09.1 version. 4082c5060cdSThomas Huth 4092c5060cdSThomas HuthSystem emulator CPUS 4102c5060cdSThomas Huth-------------------- 4112c5060cdSThomas Huth 4122c5060cdSThomas HuthKVM guest support on 32-bit Arm hosts (removed in 5.2) 4132c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''' 4142c5060cdSThomas Huth 4152c5060cdSThomas HuthThe Linux kernel has dropped support for allowing 32-bit Arm systems 4162c5060cdSThomas Huthto host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating 4172c5060cdSThomas Huthits support for this configuration and will remove it in a future version. 4182c5060cdSThomas HuthRunning 32-bit guests on a 64-bit Arm host remains supported. 4192c5060cdSThomas Huth 4202c5060cdSThomas HuthRISC-V ISA Specific CPUs (removed in 5.1) 4212c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''' 4222c5060cdSThomas Huth 4232c5060cdSThomas HuthThe RISC-V cpus with the ISA version in the CPU name have been removed. The 4242c5060cdSThomas Huthfour CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and 4252c5060cdSThomas Huth``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec`` 4262c5060cdSThomas Huthoption when using the ``rv32`` or ``rv64`` CPUs. 4272c5060cdSThomas Huth 4282c5060cdSThomas HuthRISC-V no MMU CPUs (removed in 5.1) 4292c5060cdSThomas Huth''''''''''''''''''''''''''''''''''' 4302c5060cdSThomas Huth 4312c5060cdSThomas HuthThe RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and 4322c5060cdSThomas Huth``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified 4332c5060cdSThomas Huthvia the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs. 4342c5060cdSThomas Huth 435a058b895SGreg Kurz``compat`` property of server class POWER CPUs (removed in 6.0) 436a058b895SGreg Kurz''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 437a058b895SGreg Kurz 438a058b895SGreg KurzThe ``max-cpu-compat`` property of the ``pseries`` machine type should be used 439a058b895SGreg Kurzinstead. 440a058b895SGreg Kurz 441875bb7e3SThomas Huth``moxie`` CPU (removed in 6.1) 442875bb7e3SThomas Huth'''''''''''''''''''''''''''''' 443875bb7e3SThomas Huth 444875bb7e3SThomas HuthNobody was using this CPU emulation in QEMU, and there were no test images 445875bb7e3SThomas Huthavailable to make sure that the code is still working, so it has been removed 446875bb7e3SThomas Huthwithout replacement. 447875bb7e3SThomas Huth 4489d49bcf6SMarkus Armbruster``lm32`` CPUs (removed in 6.1.0) 4499d49bcf6SMarkus Armbruster'''''''''''''''''''''''''''''''' 4509d49bcf6SMarkus Armbruster 4519d49bcf6SMarkus ArmbrusterThe only public user of this architecture was the milkymist project, 4529d49bcf6SMarkus Armbrusterwhich has been dead for years; there was never an upstream Linux 4539d49bcf6SMarkus Armbrusterport. Removed without replacement. 4549d49bcf6SMarkus Armbruster 45543692239SMarkus Armbruster``unicore32`` CPUs (since 6.1.0) 45643692239SMarkus Armbruster'''''''''''''''''''''''''''''''' 45743692239SMarkus Armbruster 45843692239SMarkus ArmbrusterSupport for this CPU was removed from the upstream Linux kernel, and 45943692239SMarkus Armbrusterthere is no available upstream toolchain to build binaries for it. 46043692239SMarkus ArmbrusterRemoved without replacement. 46143692239SMarkus Armbruster 4622c5060cdSThomas HuthSystem emulator machines 4632c5060cdSThomas Huth------------------------ 4642c5060cdSThomas Huth 4652c5060cdSThomas Huth``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1) 4662c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''' 4672c5060cdSThomas Huth 4682c5060cdSThomas HuthThe version specific Spike machines have been removed in favour of the 4692c5060cdSThomas Huthgeneric ``spike`` machine. If you need to specify an older version of the RISC-V 4702c5060cdSThomas Huthspec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument. 4712c5060cdSThomas Huth 4722c5060cdSThomas Huthmips ``r4k`` platform (removed in 5.2) 4732c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''' 4742c5060cdSThomas Huth 4752c5060cdSThomas HuthThis machine type was very old and unmaintained. Users should use the ``malta`` 4762c5060cdSThomas Huthmachine type instead. 4772c5060cdSThomas Huth 478cd669e20SPhilippe Mathieu-Daudémips ``fulong2e`` machine alias (removed in 6.0) 479cd669e20SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''' 480cd669e20SPhilippe Mathieu-Daudé 481cd669e20SPhilippe Mathieu-DaudéThis machine has been renamed ``fuloong2e``. 482cd669e20SPhilippe Mathieu-Daudé 483f862ddbbSThomas Huth``pc-1.0``, ``pc-1.1``, ``pc-1.2`` and ``pc-1.3`` (removed in 6.0) 484f862ddbbSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 485f862ddbbSThomas Huth 486f862ddbbSThomas HuthThese machine types were very old and likely could not be used for live 487f862ddbbSThomas Huthmigration from old QEMU versions anymore. Use a newer machine type instead. 488f862ddbbSThomas Huth 4892cc1a901SThomas Huth 4902cc1a901SThomas Huthlinux-user mode CPUs 4912cc1a901SThomas Huth-------------------- 4922cc1a901SThomas Huth 4932cc1a901SThomas Huth``tilegx`` CPUs (removed in 6.0) 4942cc1a901SThomas Huth'''''''''''''''''''''''''''''''' 4952cc1a901SThomas Huth 4962cc1a901SThomas HuthThe ``tilegx`` guest CPU support has been removed without replacement. It was 4972cc1a901SThomas Huthonly implemented in linux-user mode, but support for this CPU was removed from 4982cc1a901SThomas Huththe upstream Linux kernel in 2018, and it has also been dropped from glibc, so 4992cc1a901SThomas Huththere is no new Linux development taking place with this architecture. For 5002cc1a901SThomas Huthrunning the old binaries, you can use older versions of QEMU. 5012cc1a901SThomas Huth 502b5010183SDaniel P. BerrangéSystem emulator devices 503b5010183SDaniel P. Berrangé----------------------- 504b5010183SDaniel P. Berrangé 505b5010183SDaniel P. Berrangé``ide-drive`` (removed in 6.0) 506b5010183SDaniel P. Berrangé'''''''''''''''''''''''''''''' 507b5010183SDaniel P. Berrangé 508b5010183SDaniel P. BerrangéThe 'ide-drive' device has been removed. Users should use 'ide-hd' or 509b5010183SDaniel P. Berrangé'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed. 5102cc1a901SThomas Huth 511879be3afSDaniel P. Berrangé``scsi-disk`` (removed in 6.0) 512879be3afSDaniel P. Berrangé'''''''''''''''''''''''''''''' 513879be3afSDaniel P. Berrangé 514879be3afSDaniel P. BerrangéThe 'scsi-disk' device has been removed. Users should use 'scsi-hd' or 515879be3afSDaniel P. Berrangé'scsi-cd' as appropriate to get a SCSI hard disk or CD-ROM as needed. 516879be3afSDaniel P. Berrangé 5172c5060cdSThomas HuthRelated binaries 5182c5060cdSThomas Huth---------------- 5192c5060cdSThomas Huth 5202c5060cdSThomas Huth``qemu-nbd --partition`` (removed in 5.0) 5212c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''' 5222c5060cdSThomas Huth 5232c5060cdSThomas HuthThe ``qemu-nbd --partition $digit`` code (also spelled ``-P``) 5242c5060cdSThomas Huthcould only handle MBR partitions, and never correctly handled logical 5252c5060cdSThomas Huthpartitions beyond partition 5. Exporting a partition can still be 5262c5060cdSThomas Huthdone by utilizing the ``--image-opts`` option with a raw blockdev 5272c5060cdSThomas Huthusing the ``offset`` and ``size`` parameters layered on top of 5282c5060cdSThomas Huthany other existing blockdev. For example, if partition 1 is 100MiB 5292c5060cdSThomas Huthlong starting at 1MiB, the old command:: 5302c5060cdSThomas Huth 5312c5060cdSThomas Huth qemu-nbd -t -P 1 -f qcow2 file.qcow2 5322c5060cdSThomas Huth 5332c5060cdSThomas Huthcan be rewritten as:: 5342c5060cdSThomas Huth 5352c5060cdSThomas Huth qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2 5362c5060cdSThomas Huth 5372c5060cdSThomas Huth``qemu-img convert -n -o`` (removed in 5.1) 5382c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''' 5392c5060cdSThomas Huth 5402c5060cdSThomas HuthAll options specified in ``-o`` are image creation options, so 5412c5060cdSThomas Huththey are now rejected when used with ``-n`` to skip image creation. 5422c5060cdSThomas Huth 5432c5060cdSThomas Huth 5442c5060cdSThomas Huth``qemu-img create -b bad file $size`` (removed in 5.1) 5452c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''' 5462c5060cdSThomas Huth 5472c5060cdSThomas HuthWhen creating an image with a backing file that could not be opened, 5482c5060cdSThomas Huth``qemu-img create`` used to issue a warning about the failure but 5492c5060cdSThomas Huthproceed with the image creation if an explicit size was provided. 5502c5060cdSThomas HuthHowever, as the ``-u`` option exists for this purpose, it is safer to 5512c5060cdSThomas Huthenforce that any failure to open the backing image (including if the 5522c5060cdSThomas Huthbacking file is missing or an incorrect format was specified) is an 5532c5060cdSThomas Hutherror when ``-u`` is not used. 5542c5060cdSThomas Huth 5552c5060cdSThomas HuthCommand line options 5562c5060cdSThomas Huth-------------------- 5572c5060cdSThomas Huth 5582c5060cdSThomas Huth``-smp`` (invalid topologies) (removed 5.2) 5592c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''' 5602c5060cdSThomas Huth 5612c5060cdSThomas HuthCPU topology properties should describe whole machine topology including 5622c5060cdSThomas Huthpossible CPUs. 5632c5060cdSThomas Huth 5642c5060cdSThomas HuthHowever, historically it was possible to start QEMU with an incorrect topology 5652c5060cdSThomas Huthwhere *n* <= *sockets* * *cores* * *threads* < *maxcpus*, 5662c5060cdSThomas Huthwhich could lead to an incorrect topology enumeration by the guest. 5672c5060cdSThomas HuthSupport for invalid topologies is removed, the user must ensure 5682c5060cdSThomas Huthtopologies described with -smp include all possible cpus, i.e. 5692c5060cdSThomas Huth*sockets* * *cores* * *threads* = *maxcpus*. 5702c5060cdSThomas Huth 5712c5060cdSThomas Huth``-numa`` node (without memory specified) (removed 5.2) 5722c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''' 5732c5060cdSThomas Huth 5742c5060cdSThomas HuthSplitting RAM by default between NUMA nodes had the same issues as ``mem`` 5752c5060cdSThomas Huthparameter with the difference that the role of the user plays QEMU using 5762c5060cdSThomas Huthimplicit generic or board specific splitting rule. 5772c5060cdSThomas HuthUse ``memdev`` with *memory-backend-ram* backend or ``mem`` (if 5782c5060cdSThomas Huthit's supported by used machine type) to define mapping explicitly instead. 5792c5060cdSThomas HuthUsers of existing VMs, wishing to preserve the same RAM distribution, should 5802c5060cdSThomas Huthconfigure it explicitly using ``-numa node,memdev`` options. Current RAM 5812c5060cdSThomas Huthdistribution can be retrieved using HMP command ``info numa`` and if separate 5822c5060cdSThomas Huthmemory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract 5832c5060cdSThomas Huthdevice memory from output of ``info numa``. 5842c5060cdSThomas Huth 5852c5060cdSThomas Huth``-numa node,mem=``\ *size* (removed in 5.1) 5862c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''' 5872c5060cdSThomas Huth 5882c5060cdSThomas HuthThe parameter ``mem`` of ``-numa node`` was used to assign a part of 5892c5060cdSThomas Huthguest RAM to a NUMA node. But when using it, it's impossible to manage a specified 5902c5060cdSThomas HuthRAM chunk on the host side (like bind it to a host node, setting bind policy, ...), 5912c5060cdSThomas Huthso the guest ends up with the fake NUMA configuration with suboptiomal performance. 5922c5060cdSThomas HuthHowever since 2014 there is an alternative way to assign RAM to a NUMA node 5932c5060cdSThomas Huthusing parameter ``memdev``, which does the same as ``mem`` and adds 5942c5060cdSThomas Huthmeans to actually manage node RAM on the host side. Use parameter ``memdev`` 5952c5060cdSThomas Huthwith *memory-backend-ram* backend as replacement for parameter ``mem`` 5962c5060cdSThomas Huthto achieve the same fake NUMA effect or a properly configured 5972c5060cdSThomas Huth*memory-backend-file* backend to actually benefit from NUMA configuration. 5982c5060cdSThomas HuthNew machine versions (since 5.1) will not accept the option but it will still 5992c5060cdSThomas Huthwork with old machine types. User can check the QAPI schema to see if the legacy 6002c5060cdSThomas Huthoption is supported by looking at MachineInfo::numa-mem-supported property. 6012c5060cdSThomas Huth 6022c5060cdSThomas Huth``-mem-path`` fallback to RAM (removed in 5.0) 6032c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''' 6042c5060cdSThomas Huth 6052c5060cdSThomas HuthIf guest RAM allocation from file pointed by ``mem-path`` failed, 6062c5060cdSThomas HuthQEMU was falling back to allocating from RAM, which might have resulted 6072c5060cdSThomas Huthin unpredictable behavior since the backing file specified by the user 6082c5060cdSThomas Huthas ignored. Currently, users are responsible for making sure the backing storage 6092c5060cdSThomas Huthspecified with ``-mem-path`` can actually provide the guest RAM configured with 6102c5060cdSThomas Huth``-m`` and QEMU fails to start up if RAM allocation is unsuccessful. 6112c5060cdSThomas Huth 6122c5060cdSThomas Huth``-smp`` (invalid topologies) (removed 5.2) 6132c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''' 6142c5060cdSThomas Huth 6152c5060cdSThomas HuthCPU topology properties should describe whole machine topology including 6162c5060cdSThomas Huthpossible CPUs. 6172c5060cdSThomas Huth 6182c5060cdSThomas HuthHowever, historically it was possible to start QEMU with an incorrect topology 6192c5060cdSThomas Huthwhere *n* <= *sockets* * *cores* * *threads* < *maxcpus*, 6202c5060cdSThomas Huthwhich could lead to an incorrect topology enumeration by the guest. 6212c5060cdSThomas HuthSupport for invalid topologies is removed, the user must ensure 6222c5060cdSThomas Huthtopologies described with -smp include all possible cpus, i.e. 6232c5060cdSThomas Huth*sockets* * *cores* * *threads* = *maxcpus*. 6242c5060cdSThomas Huth 6252c5060cdSThomas Huth``-machine enforce-config-section=on|off`` (removed 5.2) 6262c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''' 6272c5060cdSThomas Huth 6282c5060cdSThomas HuthThe ``enforce-config-section`` property was replaced by the 6292c5060cdSThomas Huth``-global migration.send-configuration={on|off}`` option. 6302c5060cdSThomas Huth 6315a385bf5SEric Blakeqemu-img amend to adjust backing file (removed in 6.1) 6325a385bf5SEric Blake'''''''''''''''''''''''''''''''''''''''''''''''''''''' 6335a385bf5SEric Blake 6345a385bf5SEric BlakeThe use of ``qemu-img amend`` to modify the name or format of a qcow2 6355a385bf5SEric Blakebacking image was never fully documented or tested, and interferes 6365a385bf5SEric Blakewith other amend operations that need access to the original backing 6375a385bf5SEric Blakeimage (such as deciding whether a v3 zero cluster may be left 6385a385bf5SEric Blakeunallocated when converting to a v2 image). Any changes to the 6395a385bf5SEric Blakebacking chain should be performed with ``qemu-img rebase -u`` either 6405a385bf5SEric Blakebefore or after the remaining changes being performed by amend, as 6415a385bf5SEric Blakeappropriate. 6425a385bf5SEric Blake 643497a30dbSEric Blakeqemu-img backing file without format (removed in 6.1) 644497a30dbSEric Blake''''''''''''''''''''''''''''''''''''''''''''''''''''' 645497a30dbSEric Blake 646497a30dbSEric BlakeThe use of ``qemu-img create``, ``qemu-img rebase``, or ``qemu-img 647497a30dbSEric Blakeconvert`` to create or modify an image that depends on a backing file 648497a30dbSEric Blakenow requires that an explicit backing format be provided. This is 649497a30dbSEric Blakefor safety: if QEMU probes a different format than what you thought, 650497a30dbSEric Blakethe data presented to the guest will be corrupt; similarly, presenting 651497a30dbSEric Blakea raw image to a guest allows a potential security exploit if a future 652497a30dbSEric Blakeprobe sees a non-raw image based on guest writes. 653497a30dbSEric Blake 654497a30dbSEric BlakeTo avoid creating unsafe backing chains, you must pass ``-o 655497a30dbSEric Blakebacking_fmt=`` (or the shorthand ``-F`` during create) to specify the 656497a30dbSEric Blakeintended backing format. You may use ``qemu-img rebase -u`` to 657497a30dbSEric Blakeretroactively add a backing format to an existing image. However, be 658497a30dbSEric Blakeaware that there are already potential security risks to blindly using 659497a30dbSEric Blake``qemu-img info`` to probe the format of an untrusted backing image, 660497a30dbSEric Blakewhen deciding what format to add into an existing image. 661497a30dbSEric Blake 6622c5060cdSThomas HuthBlock devices 6632c5060cdSThomas Huth------------- 6642c5060cdSThomas Huth 6652c5060cdSThomas HuthVXHS backend (removed in 5.1) 6662c5060cdSThomas Huth''''''''''''''''''''''''''''' 6672c5060cdSThomas Huth 6682c5060cdSThomas HuthThe VXHS code did not compile since v2.12.0. It was removed in 5.1. 66909ec8517SMarkus Armbruster 67009ec8517SMarkus Armbruster``sheepdog`` driver (removed in 6.0) 67109ec8517SMarkus Armbruster'''''''''''''''''''''''''''''''''''' 67209ec8517SMarkus Armbruster 67309ec8517SMarkus ArmbrusterThe corresponding upstream server project is no longer maintained. 67409ec8517SMarkus ArmbrusterUsers are recommended to switch to an alternative distributed block 67509ec8517SMarkus Armbrusterdevice driver such as RBD. 676