[libvirt] [PATCH 0/6] Introduce a new migration protocol to QEMU driver
by Daniel P. Berrange
The current migration protocol has several flaws
- No initial hook on the source host to do work before
the dst VM is launched
- No ability to restart src VM if dst fails to recv all
migration data, but src successfully sent it all
This introduces a new 5 step migration process to address
this limitation. To support features such as seemless
migration of SPICE clients, and lock driver state passing
this now makes use of the migration cookie feature too
13 years, 6 months
Re: [libvirt] [virt-tools-list] virt-manger: KVM is not available.
by Cole Robinson
On 05/04/2011 01:38 PM, Florian Lindner wrote:
> Am Dienstag 03 Mai 2011, 17:19:48 schrieb Cole Robinson:
>> On 05/02/2011 03:25 PM, Florian Lindner wrote:
>>> Am Montag 02 Mai 2011, 16:23:10 schrieb Cole Robinson:
>>>> On 05/01/2011 05:26 PM, Florian Lindner wrote:
>>>>> Hello!
>>>>>
>>>>> I have a problem with virt-manage saying my KVM wasn't available.
>>>>>
>>>>> System is Archlinux, libvirtd 0.9.0, Kernel 2.6.38.
>>>>> CPU is a Phenom X4, supports virtualization.
>>>>>
>>>>> modprobe kvm and kvm-amd works fine:
>>>>>
>>>>> May 1 23:19:48 localhost kernel: [ 750.262215] kvm: Nested
>>>>> Virtualization enabled
>>>>> May 1 23:19:48 localhost kernel: [ 750.262218] kvm: Nested Paging
>>>>> enabled
>>>>>
>>>>> starting up libvirtd:
>>>>>
>>>>> May 1 23:21:23 localhost kernel: [ 844.527695] Bridge firewalling
>>>>> registered May 1 23:21:23 localhost kernel: [ 844.537781] tun:
>>>>> Universal TUN/TAP device driver, 1.6
>>>>> May 1 23:21:23 localhost kernel: [ 844.537784] tun: (C) 1999-2004 Max
>>>>> Krasnyansky <maxk(a)qualcomm.com>
>>>>> May 1 23:21:23 localhost avahi-daemon[1370]: Withdrawing workstation
>>>>> service for .
>>>>> May 1 23:21:23 localhost avahi-daemon[1370]: Withdrawing workstation
>>>>> service for virbr0.
>>>>> May 1 23:21:23 localhost kernel: [ 844.737116] ip_tables: (C)
>>>>> 2000-2006 Netfilter Core Team
>>>>> May 1 23:21:23 localhost kernel: [ 844.752760] ip6_tables: (C)
>>>>> 2000-2006 Netfilter Core Team
>>>>>
>>>>>
>>>>> start virt-manager as user but granting root priviliges when asked on
>>>>> startup. When creating a new VM it says that KVM is not available.
>>>>>
>>>>> qemu -enable-kvm has worked fine so far.
>>>>>
>>>>> Why is that error message?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Florian
>>>>
>>>> That error means that libvirt did not detect KVM support. Libvirt checks
>>>> for a /usr/bin/qemu* binary, /dev/kvm, and proper permissions to run
>>>> both.
>>>
>>> Permissions should be fine:
>>>
>>> florian@horus ~ % groups
>>> sys kvm scanner florian
>>>
>>> florian@horus ~ % ll /dev/kvm
>>> crw-rw----+ 1 root kvm 10, 232 2. Mai 21:04 /dev/kvm
>>>
>>> florian@horus ~ % ll /usr/bin/qemu*
>>> -rwxr-xr-x 1 root root 2961888 21. Feb 21:10 /usr/bin/qemu*
>>> [...]
>>> -rwxr-xr-x 1 root root 3033280 21. Feb 21:10 /usr/bin/qemu-system-x86_64*
>>> -rwxr-xr-x 1 root root 2055048 21. Feb 21:10 /usr/bin/qemu-x86_64*
>>>
>>>> What's the output of virsh --connect qemu:///session capabilities | grep
>>>> kvm and virsh --connect qemu:///system capabilities | grep kvm ?
>>>
>>> They both return nothing, run as user as well as being run as root. When
>>> run as user the second commands asks for root priviliges which are
>>> granted.
>>
>> Hmm, full output of virsh --connect qemu:///system capabilities (as
>> root) and qemu-system-x86_64 -help would be interesting.
>
> Hey!
>
> both commands outputs are below.
>
> Thanks!
>
> Florian
>
Ah okay. The issue is that libvirt only advertises KVM if it finds a
file named qemu-kvm or kvm, so it won't by default allow using kvm with
a stock qemu release. You can probably work around this by symlinking
/usr/bin/qemu-kvm to /usr/bin/qemu-system-x86_64. Might want to file a
bug with your distro to do the same (or have them actually ship the
forked qemu that is distributed with KVM upstream, since it's generally
what receives the most testing).
The proper fix though is to have libvirt advertise KVM for upstream qemu
binaries if it finds the correct CLI arguments. We will probably need to
do this anyways when the KVM qemu fork is fully merged upstream.
- Cole
> root@horus /home/florian # virsh --connect qemu:///system capabilities
> <capabilities>
>
> <host>
> <uuid>30303234-3144-4437-3039-3942ffffffff</uuid>
> <cpu>
> <arch>x86_64</arch>
> <model>Opteron_G3</model>
> <vendor>AMD</vendor>
> <topology sockets='1' cores='4' threads='1'/>
> <feature name='wdt'/>
> <feature name='skinit'/>
> <feature name='osvw'/>
> <feature name='3dnowprefetch'/>
> <feature name='cr8legacy'/>
> <feature name='extapic'/>
> <feature name='cmp_legacy'/>
> <feature name='3dnow'/>
> <feature name='3dnowext'/>
> <feature name='pdpe1gb'/>
> <feature name='fxsr_opt'/>
> <feature name='mmxext'/>
> <feature name='ht'/>
> <feature name='vme'/>
> </cpu>
> <migration_features>
> <live/>
> <uri_transports>
> <uri_transport>tcp</uri_transport>
> </uri_transports>
> </migration_features>
> </host>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='i686'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu</emulator>
> <machine>pc-0.14</machine>
> <machine canonical='pc-0.14'>pc</machine>
> <machine>pc-0.13</machine>
> <machine>pc-0.12</machine>
> <machine>pc-0.11</machine>
> <machine>pc-0.10</machine>
> <machine>isapc</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <cpuselection/>
> <deviceboot/>
> <pae/>
> <nonpae/>
> <acpi default='on' toggle='yes'/>
> <apic default='on' toggle='no'/>
> </features>
> </guest>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='x86_64'>
> <wordsize>64</wordsize>
> <emulator>/usr/bin/qemu-system-x86_64</emulator>
> <machine>pc-0.14</machine>
> <machine canonical='pc-0.14'>pc</machine>
> <machine>pc-0.13</machine>
> <machine>pc-0.12</machine>
> <machine>pc-0.11</machine>
> <machine>pc-0.10</machine>
> <machine>isapc</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <cpuselection/>
> <deviceboot/>
> <acpi default='on' toggle='yes'/>
> <apic default='on' toggle='no'/>
> </features>
> </guest>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='arm'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu-system-arm</emulator>
> <machine>integratorcp</machine>
> <machine>syborg</machine>
> <machine>musicpal</machine>
> <machine>mainstone</machine>
> <machine>n800</machine>
> <machine>n810</machine>
> <machine>cheetah</machine>
> <machine>sx1</machine>
> <machine>sx1-v1</machine>
> <machine>tosa</machine>
> <machine>akita</machine>
> <machine>spitz</machine>
> <machine>borzoi</machine>
> <machine>terrier</machine>
> <machine>connex</machine>
> <machine>verdex</machine>
> <machine>lm3s811evb</machine>
> <machine>lm3s6965evb</machine>
> <machine>realview-eb</machine>
> <machine>realview-eb-mpcore</machine>
> <machine>realview-pb-a8</machine>
> <machine>realview-pbx-a9</machine>
> <machine>versatilepb</machine>
> <machine>versatileab</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <deviceboot/>
> </features>
> </guest>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='mips'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu-system-mips</emulator>
> <machine>malta</machine>
> <machine>mipssim</machine>
> <machine>magnum</machine>
> <machine>pica61</machine>
> <machine>mips</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <deviceboot/>
> </features>
> </guest>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='mipsel'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu-system-mipsel</emulator>
> <machine>malta</machine>
> <machine>mipssim</machine>
> <machine>magnum</machine>
> <machine>pica61</machine>
> <machine>mips</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <deviceboot/>
> </features>
> </guest>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='sparc'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu-system-sparc</emulator>
> <machine>SS-5</machine>
> <machine>leon3_generic</machine>
> <machine>SS-10</machine>
> <machine>SS-600MP</machine>
> <machine>SS-20</machine>
> <machine>Voyager</machine>
> <machine>LX</machine>
> <machine>SS-4</machine>
> <machine>SPARCClassic</machine>
> <machine>SPARCbook</machine>
> <machine>SS-1000</machine>
> <machine>SS-2000</machine>
> <machine>SS-2</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> </guest>
>
> <guest>
> <os_type>hvm</os_type>
> <arch name='ppc'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu-system-ppc</emulator>
> <machine>g3beige</machine>
> <machine>virtex-ml507</machine>
> <machine>mpc8544ds</machine>
> <machine canonical='bamboo-0.13'>bamboo</machine>
> <machine>bamboo-0.13</machine>
> <machine>bamboo-0.12</machine>
> <machine>ref405ep</machine>
> <machine>taihu</machine>
> <machine>mac99</machine>
> <machine>prep</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <deviceboot/>
> </features>
> </guest>
>
> </capabilities>
>
>
> ----------------------------------------------------
>
> root@horus /home/florian # qemu-system-x86_64 -help
> QEMU emulator version 0.14.0, Copyright (c) 2003-2008 Fabrice Bellard
> usage: qemu [options] [disk_image]
>
> 'disk_image' is a raw hard disk image for IDE hard disk 0
>
> Standard options:
> -h or -help display this help and exit
> -version display version information and exit
> -M machine select emulated machine (-M ? for list)
> -cpu cpu select CPU (-cpu ? for list)
> -smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]
> set the number of CPUs to 'n' [default=1]
> maxcpus= maximum number of total cpus, including
> offline CPUs for hotplug, etc
> cores= number of CPU cores on one socket
> threads= number of threads on one CPU core
> sockets= number of discrete sockets in the system
> -numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]
> -fda/-fdb file use 'file' as floppy disk 0/1 image
> -hda/-hdb file use 'file' as IDE hard disk 0/1 image
> -hdc/-hdd file use 'file' as IDE hard disk 2/3 image
> -cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)
> -drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]
> [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]
> [,cache=writethrough|writeback|none|unsafe][,format=f]
> [,serial=s][,addr=A][,id=name][,aio=threads|native]
> [,readonly=on|off]
> use 'file' as a drive image
> -set group.id.arg=value
> set <arg> parameter for item <id> of type <group>
> i.e. -set drive.$id.file=/path/to/image
> -global driver.property=value
> set a global default for a driver property
> -mtdblock file use 'file' as on-board Flash memory image
> -sd file use 'file' as SecureDigital card image
> -pflash file use 'file' as a parallel flash image
> -boot [order=drives][,once=drives][,menu=on|off]
> 'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)
> -snapshot write to temporary files instead of disk image files
> -m megs set virtual RAM size to megs MB [default=128]
> -mem-path FILE provide backing storage for guest RAM
> -mem-prealloc preallocate guest memory (use with -mem-path)
> -k language use keyboard layout (for example 'fr' for French)
> -audio-help print list of audio drivers and their options
> -soundhw c1,... enable audio support
> and only specified sound cards (comma separated list)
> use -soundhw ? to get the list of supported cards
> use -soundhw all to enable all of them
> -usb enable the USB driver (will be the default soon)
> -usbdevice name add the host or guest USB device 'name'
> -device driver[,prop[=value][,...]]
> add device (based on driver)
> prop=value,... sets driver properties
> use -device ? to print all possible drivers
> use -device driver,? to print all possible properties
> File system options:
> -fsdev local,id=id,path=path,security_model=[mapped|passthrough|none]
> Virtual File system pass-through options:
> -virtfs local,path=path,mount_tag=tag,security_model=[mapped|passthrough|none]
>
> -name string1[,process=string2]
> set the name of the guest
> string1 sets the window title and string2 the process name (on
> Linux)
> -uuid %08x-%04x-%04x-%04x-%012x
> specify machine UUID
>
> Display options:
> -nographic disable graphical output and redirect serial I/Os to console
> -curses use a curses/ncurses interface instead of SDL
> -no-frame open SDL window without a frame and window decorations
> -alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)
> -ctrl-grab use Right-Ctrl to grab mouse (instead of Ctrl-Alt)
> -no-quit disable SDL window close capability
> -sdl enable SDL
> -spice <args> enable spice
> -portrait rotate graphical output 90 deg left (only PXA LCD)
> -vga [std|cirrus|vmware|qxl|xenfb|none]
> select video card type
> -full-screen start in full screen
> -g WxH[xDEPTH] Set the initial graphical resolution and depth
> -vnc display start a VNC server on display
>
> i386 target only:
> -win2k-hack use it when installing Windows 2000 to avoid a disk full bug
> -no-fd-bootchk disable boot signature checking for floppy disks
> -no-acpi disable ACPI
> -no-hpet disable HPET
> -balloon none disable balloon device
> -balloon virtio[,addr=str]
> enable virtio balloon device (default)
> -acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n]
> [,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...]
> ACPI table description
> -smbios file=binary
> load SMBIOS entry from binary file
> -smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]
> specify SMBIOS type 0 fields
> -smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]
> [,uuid=uuid][,sku=str][,family=str]
> specify SMBIOS type 1 fields
>
> Network options:
> -net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]
> create a new Network Interface Card and connect it to VLAN 'n'
> -net user[,vlan=n][,name=str][,net=addr[/mask]][,host=addr][,restrict=y|n]
> [,hostname=host][,dhcpstart=addr][,dns=addr][,tftp=dir][,bootfile=f]
> [,hostfwd=rule][,guestfwd=rule][,smb=dir[,smbserver=addr]]
> connect the user mode network stack to VLAN 'n', configure its
> DHCP server and enabled optional services
> -net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file]
> [,downscript=dfile][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h]
> [,vhostforce=on|off]
> connect the host TAP network interface to VLAN 'n' and use the
> network scripts 'file' (default=/etc/qemu-ifup)
> and 'dfile' (default=/etc/qemu-ifdown)
> use '[down]script=no' to disable script execution
> use 'fd=h' to connect to an already opened TAP interface
> use 'sndbuf=nbytes' to limit the size of the send buffer (the
> default is disabled 'sndbuf=0' to enable flow control set
> 'sndbuf=1048576')
> use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag
> use vnet_hdr=on to make the lack of IFF_VNET_HDR support an
> error condition
> use vhost=on to enable experimental in kernel accelerator
> (only has effect for virtio guests which use MSIX)
> use vhostforce=on to force vhost on for non-MSIX virtio guests
> use 'vhostfd=h' to connect to an already opened vhost net
> device
> -net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port]
> [,connect=host:port]
> connect the vlan 'n' to another VLAN using a socket connection
> -net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port[,localaddr=addr]]
> connect the vlan 'n' to multicast maddr and port
> use 'localaddr=addr' to specify the host address to send
> packets from
> -net vde[,vlan=n][,name=str][,sock=socketpath][,port=n][,group=groupname]
> [,mode=octalmode]
> connect the vlan 'n' to port 'n' of a vde switch running
> on host and listening for incoming connections on
> 'socketpath'.
> Use group 'groupname' and mode 'octalmode' to change default
> ownership and permissions for communication port.
> -net dump[,vlan=n][,file=f][,len=n]
> dump traffic on vlan 'n' to file 'f' (max n bytes per packet)
> -net none use it alone to have zero network devices. If no -net option
> is provided, the default is '-net nic -net user'
> -netdev [user|tap|vde|socket],id=str[,option][,option][,...]
>
> Character device options:
> -chardev null,id=id[,mux=on|off]
> -chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]
> [,server][,nowait][,telnet][,mux=on|off] (tcp)
> -chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)
> -chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]
> [,localport=localport][,ipv4][,ipv6][,mux=on|off]
> -chardev msmouse,id=id[,mux=on|off]
> -chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]
> [,mux=on|off]
> -chardev file,id=id,path=path[,mux=on|off]
> -chardev pipe,id=id,path=path[,mux=on|off]
> -chardev pty,id=id[,mux=on|off]
> -chardev stdio,id=id[,mux=on|off][,signal=on|off]
> -chardev tty,id=id,path=path[,mux=on|off]
> -chardev parport,id=id,path=path[,mux=on|off]
>
> Bluetooth(R) options:
> -bt hci,null dumb bluetooth HCI - doesn't respond to commands
> -bt hci,host[:id]
> use host's HCI with the given name
> -bt hci[,vlan=n]
> emulate a standard HCI in virtual scatternet 'n'
> -bt vhci[,vlan=n]
> add host computer to virtual scatternet 'n' using VHCI
> -bt device:dev[,vlan=n]
> emulate a bluetooth device 'dev' in scatternet 'n'
>
> Linux/Multiboot boot specific:
> -kernel bzImage use 'bzImage' as kernel image
> -append cmdline use 'cmdline' as kernel command line
> -initrd file use 'file' as initial ram disk
>
> Debug/Expert options:
> -serial dev redirect the serial port to char device 'dev'
> -parallel dev redirect the parallel port to char device 'dev'
> -monitor dev redirect the monitor to char device 'dev'
> -qmp dev like -monitor but opens in 'control' mode
> -mon chardev=[name][,mode=readline|control][,default]
> -debugcon dev redirect the debug console to char device 'dev'
> -pidfile file write PID to 'file'
> -singlestep always run in singlestep mode
> -S freeze CPU at startup (use 'c' to start execution)
> -gdb dev wait for gdb connection on 'dev'
> -s shorthand for -gdb tcp::1234
> -d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)
> -hdachs c,h,s[,t]
> force hard disk 0 physical geometry and the optional BIOS
> translation (t=none or lba) (usually qemu can guess them)
> -L path set the directory for the BIOS, VGA BIOS and keymaps
> -bios file set the filename for the BIOS
> -enable-kvm enable KVM full virtualization support
> -xen-domid id specify xen guest domain id
> -xen-create create domain using xen hypercalls, bypassing xend
> warning: should not be used when xend is in use
> -xen-attach attach to existing xen domain
> xend will use this when starting qemu
> -no-reboot exit instead of rebooting
> -no-shutdown stop before shutdown
> -loadvm [tag|id]
> start right away with a saved state (loadvm in monitor)
> -daemonize daemonize QEMU after initializing
> -option-rom rom load a file, rom, into the option ROM space
> -clock force the use of the given methods for timer alarm.
> To see what timers are available use -clock ?
> -rtc [base=utc|localtime|date][,clock=host|vm][,driftfix=none|slew]
> set the RTC base and clock, enable drift fix for clock ticks
> (x86 only)
> -icount [N|auto]
> enable virtual instruction counter with 2^N clock ticks per
> instruction
> -watchdog i6300esb|ib700
> enable virtual hardware watchdog [default=none]
> -watchdog-action reset|shutdown|poweroff|pause|debug|none
> action when watchdog fires [default=reset]
> -echr chr set terminal escape character instead of ctrl-a
> -virtioconsole c
> set virtio console
> -show-cursor show cursor
> -tb-size n set TB size
> -incoming p prepare for incoming migration, listen on port p
> -nodefaults don't create default devices
> -chroot dir chroot to dir just before starting the VM
> -runas user change to user id user just before starting the VM
> -prom-env variable=value
> set OpenBIOS nvram variables
> -semihosting semihosting mode
> -old-param old param mode
> -readconfig <file>
> -writeconfig <file>
> read/write config file
> -nodefconfig
> do not load default config files at startup
>
> During emulation, the following keys are useful:
> ctrl-alt-f toggle full screen
> ctrl-alt-n switch to virtual console 'n'
> ctrl-alt toggle mouse and keyboard grab
>
> When using -nographic, press 'ctrl-a h' to get some help.
>
>
>
>
13 years, 6 months
[libvirt] [PATCH 0/3] Support for marking domains as "tainted"
by Daniel P. Berrange
There are various configurations for virtual domains that we allow,
but do not wish to actively support in production environments.
The support situation is similar to that of binary only or non-GPL
kernel modules, so borrow the kernel's idea of "tainting".
When an undesirable configuration is used on a running VM, set a
suitable taint flag and log a warning. OS distro bug triagers can
see these warnings and decide whether to support users filing bugs
in this scenarios
13 years, 6 months
[libvirt] Error: unable to connect to '/var/run/libvirt/libvirt-sock'
by guan qin
Hi,
I meet with the problem that "Error: unable to connect to
'/var/run/libvirt/libvirt-sock' ".
I do as Error: unable to connect to '/var/run/libvirt/libvirt-sock'
<http://wiki.libvirt.org/page/FAQ#Error:_unable_to_connect_to_.27.2Fvar.2F...>said
but never worked:
root@shahe26:~# virsh
error: unable to connect to '/var/run/libvirt/libvirt-sock', libvirtd may
need to be started: No such file or directory
error: failed to connect to the hypervisor
root@shahe26:~# ls /usr/lib64 | grep libvirt
libvirt
libvirt.a
libvirt.la
libvirt-qemu.a
libvirt-qemu.la
libvirt-qemu.so
libvirt-qemu.so.0
libvirt-qemu.so.0.8.3
libvirt-qemu.so.0.9.0
libvirt.so
libvirt.so.0
libvirt.so.0.8.3
libvirt.so.0.9.0
root@shahe26:~# ls /usr/lib32 | grep libvirt
root@shahe26:~# /etc/init.d/libvirt-bin restart
Restarting libvirt management daemon: /usr/sbin/libvirtd.
root@shahe26:~# virsh
error: unable to connect to '/var/run/libvirt/libvirt-sock', libvirtd may
need to be started: No such file or directory
error: failed to connect to the hypervisor
root@shahe26:~#
I install the libvirt as follows:
#./configure --prefix=/usr --libdir=/usr/lib64
#make
#make install
my OS is debian6.0.1a:
root@shahe26:~# uname -a
Linux shahe26 2.6.32 #1 SMP Wed Apr 27 21:52:04 PDT 2011 x86_64 GNU/Linux
root@shahe26:~#
How to solve this problem?thanks.
best regards,
qinguan
13 years, 6 months
[libvirt] [PATCH] Fix qemuMigrationToFile nonull annotation
by Daniel P. Berrange
The qemuMigrationToFile method was accidentally annotated for
the 'compressor' parameter to be non-null, instead of the
'path' parameter. Thus GCC with -O2, unhelpfully deleted the
entire 'if (compressor == NULL)' block of code during
optimization. Thus NULL was passed to virCommandNew() with
predictably bad results.
* src/qemu/qemu_migration.h: Fix non-null annotation to be
against path instead of compressor
---
src/qemu/qemu_migration.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
This shows that the 'ATTRIBUTE_NONNULL' annotation is actually
really very dangerous to use. GCC is incapable of issuing any
warnings about callers passing NULL, unless they pass a literal
"NULL". If the caller does 'void *p = NULL; foo(p)' it will not
warn. GCC is also not warning about the fact that there is a
huge block of code for 'if (compressor == NULL)' that is "dead"
code and being deleted.
While it is perhaps nice to have ATTRIBUTE_NONNULL for static
analysis tools like clang, IMHO, it is too dangerous for us
to continue to have it enabled in builds. I think we should
define it to a no-op macro, unless explicitly enabled with
configure.
diff --git a/src/qemu/qemu_migration.h b/src/qemu/qemu_migration.h
index f4e86c8..c0f3aa2 100644
--- a/src/qemu/qemu_migration.h
+++ b/src/qemu/qemu_migration.h
@@ -64,7 +64,7 @@ int qemuMigrationToFile(struct qemud_driver *driver, virDomainObjPtr vm,
int fd, off_t offset, const char *path,
const char *compressor,
bool is_reg, bool bypassSecurityDriver)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(6)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(5)
ATTRIBUTE_RETURN_CHECK;
#endif /* __QEMU_MIGRATION_H__ */
--
1.7.4.4
13 years, 6 months
[libvirt] Keep qemu capability data for each VM from startup
by Daniel P. Berrange
Currently, whenever we require QEMU capabilities data, we rerun
QEMU to extract the info. This isn't desirable because it is
inefficient and the QEMU binary may have changed since we started
the guest. This series makes us keep a copy of the capability
data around for lifetime of the VM process
13 years, 6 months
Re: [libvirt] the guest killed itself
by Daniel P. Berrange
On Thu, May 05, 2011 at 05:35:37PM +0800, guan qin wrote:
> Hi,
> Thanks a lot for your reply sincerely!
>
> some version infoemation:
> root@shahe26:~# libvirtd --version
> libvirtd (libvirt) 0.9.0
> root@shahe26:~# kvm --version
> QEMU PC emulator version 0.12.5 (qemu-kvm-0.12.5), Copyright (c) 2003-2008
> Fabrice Bellard
> root@shahe26:~#
Ok, I think the problem is your KVM version. You probably need
to make the /etc/libvirt/qemu.conf changes I mentioned, to get
it to work.
> >
> > If you have oldish versions, you might need to edit /etc/libvirt/qemu.conf
> > and set 'clear_emulator_capabilities = 0', and user=0, group=0 to make QEMU
> > run as root with full privileges.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
13 years, 6 months
[libvirt] the guest killed itself
by guan qin
Hi,
I try to use VT-d, but meet with a strange problem .
I create a VM through "virsh create ***.xml",as follows:
root@shahe26:~# virsh create vt_d_debian.xml
Domain vt_d_debian created from vt_d_debian.xml
root@shahe26:~# virsh list
Id Name State
----------------------------------
4 vt_d_debian running
root@shahe26:~# virsh list
Id Name State
----------------------------------
4 vt_d_debian running
root@shahe26:~# virsh list
Id Name State
----------------------------------
4 vt_d_debian running
root@shahe26:~# virsh list
Id Name State
----------------------------------
4 vt_d_debian no state
root@shahe26:~# virsh list
Id Name State
----------------------------------
root@shahe26:~# vim vt_d_debian.xml
The VM has already killed itself.
user.log:
May 4 06:53:30 shahe26 libvirtd: 06:53:30.649: warning :
qemudParsePCIDeviceStrs:1422 : Unexpected exit status '1', qemu probably
failed
May 4 06:53:30 shahe26 libvirtd: 06:53:30.805: warning :
qemudParsePCIDeviceStrs:1422 : Unexpected exit status '1', qemu probably
failed
May 4 06:53:38 shahe26 libvirtd: 06:53:38.393: error :
qemuMonitorCommandWithHandler:255 : cannot send monitor command 'info
balloon': Connection reset by peer
May 4 06:53:38 shahe26 libvirtd: 06:53:38.393: error :
qemuMonitorTextGetBalloonInfo:555 : operation failed: could not query memory
balloon allocation
kern.log:
May 4 06:53:30 shahe26 kernel: [ 2249.587662] ixgbe: eth2: ixgbe_remove:
complete
May 4 06:53:30 shahe26 kernel: [ 2249.587680] ixgbe 0000:02:00.1: PCI INT B
disabled
May 4 06:53:30 shahe26 kernel: [ 2249.587718] pci-stub 0000:02:00.1:
claimed by stub
May 4 06:53:30 shahe26 kernel: [ 2249.697347] pci-stub 0000:02:00.1: PCI
INT B -> GSI 34 (level, low) -> IRQ 34
May 4 06:53:30 shahe26 kernel: [ 2249.797730] pci-stub 0000:02:00.1:
restoring config space at offset 0xf (was 0x200, writing 0x205)
May 4 06:53:30 shahe26 kernel: [ 2249.797737] pci-stub 0000:02:00.1:
restoring config space at offset 0xc (was 0x0, writing 0xfbd20000)
May 4 06:53:30 shahe26 kernel: [ 2249.797745] pci-stub 0000:02:00.1:
restoring config space at offset 0x8 (was 0x4, writing 0xfbd1c004)
May 4 06:53:30 shahe26 kernel: [ 2249.797751] pci-stub 0000:02:00.1:
restoring config space at offset 0x6 (was 0x1, writing 0xd881)
May 4 06:53:30 shahe26 kernel: [ 2249.797756] pci-stub 0000:02:00.1:
restoring config space at offset 0x4 (was 0x4, writing 0xfbd40004)
May 4 06:53:30 shahe26 kernel: [ 2249.797761] pci-stub 0000:02:00.1:
restoring config space at offset 0x3 (was 0x800010, writing 0x800040)
May 4 06:53:30 shahe26 kernel: [ 2249.797767] pci-stub 0000:02:00.1:
restoring config space at offset 0x1 (was 0x100000, writing 0x100143)
May 4 06:53:31 shahe26 kernel: [ 2250.050962] assign device: host bdf =
2:0:1
May 4 06:53:37 shahe26 kernel: [ 2256.759165] pci-stub 0000:02:00.1:
restoring config space at offset 0xf (was 0x200, writing 0x205)
May 4 06:53:37 shahe26 kernel: [ 2256.759173] pci-stub 0000:02:00.1:
restoring config space at offset 0xc (was 0x0, writing 0xfbd20000)
May 4 06:53:37 shahe26 kernel: [ 2256.759183] pci-stub 0000:02:00.1:
restoring config space at offset 0x8 (was 0x4, writing 0xfbd1c004)
May 4 06:53:37 shahe26 kernel: [ 2256.759188] pci-stub 0000:02:00.1:
restoring config space at offset 0x6 (was 0x1, writing 0xd881)
May 4 06:53:37 shahe26 kernel: [ 2256.759192] pci-stub 0000:02:00.1:
restoring config space at offset 0x4 (was 0x4, writing 0xfbd40004)
May 4 06:53:37 shahe26 kernel: [ 2256.759195] pci-stub 0000:02:00.1:
restoring config space at offset 0x3 (was 0x800010, writing 0x800040)
May 4 06:53:37 shahe26 kernel: [ 2256.759200] pci-stub 0000:02:00.1:
restoring config space at offset 0x1 (was 0x100000, writing 0x100147)
May 4 06:53:37 shahe26 kernel: [ 2256.759230] pci-stub 0000:02:00.1: PCI
INT B disabled
May 4 06:53:38 shahe26 kernel: [ 2257.259706] ixgbe 0000:02:00.1: PCI INT B
-> GSI 34 (level, low) -> IRQ 34
May 4 06:53:38 shahe26 kernel: [ 2257.259722] ixgbe 0000:02:00.1: setting
latency timer to 64
May 4 06:53:38 shahe26 kernel: [ 2257.382635] ixgbe 0000:02:00.1: irq 105
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382638] ixgbe 0000:02:00.1: irq 106
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382689] ixgbe 0000:02:00.1: irq 128
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382691] ixgbe 0000:02:00.1: irq 129
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382694] ixgbe 0000:02:00.1: irq 130
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382696] ixgbe 0000:02:00.1: irq 131
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382698] ixgbe 0000:02:00.1: irq 132
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382700] ixgbe 0000:02:00.1: irq 133
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382703] ixgbe 0000:02:00.1: irq 134
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382705] ixgbe 0000:02:00.1: irq 135
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382707] ixgbe 0000:02:00.1: irq 136
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382709] ixgbe 0000:02:00.1: irq 137
for MSI/MSI-X
May 4 06:53:38 shahe26 kernel: [ 2257.382744] ixgbe: 0000:02:00.1:
ixgbe_init_interrupt_scheme: Multiqueue Enabled: Rx Queue count = 16, Tx
Queue count = 16
May 4 06:53:38 shahe26 kernel: [ 2257.382749] ixgbe 0000:02:00.1: (PCI
Express:5.0Gb/s:Width x8) 00:a0:d1:ec:dc:49
May 4 06:53:38 shahe26 kernel: [ 2257.382834] ixgbe 0000:02:00.1: MAC: 2,
PHY: 7, SFP+: 3, PBA No: ffffff-0ff
May 4 06:53:38 shahe26 kernel: [ 2257.383724] ixgbe 0000:02:00.1: Intel(R)
10 Gigabit Network Connection
libvirt/qemu/vt_d_debian.log
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/ QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512
-smp 1,sockets=1,cores=1,threads=1 -name vt_d_debian -uuid
5ed196df-319b-7be2-28f4-a070e0ca9d77 -nodefaults -chardev
socket,id=monitor,path=/var/lib/libvirt/qemu/vt_d_debian.monitor,server,nowait
-mon chardev=monitor,mode=readline -rtc base=utc -boot c -drive
file=/root/debian_dev.img,if=none,id=drive-virtio-disk0,boot=on,format=raw
-device
virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0
-usb -device usb-mouse,id=input0 -vnc 127.0.0.1:0 -vga cirrus -device
pci-assign,host=02:00.1,id=hostdev0,bus=pci.0,addr=0x4 -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
Failed to assign irq for "hostdev0": Operation not permitted
Perhaps you are assigning a device that shares an IRQ with another device?
assigned_dev_pci_read_config: pread failed, ret = 0 errno = 1
I don't know how to solve this problem ,can anyone help me ?
best regards,
qinguan
dmesg information is in the attached file dmesg.
<domain type='kvm'>
<name>vt_d_debian</name>
<description>just test using sriov!</description>
<os>
<type>hvm</type>
<boot dev='hd'/>
</os>
<memory>524288</memory>
<currentMemory>524288</currentMemory>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<features><pae/><acpi/><apic/></features>
<clock offset='utc'/>
<devices>
<input type='mouse' bus='usb'/>
<disk type='file' device='disk'>
<source file='/root/debian_dev.img'/>
<!--> use virtio or /'ide' in ide io </!-->
<target dev='hda' bus='virtio'/>
</disk>
<emulator>/usr/bin/kvm</emulator>
<graphics type='vnc' port='-1'/>
<!-->
VT-d or sr-iov assign a pci device just use the
hostdev element!
When managed is "yes" for a PCI device,
it is detached from the host before being passed on
to the guest.
</!-->
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address bus='0x2' slot='0x0'
function='0x1'/>
</source>
</hostdev>
<!-->
Direct attachment to physical interface.requires the Linux
macvtap driver.
<interface type='direct'>
<source dev='eth0' mode='vepa'>
</interface>
</!-->
</devices>
</domain>
13 years, 6 months
[libvirt] Release of libvirt-0.9.1
by Daniel Veillard
As planned and after most of the clang detected problems got fixed
(thanks Eric !) the new release is available at:
ftp://libvirt.org/libvirt/
It's a mixed release, it includes a number of improvements as
well as many bug fixes and a few new features:
Features:
- support various persistent domain updates (KAMEZAWA Hiroyuki)
- improvements on memory APIs (Taku Izumi)
- Add virDomainEventRebootNew (Matthias Bolte)
- various improvements to libxl driver (Markus Groß)
- Spice: support audio, images and stream compression (Michal Privoznik)
Documentation:
- fix missing VLAN id for Qbg example (Gerhard Stenzel)
- docs: Document filesystem tag device (Cole Robinson)
- maint: fix comment typos (Eric Blake)
- Fix two out-of-date comments in LVM backend (Richard Laager)
- docs: Serial and parallel device target ports actually start from 0 (Matthias Bolte)
- maint: fix grammar errors (Eric Blake)
- docs: document freecell --all (Eric Blake)
- docs: remove "returns" word from beginning of lines (Jean-Baptiste Rouault)
- docs: add an IPv6 address to network XML examples (Laine Stump)
Portability:
- build: fix getcwd portability problems (Eric Blake)
- build: avoid test warnings on mingw (Eric Blake)
- virsh: avoid compiler warning on mingw (Eric Blake)
- build: Use pkg-config for libssh2 check (Jiri Denemark)
- build: Ignore old audit library (Jiri Denemark)
- build: fix 32-bit test failure (Eric Blake)
- build: Fix problem of building Python bindings (Osier Yang)
- build: fix 32-bit test failure (Eric Blake)
- ppc: Enable starting of Qemu VMs on ppc host (Stefan Berger)
- Migrate VMs between different-endianess hosts (Stefan Berger)
- build: really fix mingw startup (Eric Blake)
- build: fix mingw build (Eric Blake)
- do not build libvirt_iohelper when building without libvirtd (Wen Congyang)
- virsh: fix mingw startup (Eric Blake)
- build: avoid compiler warning on cygwin (Eric Blake)
- Fix build for older gcc (Jim Fehlig)
- Don't try to enable stack protector on Win32 (Daniel P. Berrange)
Bug Fixes:
- storage: avoid null deref and leak on failure (Eric Blake)
- esx: Avoid null dereference on error in esxDomainGetInfo (Matthias Bolte)
- remote: avoid null dereference on error (Eric Blake)
- cgroup: avoid leaking a file (Eric Blake)
- virsh: avoid null pointer dereference (Eric Blake)
- pci: fix null pointer dereference (Eric Blake)
- qemu: avoid null pointer dereference (Eric Blake)
- tests: avoid null pointer dereference (Eric Blake)
- Fix disability to run on systems with no PCI bus (Michal Privoznik)
- virsh: fix regression in log to file (Supriya Kannery)
- nwfilter: Fix memory leak in the ebtables subdriver (Matthias Bolte)
- qemu: Fix qemuDomainModifyDeviceFlags leaking the caps bitmap (Matthias Bolte)
- Fix memory leak in __virExec (Matthias Bolte)
- hash: fix memory leak regression (Eric Blake)
- Xen: Do not generate net ifname if domain is inactive (Jim Fehlig)
- xen: check if device is assigned to guest before reattaching (Yufang Zhang)
- util: Initialize hooks at daemon shutdown if no hooks defined (Osier Yang)
- fix virsh's regression (Wen Congyang)
- release PCI address only when we have ensured it successfully (Wen Congyang)
- free memory properly in cleanup patch (Hu Tao)
- free buf content when vsnprintf() failed (Wen Congyang)
- esx: Fix dynamic dispatch for CastFromAnyType functions (Matthias Bolte)
- Make crash and live flags mutually exclusive in virDomainCoreDump (Mark Wu)
- Fix small memory leaks in config parsing related functions (Matthias Bolte)
- daemon: Don't try to free an unsigned int in error paths (Matthias Bolte)
- Fix QEMU tunnelled migration FD handling (Daniel P. Berrange)
- Remove artificial minimum limit for guest memory (Jiri Denemark)
- fix tunnelled migration's regression (Wen Congyang)
- qemu: fix the check of virDomainObjUnref()'s return value (Wen Congyang)
- Fix checking of return codes in dispatcher (Daniel P. Berrange)
- qemu: avoid qemu_driver being unlocked twice when virThreadPoolNew() failed (Wen Congyang)
- virsh: fix regression in parsing optional integer (Eric Blake)
- phyp: avoid memory leaks in command values (Eric Blake)
- phyp: avoid memory leak on failure (Eric Blake)
- phyp: avoid a logic bug (Eric Blake)
- free cpumask of vcpupinDef (Hu Tao)
- network: Fix NULL dereference during error recovery (Michal Privoznik)
- Add missing checks for QEMU domain state in tunables APIs (Daniel P. Berrange)
- phyp: Fix too small buffer allocation in phypAttachDevice (Matthias Bolte)
- phyp: Don't overwrite error from virDomainDeviceDefParse by OOM error (Matthias Bolte)
- phyp: Don't try to use a string from a failed virAsprintf (Matthias Bolte)
- phyp: Remove stack allocating a 4kb volume key and fix related memory leaks (Matthias Bolte)
- qemu: fix a dead-lock problem (Hu Tao)
- util: Fix crash when removing entries during hash iteration (Jiri Denemark)
- Fix possible infinite loop in remote driver (Michal Privoznik)
- qemu: Remove the managed state file only if restoring succeeded (Osier Yang)
- reattach pci devices when qemuPrepareHostdevPCIDevices() failed (Wen Congyang)
- reattach pci device when pciBindDeviceToStub() failed (Wen Congyang)
- remove devices from driver activePciHostdevs when qemuPrepareHostdevPCIDevices() failed (Wen Congyang)
- pci: avoid invalid free, init path to NULL (Wen Congyang)
- qemu: Support for overriding NPROC limit (Jiri Denemark)
- qemu: Always reserves slot 0x02 for primary VGA. (Osier Yang)
- Fix typo in systemtap tapset directory name (Daniel P. Berrange)
- qemu: Ignore unusable binaries (Jiri Denemark)
Improvements:
- maint: detect clang 2.9 (Eric Blake)
- qemu: update qemuCgroupControllerActive signature (Eric Blake)
- lxc: report correct error (Eric Blake)
- libxl: avoid compiler warning (Eric Blake)
- storage: use virCommand to avoid compiler warning (Eric Blake)
- tests: Lower stack usage below 4096 bytes (Matthias Bolte)
- tests: Update valgrind suppressions file (Matthias Bolte)
- tests: simplify common setup (Eric Blake)
- network: fix return value of hostsFileWrite (Laine Stump)
- libvirt/qemu - support persistent attach/detach disks (KAMEZAWA Hiroyuki)
- libvirt/qemu - support persistent modification of devices (KAMEZAWA Hiroyuki)
- util: Simplify hash implementation (Jiri Denemark)
- tests: More unit tests for internal hash APIs (Jiri Denemark)
- Move call to virReportOOMError into virFileBuildPath (Matthias Bolte)
- build: use gnulib passfd for simpler SCM_RIGHTS code (Eric Blake)
- qemu: Add flags checking in DomainCoreDump (Jiri Denemark)
- Make sure DNSMASQ_STATE_DIR exists (Guido Günther)
- build: make VIR_FREE do some type checking (Eric Blake)
- threads: add one-time initialization support (Eric Blake)
- esx: Add a wrapper for shared CURL handles (Matthias Bolte)
- esx: Move CURL handling code to it's own type (Matthias Bolte)
- daemon: Honor error variable name change in the generator (Matthias Bolte)
- libvirt/qemu - clean up UpdateDevice for consolidation. (KAMEZAWA Hiroyuki)
- libvirt/qemu - clean up At(De)tachDeviceFlags() for consolidation. (KAMEZAWA Hiroyuki)
- libvirt/qemu - Centralize device modification in the more flexible APIs (KAMEZAWA Hiroyuki)
- Add support for s390(x) cpu options parsing (Michal Privoznik)
- PHYP: Adding reboot domain function (Eduardo Otubo)
- nwfilter: no support for direct type of interface (Stefan Berger)
- Add cputune support to libxl driver (Markus Groß)
- Update and sort msg_gen_function list and mark unmarked messages (Matthias Bolte)
- Write error check conditionals in more compact form for dispatcher (Daniel P. Berrange)
- Merge all returns paths from dispatcher into single path (Daniel P. Berrange)
- Experimental libvirtd upstart job (Alan Pevec)
- enhance processWatchdogEvent() (Wen Congyang)
- xen: Replace statsErrorFunc with a macro (Matthias Bolte)
- tests: Unit tests for internal hash APIs (Jiri Denemark)
- build: include esx_vi.generated.* into dist file (Wen Congyang)
- tests: test recent virsh option parsing changes (Eric Blake)
- virsh: list required options first (Eric Blake)
- phyp: use consistent return string handling (Eric Blake)
- maint: use lighter-weight function for straight appends (Eric Blake)
- libvirt-guests: implement START_DELAY (Alexander Todorov)
- network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars (Laine Stump)
- Introduce virDomainChrDefNew() (Michal Novotny)
- esx: Make the parsed URI part of the private connection data (Matthias Bolte)
- esx: Mark error message in macros for translation (Matthias Bolte)
- esx: Extend VI generator to cover managed object types (Matthias Bolte)
- esx: Cleanup and refactor CastFromAnyType macros (Matthias Bolte)
- esx: Cleanup VI generator code (Matthias Bolte)
- phyp: Reduce code duplication in error and success paths (Matthias Bolte)
- Replace REMOTE_DEBUG with VIR_DEBUG in daemon dispatcher (Daniel P. Berrange)
- Add missing checks for whether the connection is open in dispatcher (Daniel P. Berrange)
- PHYP: Adding network interface (Eduardo Otubo)
- xen: Remove PATH_MAX sized stack allocation from block stats code (Matthias Bolte)
- setmaxmem: add the new options to "virsh setmaxmem" command (Taku Izumi)
- maxmem: implement virDomainSetMaxMemory API of the qemu driver (Taku Izumi)
- maxmem: introduces VIR_DOMAIN_MEM_MAXIMUM flag (Taku Izumi)
- nwfilters: support for TCP flags evaluation (Stefan Berger)
- setmem: add --current option to virsh setmem command (Taku Izumi)
- setmem: add VIR_DOMAIN_MEM_CURRENT support to qemu (Taku Izumi)
- setmem: introduce VIR_DOMAIN_MEM_CURRENT flag (Taku Izumi)
- build: Install libxenlight log dir (Jim Fehlig)
- Add domainSet/GetSchedulerParameters to libxl driver (Markus Groß)
- rename pciUnBindDeviceFromStub() to pciUnbindDeviceFromStub() and float it up (Wen Congyang)
- Add domainIsUpdated to libxl driver (Markus Groß)
- Change locking for udev monitor and callbacks (Serge Hallyn)
- Improve SCSI volume key generation (Daniel P. Berrange)
- qemu: Rewrite LOOKUP_PTYS macro into a function (Jiri Denemark)
- Enable use of -Wold-style-definition compiler flag (Daniel P. Berrange)
- Enable use of -Wmissing-noreturn (Daniel P. Berrange)
- Enable -Wmissing-format-attribute warning (Daniel P. Berrange)
- Use gnulib's manywarnings and warnings modules (Daniel P. Berrange)
- Use virBufferPtr for sexpr2string instead of manual buffer handling (Matthias Bolte)
- xend: Remove 4kb stack allocation (Matthias Bolte)
- uml: Remove PATH_MAX sized stack allocation from /proc parsing code (Matthias Bolte)
- storage: Remove PATH_MAX sized stack allocation from iSCSI backend (Matthias Bolte)
- qemu: Remove PATH_MAX sized stack allocation used in commandline building (Matthias Bolte)
- Remove PATH_MAX sized stack allocation from virFileOpenTtyAt (Matthias Bolte)
- openvz: Remove several larger stack allocations (Matthias Bolte)
- daemon: Remove 4kb stack allocation of security label (Matthias Bolte)
- virsh: Remove two 4kb stack allocations (Matthias Bolte)
- Use virFileAbsPath instead of manually creating the absolute path (Matthias Bolte)
- xenxs: Remove PATH_MAX sized stack allocation in XM script parsing (Matthias Bolte)
- sasl: Remove stack allocated 8kb temporary buffers (Matthias Bolte)
- qemu: Use heap allocated memory to read the monitor greeting (Matthias Bolte)
- phyp: Remove 16kb stack allocation (Matthias Bolte)
- virt-aa-helper: Remove PATH_MAX sized stack allocations (Matthias Bolte)
- ebtables: Remove PATH_MAX sized stack allocation (Matthias Bolte)
- pci: Remove PATH_MAX sized stack allocations (Matthias Bolte)
- Remove PATH_MAX sized stack allocations related to virFileBuildPath (Matthias Bolte)
- vmx: Use case-insensitive compare functions for all content (Matthias Bolte)
- vmx: Support persistent CPU shares (Matthias Bolte)
- Add autostart support to libxl driver (Markus Groß)
- Allow relative path for qemu backing file (Jesse Cook)
- build: detect potentential uninitialized variables (Eric Blake)
Cleanups:
- esx: Disable performance counter queries in esxDomainGetInfo (Matthias Bolte)
- esx: Remove dead store in esxUtil_ParseDatastorePath (Matthias Bolte)
- util: remove dead assignment (Eric Blake)
- qemu: remove dead assignment (Eric Blake)
- qemu: silence clang false positives (Eric Blake)
- tests: suppress more valgrind situations (Eric Blake)
- tests: avoid compiler warning (Eric Blake)
- qemu: fix uninitialized variable warning (Christophe Fergeau)
- build: fix syntax-check failure (Eric Blake)
- virsh: nuke use of TRUE and FALSE (Eric Blake)
- phyp: another simplification (Eric Blake)
- maint: ignore built file (Eric Blake)
- Change some variable names to follow standard in daemon dispatcher (Daniel P. Berrange)
- Remove curly braces on all single-line conditional jumps in dispatcher (Daniel P. Berrange)
- Remove virConnectPtr from virRaiseErrorFull (Matthias Bolte)
- phyp: prefer memcpy over memmove when legal (Eric Blake)
- phyp: use consistent style for labels (Eric Blake)
- phyp: more return handling cleanup (Eric Blake)
- esx: Fix gcc 4.6 warning about initialized but unused variables (Matthias Bolte)
- maint: silence cppi warnings (Eric Blake)
- Fix gcc 4.6 warnings in vbox_tmpl.c (Christophe Fergeau)
- Fix gcc 4.6 warnings (Christophe Fergeau)
- Remove C99 variable declare in PHYP network driver (Daniel P. Berrange)
- Standard on error variable name in libvirtd dispatcher (Daniel P. Berrange)
- Remove all whitespace before function brackets in daemon dispatcher (Daniel P. Berrange)
- docs: tweak virsh restore warning (Eric Blake)
- setmaxmem: remove the code to invoke virDomainSetMemory in cmdSetmaxmem (Taku Izumi)
- build: fix gitignore sorting (Eric Blake)
- tests: fix recent test failures (Eric Blake)
- libxl: avoid compiler warning (Eric Blake)
- Avoid compiler warnings about int to void * casts (Daniel P. Berrange)
- Remove acinclude.m4 file (Daniel P. Berrange)
- Remove possible uninitialized variable in openvz driver (Daniel P. Berrange)
Thanks to everybody who helped with this release in any way,
bug reports, documentation, patches or features !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
13 years, 6 months
[libvirt] [PATCH] maint: detect clang 2.9
by Eric Blake
In Fedora 15, with clang 2.8, 'scan-build env' shows:
CCC_ANALYZER_ANALYSIS=-analyzer-check-objc-mem -analyzer-check-security-syntactic -analyzer-check-dead-stores -analyzer-check-objc-unused-ivars -analyzer-check-objc-methodsigs
But in rawhide, with clang 2.9, the same variable is set but
empty, implying the default set of analysis. We still want
sa_assert defined in that case, to stop clang from hitting
false positives.
* configure.ac (STATIC_ANALYSIS): Detect clang even when the set
of analyses is the default.
---
I'm pushing this under the trivial rule. It has no effect on
a real build, but makes it easier for me to repeat my clang
testing on rawhide.
configure.ac | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7c68bca..314a594 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2297,7 +2297,7 @@ cp -f COPYING.LIB COPYING
# Detect when running under the clang static analyzer's scan-build driver
# or Coverity-prevent's cov-build. Define STATIC_ANALYSIS accordingly.
-test -n "$CCC_ANALYZER_ANALYSIS$COVERITY_BUILD_COMMAND" && t=1 || t=0
+test -n "${CCC_ANALYZER_ANALYSIS+set}$COVERITY_BUILD_COMMAND" && t=1 || t=0
AC_DEFINE_UNQUOTED([STATIC_ANALYSIS], [$t],
[Define to 1 when performing static analysis.])
--
1.7.4.4
13 years, 6 months