[CentOS-virt] virsh error: driver is not whitelisted

Wed Apr 19 15:00:22 UTC 2017
Marco Aurelio L. Gomes <mgomes at ncc.unesp.br>

Hi,

I'm using virsh to instance a VM in my environment, but I'm running on 
some issues. I created the following domain file:

<domain type='kvm'>
   <name>demovm</name>
   <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid>
   <memory unit='KiB'>4194304</memory>
   <currentMemory unit='KiB'>4194304</currentMemory>
   <memoryBacking>
     <hugepages>
       <page size='2' unit='M' nodeset='0'/>
     </hugepages>
   </memoryBacking>
   <vcpu placement='static'>2</vcpu>
   <cputune>
     <shares>4096</shares>
     <vcpupin vcpu='0' cpuset='4'/>
     <vcpupin vcpu='1' cpuset='5'/>
     <emulatorpin cpuset='4,5'/>
   </cputune>
   <os>
     <type arch='x86_64' machine='pc'>hvm</type>
     <boot dev='hd'/>
   </os>
   <features>
     <acpi/>
     <apic/>
   </features>
   <cpu mode='host-model'>
     <model fallback='allow'/>
     <topology sockets='2' cores='1' threads='1'/>
     <numa>
       <cell id='0' cpus='0-1' memory='4194304' unit='KiB' 
memAccess='shared'/>
     </numa>
   </cpu>
   <on_poweroff>destroy</on_poweroff>
   <on_reboot>restart</on_reboot>
   <on_crash>destroy</on_crash>
   <devices>
     <emulator>/usr/libexec/qemu-kvm</emulator>
     <disk type='file' device='disk'>
       <driver name='qemu' type='qcow2' cache='none'/>
       <source file='/root/cirros-0.3.5-x86_64-disk.img'/>
       <target dev='vda' bus='virtio'/>
     </disk>
     <disk type='dir' device='disk'>
       <driver name='qemu' type='fat'/>
       <source dir='/usr/src/dpdk-stable-16.11.1'/>
       <target dev='vdb' bus='virtio'/>
       <readonly/>
     </disk>
     <interface type='vhostuser'>
       <mac address='00:00:00:00:00:01'/>
       <source type='unix' path='/var/run/openvswitch/dpdkvhostuser0' 
mode='client'/>
        <model type='virtio'/>
       <driver queues='2'>
         <host mrg_rxbuf='off'/>
       </driver>
     </interface>
     <serial type='pty'>
       <target port='0'/>
     </serial>
     <console type='pty'>
       <target type='serial' port='0'/>
     </console>
   </devices>
</domain>

When I run:

virsh create domain.xml

I got the following error:

error: Failed to create domain from domain.xml
error: internal error: qemu unexpectedly closed the monitor: 
2017-04-17T17:00:37.012369Z qemu-kvm: -drive 
file=fat:/usr/src/dpdk-stable-16.11.1,if=none,id=drive-virtio-disk1,readonly=on: 
Driver 'vvfat' is not whitelisted

If I comment the disk that cause this error, the instance starts without 
error. Is there a way to whitelist this vvfat driver to instance this 
VM?

And the strange thing about this error is that when I check the 
available drives, there is vvfat in the list:

/usr/libexec/qemu-kvm -drive format=?
Supported formats: ftps http null-aio null-co file quorum blkverify 
vvfat blkreplay qed raw qcow2 bochs dmg vmdk parallels vhdx vpc https 
sheepdog host_cdrom ssh host_device nbd gluster qcow iscsi rbd tftp ftp 
vdi blkdebug luks cloop

Here some information about the environment:

cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

virsh --version
2.0.0

/usr/libexec/qemu-kvm --version
QEMU emulator version 2.6.0 (qemu-kvm-ev-2.6.0-28.el7_3.6.1), Copyright 
(c) 2003-2008 Fabrice Bellard

Thanks in advance for the help

Marco Aurelio Gomes
NCC - UNESP