Daniel P. Berrange
61674cc17d
Make RPC call dispatch threaded
2009-01-20 16:36:34 +00:00
Daniel P. Berrange
52e51d278e
Implement virKill for Win32 platform
2009-01-15 19:40:21 +00:00
Daniel Veillard
fbba4423e9
* src/libvirt_private.syms src/qemu_driver.c src/test.c
...
src/uml_driver.c src/util.c src/util.h src/xen_unified.c:
unify hostname lookup using virGetHostname convenience function,
patch by David Lutterkort
daniel
2009-01-07 10:43:16 +00:00
Guido Günther
83467de3ed
add virKillProcess
2009-01-06 17:46:46 +00:00
Guido Günther
043d702f02
use virAsprintf instead of asprintf
2008-12-23 13:03:29 +00:00
Guido Günther
830ba76c3e
let qemu/kvm instances write a pid file
2008-12-18 15:22:49 +00:00
Daniel P. Berrange
7c4bc3f92f
Use pid_t for all PID tracking variables (John Levon)
2008-12-18 11:58:28 +00:00
Daniel P. Berrange
f4cbc9370e
Remove use of _PATH_DEVNULL in favour of /dev/null for portability (John Levon)
2008-12-17 18:04:55 +00:00
Jim Meyering
e4c7e12300
let gcc's -Wformat do its job; avoid "make syntax-check" failure
...
* src/util.c (virAsprintf): Remove trailing space.
* src/util.h (virAsprintf): Use ATTRIBUTE_FORMAT.
* HACKING (Printf-style functions): New section.
2008-12-17 17:22:43 +00:00
Guido Günther
36c612b21c
add virAsprintf
2008-12-15 20:09:29 +00:00
Daniel Veillard
e2d2b7d577
* src/util.c: retry poll() in EINTR failures, patch by Dave Allan
...
daniel
2008-12-12 07:29:39 +00:00
Daniel P. Berrange
1eeceaa649
Support domain lifecycle events for Xen (Ben Guthro & Daniel Berrange)
2008-11-25 10:44:52 +00:00
Daniel P. Berrange
25047e7cf8
Use a versioned linker script
2008-11-17 11:03:25 +00:00
Jim Meyering
94359e16d3
avoid format string warnings
...
* src/openvz_driver.c (ADD_ARG_LIT): Add "%s" arg before _(...).
* src/qemu_driver.c (PCI_ATTACH_OK_MSG): Likewise.
* src/util.c (virExec, virRun): Likewise.
2008-11-14 14:19:37 +00:00
Jim Meyering
0d4cdc0569
always compile iptables.c
...
Avoid a build error when configuring --without-xen --without-qemu.
* src/iptables.c [WITH_QEMU]: Don't #ifdef-out.
* src/iptables.h [WITH_QEMU]: Don't #ifdef-out.
* src/util.c (virRun) [__MINGW32__]: Define a stub that always fails.
2008-11-07 16:43:23 +00:00
Daniel Veillard
df93e1ee24
add new logging module, and move existing definitions there
...
* src/logging.c src/logging.h proxy/Makefile.am proxy/libvirt_proxy.c
src/Makefile.am src/cgroup.c src/datatypes.c src/domain_event.c
src/internal.h src/libvirt.c src/lxc_container.c src/lxc_controller.c
src/lxc_driver.c src/proxy_internal.c src/qemu_driver.c
src/remote_internal.c src/storage_backend_disk.c src/util.c
src/veth.c src/xen_internal.c src/xen_unified.c src/xend_internal.c:
add new logging module, and move existing definitions there
Daniel
2008-11-06 16:36:07 +00:00
Cole Robinson
3796e5802f
Log stdout and stderr in virRun
2008-11-05 18:57:42 +00:00
Cole Robinson
a9a11b5393
Log the argv passed to virExec and virRun
2008-11-05 18:41:07 +00:00
Cole Robinson
f1ca068666
Move local argvToString to virArgvToString in util.
2008-11-05 18:22:10 +00:00
Daniel P. Berrange
d714b2afae
Move internal error APIs into virterror_internal.h & drop leading __ prefix
2008-11-04 22:30:33 +00:00
Daniel P. Berrange
bdd50bc7f3
Centralize domain mac address handling in domain_conf.c/util.c
2008-10-24 11:20:08 +00:00
Jim Meyering
fd52c6ff67
avoid many format string warnings
...
Building with --disable-nls exposed many new warnings like these:
virsh.c:4952: warning: format not a string literal and no format ...
util.c:163: warning: format not a string literal and no format arguments
All but one of the following changes add a "%s" argument before
the offending _(...) argument.
This was the only manual change:
* src/lxc_driver.c (lxcVersion): Use %s and strerror(errno)
rather than %m, to avoid a warning from gcc -Wformat-security.
Add "%s" before each warned about format-string-with-no-%-directive:
* src/domain_conf.c (virDomainHostdevSubsysUsbDefParseXML)
(virDomainDefParseString, virDomainDefParseFile):
* src/hash.c (virGetConnect, __virGetDomain, virReleaseDomain)
(__virGetNetwork, virReleaseNetwork, __virGetStoragePool)
(virReleaseStoragePool, __virGetStorageVol, virReleaseStorageVol):
* src/lxc_container.c (lxcContainerChild):
* src/lxc_driver.c (lxcDomainDefine, lxcDomainUndefine)
(lxcDomainGetInfo, lxcGetOSType, lxcDomainDumpXML)
(lxcSetupInterfaces, lxcDomainStart, lxcDomainCreateAndStart)
(lxcVersion, lxcGetSchedulerParameters):
* src/network_conf.c (virNetworkDefParseString)
(virNetworkDefParseFile):
* src/openvz_conf.c (openvzReadNetworkConf, openvzLoadDomains):
* src/openvz_driver.c (openvzDomainDefineCmd)
(openvzDomainGetInfo, openvzDomainDumpXML, openvzDomainShutdown)
(openvzDomainReboot, ADD_ARG_LIT, openvzDomainDefineXML)
(openvzDomainCreateXML, openvzDomainCreate, openvzDomainUndefine)
(openvzDomainSetAutostart, openvzDomainGetAutostart)
(openvzDomainSetVcpus):
* src/qemu_driver.c (qemudDomainBlockPeek, qemudDomainMemoryPeek):
* src/remote_internal.c (remoteDomainBlockPeek)
(remoteDomainMemoryPeek, remoteAuthPolkit):
* src/sexpr.c (sexpr_new, _string2sexpr):
* src/storage_backend_disk.c (virStorageBackendDiskMakeDataVol)
(virStorageBackendDiskCreateVol):
* src/storage_backend_fs.c
(virStorageBackendFileSystemNetFindPoolSources):
* src/storage_backend_logical.c (virStorageBackendLogicalFindLVs)
(virStorageBackendLogicalFindPoolSources):
* src/test.c (testOpenDefault, testOpenFromFile, testOpen)
(testGetDomainInfo, testDomainRestore)
(testNodeGetCellsFreeMemory):
* src/util.c (virExec):
* src/virsh.c (cmdAttachDevice, cmdDetachDevice)
(cmdAttachInterface, cmdDetachInterface, cmdAttachDisk)
(cmdDetachDisk, cmdEdit):
* src/xend_internal.c (do_connect, wr_sync, xend_op_ext)
(urlencode, xenDaemonDomainCreateXML)
(xenDaemonDomainLookupByName_ids, xenDaemonDomainLookupByID)
(xenDaemonParseSxprOS, xend_parse_sexp_desc_char)
(xenDaemonParseSxprChar, xenDaemonParseSxprDisks)
(xenDaemonParseSxpr, sexpr_to_xend_topology, sexpr_to_domain)
(xenDaemonDomainFetch, xenDaemonDomainGetAutostart)
(xenDaemonDomainSetAutostart, xenDaemonDomainMigratePerform)
(xenDaemonDomainDefineXML, xenDaemonGetSchedulerType)
(xenDaemonGetSchedulerParameters)
(xenDaemonSetSchedulerParameters, xenDaemonDomainBlockPeek)
(xenDaemonFormatSxprChr, virDomainXMLDevID):
* src/xm_internal.c (xenXMConfigCacheRefresh, xenXMDomainPinVcpu)
(xenXMDomainCreate, xenXMDomainDefineXML)
(xenXMDomainAttachDevice, xenXMDomainDetachDevice):
* src/xml.c (virXPathString, virXPathNumber, virXPathLong)
(virXPathULong, virXPathBoolean, virXPathNode, virXPathNodeSet):
* src/xs_internal.c (xenStoreOpen):
2008-10-13 16:46:28 +00:00
Daniel Veillard
3d038d101f
fix index creation for disks
...
* src/domain_conf.c src/util.c: fix index creation for disks >
{sd,hd,xvd,vd}z (Sanjay Rao and Chris Wright)
Daniel
2008-10-10 08:37:35 +00:00
Cole Robinson
02fc93d624
Centralize majority of error reporting logic.
2008-10-09 15:38:31 +00:00
Daniel P. Berrange
542039fab0
Fully support mingw builds
2008-09-05 12:03:45 +00:00
Jim Meyering
d2ac46f2b0
util.c: add a file-descriptor-based wrapper for fread_file_lim
...
* src/util.c (virFileReadLimFP): New function.
(__virFileReadLimFD): New function.
* src/util.h (__virFileReadLimFD): Declare.
(virFileReadLimFD): Define.
(virFileReadAll): Rewrite to use virFileReadLimFP.
2008-09-02 10:29:51 +00:00
Daniel P. Berrange
afac1439aa
Allow for private root filessytem in containers using pivot_root
2008-08-28 22:40:50 +00:00
Daniel P. Berrange
da1963381b
Fix QEMU domain creation by allowing virExec to preserve certain FDs
2008-08-27 11:42:52 +00:00
Daniel P. Berrange
6334cd16df
Remove configFile/autostartLink vars from virDomainObj struct
2008-08-20 19:42:36 +00:00
Daniel P. Berrange
1b4bb7d4ab
Allow non-blocking/daemon mode to be specified via virExec flags
2008-08-20 09:24:14 +00:00
Daniel P. Berrange
6bc99a7775
Allow a pre-opened FD to be be pass to virExec for stdout/err
2008-08-20 09:08:17 +00:00
Daniel P. Berrange
60ed1d2a7a
Avoid signal race in virExec
2008-08-20 08:53:49 +00:00
Daniel P. Berrange
f2172946e5
Improve virExec error reporting
2008-08-20 08:30:04 +00:00
Daniel P. Berrange
763dacda97
Make LXC I/O controller process a parent of the container process
2008-08-13 10:52:15 +00:00
Jim Meyering
4ee755d641
rewrite virFileLinkPointsTo
...
* src/util.c (SAME_INODE): Define.
(virFileLinkPointsTo): Rewrite to be more portable and more efficient.
2008-08-12 17:38:08 +00:00
Atsushi SAKAI
43c7f972aa
fix compilation for MinGW
2008-08-12 08:25:48 +00:00
Daniel P. Berrange
b3728d7d72
Fix const-correctness of virRUn and virExec
2008-08-08 15:43:38 +00:00
Daniel P. Berrange
47605e1dfa
Added helpers for dealing with enumerations
2008-06-24 15:00:15 +00:00
Jim Meyering
e09fab39a8
virsh fails to read files larger than BUFSIZ bytes
...
* src/util.c (fread_file_lim): Use VIR_REALLOC_N, not VIR_ALLOC_N.
Bug introduced in 895d0fdf5b
.
* tests/Makefile.am (test_scripts): Add read-bufsiz.
* tests/read-bufsiz: New test for the above.
2008-06-19 14:30:52 +00:00
Chris Lalancette
a9e30eec59
In src/util.c, virLog is just a wrapper around fprintf(stderr). Make sure to
...
put line breaks at the end of lines that use virLog() (noticed during testing).
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-17 12:45:59 +00:00
Daniel P. Berrange
895d0fdf5b
Convert to use new memory allocation APIs
2008-05-29 19:20:22 +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
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
Daniel P. Berrange
2c37f47985
Support paravirt disk configuration for xenner guests
2008-05-15 16:05:41 +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
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
Jim Meyering
b8111adf35
avoid one more ctype vs. sign-extension problem
...
* src/util.c (TOLOWER): Also convert tolower argument.
2008-05-09 08:09:48 +00:00
Jim Meyering
225ba3f0af
avoid problems with sign-extended "char" operand to is* functions
...
* src/util.h (to_uchar): Define function.
* src/nodeinfo.c (linuxNodeInfoCPUPopulate): Apply to_uchar to is* operand.
* src/qemu_driver.c (qemudExtractMonitorPath): Likewise.
* src/sexpr.c (_string2sexpr): Likewise.
* src/stats_linux.c (xenLinuxDomainDeviceID): Likewise.
* src/util.c (TOLOWER, __virMacAddrCompare, virParseMacAddr): Likewise.
* src/virsh.c (cmdVcpupin, vshCommandGetToken): Likewise.
2008-04-25 14:53:05 +00:00
Richard W.M. Jones
8df91acf70
Fixes for MinGW.
...
* configure.in: Fix pkg-config detection of libxml2,
add -lgcrypt to gnutls lib.
* src/Makefile.am: If compiling --without-libvirtd then
don't compile any part of the storage driver.
* configure.in, src/hash.c, src/internal.h: Detect availability
of pthread library and compile out mutex code if not available.
* src/storage_driver.c, src/util.c: Ignore some missing
headers on MinGW.
2008-04-18 08:33:23 +00:00