Commit Graph

849 Commits

Author SHA1 Message Date
Daniel P. Berrange
d789ef5a88 Switch over remaining driver code to use memory alloc apis 2008-06-06 11:09:57 +00:00
Daniel P. Berrange
d7d21c85e0 Switch daemon over to use internal memory allocation APIs 2008-06-06 10:52:01 +00:00
Richard W.M. Jones
a73a88a19f virDomainBlockPeek QEMU and remote support
* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
	  Remote support.
	* qemud/remote_dispatch_localvars.h,
	  qemud/remote_dispatch_proc_switch.h,
	  qemud/remote_dispatch_prototypes.h,
	  qemud/remote_protocol.c,
	  qemud/remote_protocol.h:
	  Generated files for remote support.
	* src/xen_unified.c, src/driver.h, src/libvirt.c: Small fix -
	  pass flags around internally.
	* src/qemu_driver.c: Support for QEMU.
	* src/xend_internal.c: Remove redundant fstat call from Xen.
2008-06-05 21:12:26 +00:00
Richard W.M. Jones
8354895e68 virDomainBlockPeek call
* configure.in: Document AC_SYS_LARGEFILE.
	* docs/hvsupport.html.in: Document HV support for virDomainBlockPeek.
	* include/libvirt/libvirt.h.in, src/driver.h, src/libvirt.c,
	src/libvirt_sym.version: Add virDomainBlockPeek infrastructure.
	* src/qemu_driver.c, src/test.c: Null versions of this call.
	* src/xen_unified.c, src/xend_internal.c, src/xend_internal.h,
	src/xm_internal.c, src/xm_internal.h: Xen implementation.
	* tests/sexpr2xmldata/sexpr2xml-curmem.xml,
	tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml: XML output
	has been reordered slightly in the Xen driver, but should be
	functionally the same.
2008-06-05 13:17:45 +00:00
David L. Leskovec
0bd57cdbe1 Fix a few issues related to restart of libvirtd with containers running.
Mon May 12 23:32:21 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>

	* src/lxc_driver.c: Add sanity of tty pid before kill()
	Ignore ECHILD errors during VM cleanup
	Call functions to store tty pid and cleanup tty pid file
	* src/lxc_conf.h: Add function to verify container process exists
	Add facilities to manage storing the tty forward process pid
	* src/lxc_conf.c: Add function to verify container process exists
	Call function to verify container process during config load
	Add facilities to manage storing the tty forward process pid
	Call function to load tty pid during load config
2008-06-05 06:03:00 +00:00
Richard W.M. Jones
eeb224b812 * src/xm_internal.c: If vcpu cpuset attribute is invalid
then display an error instead of silently ignoring it
	(Hiroyuki Kaguchi).
2008-06-03 08:01:45 +00:00
Daniel P. Berrange
aa2bb9c88c Switch to using lcov for code coverage repots 2008-05-29 19:27:04 +00:00
Daniel P. Berrange
5e124764c1 Fix parted check & disable storage driver if daemon isn't present 2008-05-29 19:23:17 +00:00
Daniel P. Berrange
895d0fdf5b Convert to use new memory allocation APIs 2008-05-29 19:20:22 +00:00
Daniel P. Berrange
e8a0db81ef Pass allocation number to callback 2008-05-29 18:47:00 +00:00
Daniel P. Berrange
46f52f32b2 Convert to use new memory allocation APIs 2008-05-29 18:45:36 +00:00
Daniel P. Berrange
489da1c4b1 Fix missing check for memory allocation failure 2008-05-29 18:45:07 +00:00
Daniel P. Berrange
b0bcffda3b Misc OOM / memory leak fixes 2008-05-29 15:28:28 +00:00
Daniel P. Berrange
18da6991e1 Generic OOM testing hooks 2008-05-29 15:13:07 +00:00
Daniel P. Berrange
a9d4944f8e Don't add trailing blanks in dominfo output 2008-05-29 14:56:12 +00:00
Richard W.M. Jones
5c9454aa6e Display autostart status in virsh dominfo command.
* src/virsh.c: Display autostart status in virsh dominfo
	command (Shigeki Sakamoto).
2008-05-27 09:41:25 +00:00
Richard W.M. Jones
e083fc786c Fix use of header files in disk storage backend.
* src/storage_backend_disk.c: Include internal.h to resolve use
	of header files.
2008-05-27 08:56:56 +00:00
Richard W.M. Jones
f60dc0bc09 Deprecate the conn, dom and net fields in the _virError structure.
* include/libvirt/libvirt.h.in: Add VIR_DEPRECATED macro.
	* src/internal.h: Internal code is allowed to use deprecated
	features, so override VIR_DEPRECATED here.
	* include/libvirt/virterror.h: Deprecate the conn, dom and net
	fields in the _virError structure.
