virDomainMemoryPeek API
* include/libvirt/libvirt.h.in, src/libvirt.c, src/driver.h,
src/libvirt_sym.version: New virDomainMemoryPeek API.
* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
Support for remote.
* src/qemu_driver.c: QEMU driver implementation of API.
* src/test.c: Test driver (null) implementation of API.
* docs/hvsupport.html.in: Document API.
* libvirt.spec.in: New path /var/cache/libvirt for temporary
storage of memory images.
* qemud/libvirtd.init.in: Remove any old temp files in
/var/cache/libvirt on restarts.
* src/Makefile.am: make install creates /var/cache/libvirt.
* configure.in: Detect mkdir -p.
Mon Jun 9 15:42:34 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>
* src/lxc_driver.c: Make console element is output only. Always open new
PTY when starting a container.
Fix string overrun when storing console name in VM def struct
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.
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
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.
Fix type-punning warning in remote code.
* qemud/rpcgen_fix.pl: Case-insensitive string match on identifiers.
* qemud/remote_protocol.c: Update this generated file.
Daniel Veillard [Tue, 20 May 2008 15:55:00 +0000 (15:55 +0000)]
Notes on the use of listen_tls/listen_tcp
* docs/remote.html docs/remote.html.in: patch from Kenneth Nagin
with Notes on the use of listen_tls/listen_tcp
Daniel
Jim Meyering [Fri, 16 May 2008 09:37:44 +0000 (09:37 +0000)]
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):
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
Jim Meyering [Fri, 9 May 2008 13:50:14 +0000 (13:50 +0000)]
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>.
Daniel Veillard [Fri, 9 May 2008 08:17:18 +0000 (08:17 +0000)]
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
Jim Meyering [Fri, 9 May 2008 08:02:44 +0000 (08:02 +0000)]
add "const" and "static" attributes to file-scoped globals
* src/storage_backend_fs.c (fileTypeInfo): Add "static" and two
"const" attributes.
(FileTypeInfo): Name the previously anonymous struct,
so the declaration of fileTypeInfo looks more conventional.
* src/xend_internal.c (sound_models): Mark as static, and
as an array of "const" entries.
These were relatively new additions to the list from here:
nm src/*.o|grep ' D '
Daniel Veillard [Wed, 7 May 2008 16:16:44 +0000 (16:16 +0000)]
SetVcpus and DomainGetMaxVcpus for QEmu
* src/qemu_conf.c src/qemu_conf.h src/qemu_driver.c: another patch
from Cole Robinson adding SetVcpus and DomainGetMaxVcpus for QEmu
Daniel
Daniel Veillard [Wed, 7 May 2008 14:44:20 +0000 (14:44 +0000)]
More regression tests for sound support
* tests/qemuxml2argvdata/qemuxml2argv-sound.args
tests/qemuxml2argvdata/qemuxml2argv-sound.xml
tests/sexpr2xmldata/sexpr2xml-fv-sound-all.sexpr
tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
tests/sexpr2xmldata/sexpr2xml-fv-sound.sexpr
tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
tests/xmconfigdata/test-fullvirt-sound.cfg
tests/xmconfigdata/test-fullvirt-sound.xml
tests/xml2sexprdata/xml2sexpr-fv-sound.sexpr
tests/xml2sexprdata/xml2sexpr-fv-sound.xml: other regression
tests from previous commit
Daniel
Daniel Veillard [Wed, 7 May 2008 14:04:40 +0000 (14:04 +0000)]
Sound support for QEmu and Xen
* src/qemu_conf.c src/qemu_conf.h src/xend_internal.c
src/xend_internal.h src/xm_internal.c src/xml.c src/xml.h:
Patch from Cole Robinson adding sound support for QEmu and Xen
* tests/qemuxml2argvtest.c tests/sexpr2xmltest.c
tests/xmconfigtest.c tests/xml2sexprtest.c:
Associated regression tests
Daniel