Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Eric Blake 9962e406c6 qemu: avoid double shutdown
* src/qemu/qemu_driver.c (qemudShutdownVMDaemon): Check that vm is
still active.
Reported by Wen Congyang as follows:

Steps to reproduce this bug:

1. use gdb to debug libvirtd, and set breakpoint in the function
   qemuConnectMonitor()
2. start a vm, and the libvirtd will be stopped in qemuConnectMonitor()
3. kill -STOP $(cat /var/run/libvirt/qemu/<domain>.pid)
4. continue to run libvirtd in gdb, and libvirtd will be blocked in the
   function qemuMonitorSetCapabilities()
5. kill -9 $(cat /var/run/libvirt/qemu/<domain>.pid)

Here is log of the qemu:
=========
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin ...
char device redirected to /dev/pts/3
2011-01-27 09:38:48.101: shutting down
2011-01-27 09:41:26.401: shutting down
=========

The vm is shut down twice. I do not know whether this behavior has
side effect, but I think we should shutdown the vm only once.
2011-02-03 09:00:35 -07:00
.gnulib@2f41af6508
daemon
docs docs: renamed hudson project link to jenkins, matching project rename 2011-02-02 16:42:54 +11:00
examples
include
m4
po
python
src qemu: avoid double shutdown 2011-02-03 09:00:35 -07:00
tests tests: handle backspace-newline pairs in test input files 2011-01-31 11:25:34 -07:00
tools docs: Update docs for cpu_shares setting 2011-02-01 16:46:17 +08:00
.dir-locals.el
.gitignore
.gitmodules
.mailmap
.x-sc_avoid_ctype_macros
.x-sc_avoid_if_before_free avoid a "make syntax-check" failure 2009-07-09 20:00:37 +02:00
.x-sc_avoid_write
.x-sc_bindtextdomain
.x-sc_m4_quote_check
.x-sc_po_check
.x-sc_prohibit_always_true_header_tests
.x-sc_prohibit_asprintf
.x-sc_prohibit_close
.x-sc_prohibit_empty_lines_at_EOF
.x-sc_prohibit_fork_wrappers
.x-sc_prohibit_gethostby
.x-sc_prohibit_gethostname Add a new syntax-check rule for gethostname. 2009-10-26 10:34:27 +01:00
.x-sc_prohibit_gettext_noop
.x-sc_prohibit_have_config_h
.x-sc_prohibit_HAVE_MBRTOWC
.x-sc_prohibit_nonreentrant
.x-sc_prohibit_readlink
.x-sc_prohibit_sprintf
.x-sc_prohibit_strncpy
.x-sc_prohibit_test_minus_ao
.x-sc_prohibit_VIR_ERR_NO_MEMORY
.x-sc_prohibit_xmlGetProp
.x-sc_require_config_h
.x-sc_require_config_h_first
.x-sc_trailing_blank
.x-sc_unmarked_diagnostics
acinclude.m4
AUTHORS Fix conflicts with glibc globals 2011-02-03 08:58:45 -07:00
autobuild.sh
autogen.sh
bootstrap
bootstrap.conf
cfg.mk
ChangeLog-old
configure.ac build: fix parted detection at configure time 2011-02-01 09:05:05 -07:00
COPYING.LIB
HACKING
libvirt.pc.in
libvirt.spec.in
Makefile.am
Makefile.nonreentrant
mingw32-libvirt.spec.in
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking
TODO

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>