2008-05-23 08:32:08 +00:00
Richard W.M. Jones
1d8d4f86b6 Standardize use of header files, making internal.h primary.
* qemud/internal.h, qemud/qemud.h: Rename this file so it
	doesn't conflict with src/internal.h.
	* HACKING: Document how header files should be used.
	* qemud/Makefile.am: Add src/ directory to includes.
	* qemud/event.c, qemud/mdns.c, qemud/qemud.c, qemud/remote.c,
	qemud/remote_protocol.c, qemud/remote_protocol.h,
	qemud/remote_protocol.x, src/buf.c, src/libvirt.c,
	src/nodeinfo.c, src/qemu_conf.c, src/qemu_driver.c,
	src/stats_linux.c, src/storage_backend.c, src/storage_backend_fs.c,
	src/storage_backend_iscsi.c, src/storage_backend_logical.c,
	src/storage_conf.c, src/storage_driver.c, src/util.c,
	src/util.h, src/virsh.c, src/virterror.c, src/xend_internal.c,
	src/xml.c, tests/reconnect.c, tests/xmlrpctest.c,
	tests/qparamtest.c: Standardize	use of header files.
	* docs/*, po/*: Rebuild docs.
2008-05-23 08:24:41 +00:00
Daniel P. Berrange
9dc31e159a Fix misc leaks in qparams code, support ; as param separator. Add test suite 2008-05-22 23:49:36 +00:00
Daniel P. Berrange
7646d59568 Refactor QEMU command line building code for readability 2008-05-22 23:45:09 +00:00
Daniel P. Berrange
e193b5ddea Apply CPU pinning at startup for QEMU guests 2008-05-22 16:27:20 +00:00
Daniel P. Berrange
6d372bd468 Add support for VCPU pinning in QEMU driver 2008-05-22 16:20:31 +00:00
Daniel P. Berrange
42aec3d000 Fix removal of iptable forwarding rules 2008-05-22 15:49:50 +00:00
Daniel P. Berrange
508c4226e1 Implement NUMA info/apis in QEMU driver 2008-05-22 15:29:50 +00:00
Daniel P. Berrange
ab5be538f3 Wire up free memory APIs to remote driver/daemon 2008-05-22 15:20:25 +00:00
Daniel P. Berrange
dd674689df Fix misc memory leaks 2008-05-22 15:12:25 +00:00
Daniel P. Berrange
ecb117a4a8 Fix exit status check with qemu -help 2008-05-21 21:14:36 +00:00
Daniel P. Berrange
e866e302f8 Fixed couple of memory leaks wrt to virXXXDestroy APIs, and clarify docs to match reality 2008-05-21 20:53:30 +00:00
Daniel P. Berrange
3af422a82e Run qemu with -help when probing for args 2008-05-21 19:43:39 +00:00
Jim Meyering
f011f263a1 plug two leaks
* src/qemu_conf.c (qemudParseXML): Free "obj" unconditionally.
2008-05-16 16:53:44 +00:00
Daniel P. Berrange
40a82f3066 Make QEMU test suite independant of host OS capabilities 2008-05-16 16:51:30 +00:00
Jim Meyering
a770c2ab1c * src/xml.c: Include "c-ctype.h". 2008-05-16 14:18:38 +00:00
Jim Meyering
c1ee35af3b start using c-ctype functions
Up to now, we've been avoiding ctype functions like isspace, isdigit,
etc.  because they are locale-dependent.  Now that we have the c-ctype
functions, we can start using *them*, to make the code more readable
with changes like these:

-        /* This may not work on EBCDIC. */
-        if ((*p >= 'a' && *p <= 'z') ||
-            (*p >= 'A' && *p <= 'Z') ||
-            (*p >= '0' && *p <= '9'))
+        if (c_isalnum(*p))

-    while ((*cur >= '0') && (*cur <= '9')) {
+    while (c_isdigit(*cur)) {

Also, some macros in conf.c used names that conflicted with
standard meaning of "BLANK" and "SPACE", so I've adjusted them
to be in line with the definition of e.g., isblank.
In addition, I've wrapped those statement macros with do {...} while (0),
so that we can't forget the ";" after a use.  There was one like that
already (fixed below).  The missing semicolon would mess up automatic
indenting.
* src/buf.c (virBufferURIEncodeString):
* src/conf.c (IS_EOL, SKIP_BLANKS_AND_EOL, SKIP_BLANKS)
(virConfParseLong, virConfParseValue, virConfParseName)
(virConfParseSeparator, virConfParseStatement, IS_BLANK, IS_CHAR)
(IS_DIGIT, IS_SPACE, SKIP_SPACES):
* src/nodeinfo.c:
* src/qemu_conf.c (qemudParseInterfaceXML):
* src/qemu_driver.c (qemudDomainBlockStats):
* src/sexpr.c:
* src/stats_linux.c:
* src/util.c (virParseNumber, virDiskNameToIndex):
* src/uuid.c (hextobin, virUUIDParse):
* src/virsh.c:
* src/xml.c (parseCpuNumber, virParseCpuSet):
2008-05-16 09:37:44 +00:00
Jim Meyering
0dc23afb0c avoid a double-free bug
* src/qemu_conf.c (qemudParseXML): Ensure that "obj" is either
NULL or a valid malloc'd pointer before we might "goto error"
where it is freed.
2008-05-16 09:30:10 +00:00
Daniel P. Berrange
65c2738ea1 Remove use of strcmp() 2008-05-15 20:07:34 +00:00
Daniel P. Berrange
25f860dc2f Fixe default disk bus selection logic 2008-05-15 16:24:26 +00:00
Daniel P. Berrange
763a59d84d Support Xenner bootloader 2008-05-15 16:21:11 +00:00
Daniel P. Berrange
0f1b6dd06a Pass -name arg to QEMU when available 2008-05-15 16:15:17 +00:00
Daniel P. Berrange
3a7b528d4b Add support for Xen input device in QEMU driver for xenner 2008-05-15 16:11:40 +00:00
Daniel P. Berrange
2c37f47985 Support paravirt disk configuration for xenner guests 2008-05-15 16:05:41 +00:00
Jim Meyering
6049594045 avoid using STREQLEN with a literal; use STRPREFIX instead
Likewise for STRNEQLEN -> !STRPREFIX.
* src/nodeinfo.c (linuxNodeInfoCPUPopulate):
* src/qemu_conf.c (qemudNetworkIfaceConnect):
(qemudParseInterfaceXML):
* src/qemu_driver.c (qemudDomainBlockStats):
* src/remote_internal.c (call):
* src/stats_linux.c (xenLinuxDomainDeviceID):
* src/xend_internal.c (xend_parse_sexp_desc):
(xend_get, sexpr_to_xend_topology):
* src/xm_internal.c (xenXMConfigCacheRefresh)
(xenXMDomainFormatXML):
2008-05-15 14:21:34 +00:00
Atsushi SAKAI
b87f3000aa Change libvirtd description from qemu only to various VM(i.e. Xen, LXC)
Fix typos and comments
2008-05-15 06:12:32 +00:00
Daniel P. Berrange
f7fe78dc82 Added listen_addr config param for daemon (Stefan de Konink) 2008-05-14 20:57:20 +00:00
Daniel P. Berrange
1d73398e8f Remove all use of strcmp, strncmp in favour of STREQ, STREQLEN, STRPREFIX 2008-05-14 19:51:24 +00:00
Jim Meyering
e830d52573 avoid "not a string literal..." warnings
* src/qemu_conf.c (qemudParseInterfaceXML): Add "%s".
(qemudBuildCommandLine, qemudGenerateXML): Likewise.
2008-05-13 09:15:11 +00:00
David L. Leskovec
94311de539 Enable libvirtd drivers to handle signals, in lxc, sigchld triggers vm cleanup
Mon May 12 23:32:21 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>

	* qemud/qemud.c: get siginfo with signals, distribute to drivers that
    register a handler
	* src/driver.h: add sighandler function to state driver table
	* src/internal.h: define virStateSigDispatcher functions
	* src/libvirt.c: add __virStateSigDispatcher function
	* src/libvirt_sym.version: add __virStateSigDispatcher
	* src/lxc_driver.c: add sig handler function, cleanup vm when sigchld
    received from container process
	* src/qemu_driver.c: NULL for sig handler (no handler) in state driver
	* src/remote_internal.c: NULL for sig handler (no handler) in state driver
	* src/storage_driver.c: NULL for sig handler (no handler) in state driver
2008-05-13 06:30:58 +00:00
Daniel P. Berrange
098ba1a433 Add support for -drive QEMU syntax, and virtio bus / disk type 2008-05-09 16:41:19 +00:00
Jim Meyering
25534052bc Use gnulib's c-ctype.h, not <ctype.h>.
# Convert uses of isspace to c_isspace, isdigit to c_isdigit, etc.
re=$(man isspace|grep is.....,.is|sed 's/ -.*//' \
  |tr -s ', \n' \||sed 's/^|//;s/|$//')
git grep -l -E "$re"|grep -Ev 'Chan|gnulib' \
  |xargs perl -pi -e 's/\b('"$re"')\b/c_$1/g'
# Remove all uses of to_uchar
git grep -l to_uchar|xargs perl -pi -e 's/to_uchar\((.*?)\)/$1/g'
* src/util.h (to_uchar): Remove definition.
(TOLOWER): Remove definition.
(__virMacAddrCompare): Use c_tolower, not TOLOWER.
Globally:
  Where needed, change <ctype.h> to <c-ctype.h>.
  Remove unnecessary inclusion of <ctype.h>.
Ensure the global changes are never needed again:
* Makefile.maint (sc_avoid_ctype_macros): Prohibit use of ctype
macros.   Recommend c-ctype.h instead.
(sc_prohibit_c_ctype_without_use): New rule.
(sc_prohibit_ctype_h): New rule.  Disallow use of <ctype.h>.
2008-05-09 13:50:14 +00:00
Daniel Veillard
5e1bd04692 autostart for running Xen domains
* src/xen_unified.c src/xend_internal.c src/xend_internal.h: patch
  from Cole Robinson implementing autostart for running Xen domains
Daniel
2008-05-09 08:17:18 +00:00