Daniel Veillard
abed6fca87
find and use kvm-img, qemu-img or qcow-create dynamically
...
* configure.in src/libvirt_private.syms src/storage_backend_fs.c
src/util.c src/util.h: find and use kvm-img, qemu-img or qcow-create
dynamically at runtime, patch by Doug Goldstein
* AUTHORS: add Doug Goldstein
Daniel
2009-06-11 13:18:56 +00:00
Daniel P. Berrange
7cce4768ae
Misc User Mode Linux startup/shutdown bugs
2009-06-03 10:55:33 +00:00
Daniel Veillard
e8da987570
cleanup of some direct stderr logging
...
* qemud/qemud.c src/console.c src/network_driver.c
src/node_device_conf.c src/node_device_hal.c src/storage_conf.c
src/util.c: cleanup of some direct stderr logging
daniel
2009-05-20 13:37:30 +00:00
Cole Robinson
a331653dad
Add pidfile argument to __virExec
...
virExec will write out the pid of the daemonized process only. Use this
in the QEMU driver, rather than QEMU's pidfile, so we can catch errors we
might miss if the emulator bails early.
2009-05-11 13:50:38 +00:00
Cole Robinson
79d9d2432f
Add helper function virExecDaemonize
...
Wraps __virExec with the VIR_EXEC_DAEMON flag. Waits on the intermediate
process to ensure we don't end up with any zombies, and differentiates between
original process errors and intermediate process errors.
2009-05-11 13:34:37 +00:00
Guido Günther
1dfc35677e
check for NULL pointers in pidfile functions
2009-05-07 07:29:51 +00:00
Cole Robinson
5314dffc85
virExec: Delay daemonizing as long as possible.
...
This way the caller can catch more errors (e.g. from a hook callback) from
the intermediate process.
2009-05-04 15:43:25 +00:00
Cole Robinson
a4d0a3fd50
Add some documentation to __virExec and virExec
2009-05-04 15:41:46 +00:00
Daniel P. Berrange
220bcb0535
Use a private /dev/pts instance in containers if kernel is new enough
2009-04-22 14:26:50 +00:00
Daniel P. Berrange
d9ec9c6937
Fix mingw32 portability
2009-04-02 18:42:33 +00:00
Daniel P. Berrange
dab6391f2d
Sanitize symlink resolution
2009-04-01 10:26:22 +00:00
Daniel Veillard
b7071653fa
* src/util.c: fix virRun() to prevent zombies on pipe errors,
...
patch by Ryota Ozaki
daniel
2009-03-31 12:26:54 +00:00
Daniel Veillard
de4950b200
* src/util.c: flag unused parameters, by Maximilian Wilhelm
...
daniel
2009-03-20 20:46:07 +00:00
Daniel Veillard
c29d092905
use posix_fallocate() to allocate diskspace faster
...
* src/libvirt_private.syms src/storage_backend_fs.c src/util.c
src/util.h: use posix_fallocate() on supported systems to
allocate diskspace faster, patches by Amit Shah
Daniel
2009-03-20 12:17:56 +00:00
Daniel Veillard
aa08419ca8
Avoid some potential FILE * leaks
...
* qemud/qemud.c src/cgroup.c src/uml_driver.c src/util.c: close
some potential FILE * leaks
Daniel
2009-03-16 10:41:37 +00:00
Daniel P. Berrange
d0aa10fdd6
QEMU security driver usage for sVirt support (James Morris, Dan Walsh, Daniel Berrange)
2009-03-03 12:03:44 +00:00
Daniel P. Berrange
2e187bcbca
Add support for a exec callback in virExecWithHook
2009-02-26 16:27:51 +00:00
Mark McLoughlin
0bb6f816e3
Add virFileWriteStr()
...
Re-factor the code from networkEnableIpForwarding() into a
utility function in preparation for code which writes to
sysfs files.
2009-02-13 19:13:06 +00:00
Jim Meyering
bafd7389e4
remove remainder of offending strerror uses
...
* qemud/qemud.c (GET_CONF_STR): Use virStrerror, not strerror.
* qemud/remote.c (remoteDispatchDomainBlockPeek): Likewise.
(remoteDispatchDomainMemoryPeek, remoteDispatchAuthSaslInit): Likewise.
(remoteDispatchAuthPolkit): Likewise.
* src/lxc_container.c (lxcContainerAvailable): Likewise.
* src/network_driver.c (networkStartNetworkDaemon): Likewise.
(networkShutdownNetworkDaemon): Likewise.
* src/qemu_conf.c (qemudExtractVersion, qemudNetworkIfaceConnect):
* src/storage_conf.c (virStoragePoolLoadAllConfigs): Likewise.
* src/storage_driver.c (storagePoolUndefine): Likewise.
* src/uml_driver.c (umlStartup, umlStartVMDaemon): Likewise.
* src/util.c (virFileReadAll): Likewise.
* src/uuid.c (virUUIDGenerate): Likewise.
* src/xen_internal.c (get_cpu_flags): Likewise.
2009-02-05 16:28:30 +00:00
Jim Meyering
b0d49913d5
remove duplicate *SetCloseExec and *SetNonBlock functions
...
* src/qemu_driver.c: Use virSetCloseExec and virSetNonBlock,
rather than qemuSet* functions. Suggested by Daniel P. Berrange.
* src/util.c (virSetCloseExec): Publicize.
* src/util.h (virSetCloseExec): Declare
* src/libvirt_private.syms: Add virSetCloseExec.
2009-02-05 16:27:17 +00:00
John Levon
745c249a61
Fix yet another printf("%s", NULL) case
...
Fix getpwuid_r() usage
Fix virsh migrateuri handling
2009-01-30 15:43:05 +00:00
Daniel P. Berrange
4f4bfbc79e
Fix save/restore migrate syntax for new KVM releases
2009-01-29 17:27:54 +00:00
John Levon
3463c34e33
fix VNC port reporting when vncunused is set
2009-01-29 17:02:00 +00:00
Jim Meyering
bc18a91f91
error-reporting calls using VIR_ERR_NO_MEMORY: use virReportOOMError instead
...
* src/uml_conf.c (VIR_FROM_THIS): Define to VIR_FROM_UML.
* src/xs_internal.c (VIR_FROM_THIS): Define to VIR_FROM_XEN.
* src/xml.c (VIR_FROM_THIS): Define to VIR_FROM_XML.
* src/stats_linux.c (VIR_FROM_THIS): Define to VIR_FROM_STATS_LINUX.
* src/datatypes.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
* src/lxc_conf.c (VIR_FROM_THIS): Define to VIR_FROM_LXC.
* src/libvirt.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
* src/node_device_conf.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
* src/openvz_conf.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
* src/openvz_driver.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
* src/conf.c (VIR_FROM_THIS): Define to VIR_FROM_CONF.
Note: this loses config_filename:config_lineno diagnostics,
but that's ok.
* src/node_device.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
* src/sexpr.c (VIR_FROM_THIS): Define to VIR_FROM_SEXPR.
* po/POTFILES.in: remove src/sexpr.c and src/lxc_conf.c
2009-01-29 12:10:32 +00:00
Daniel P. Berrange
c4985e9419
use the gnulib random_r function
2009-01-22 20:27:01 +00:00
Daniel P. Berrange
1b745219c7
Remove use of non-reentrant POSIX apis
2009-01-22 19:41:48 +00:00
Daniel P. Berrange
437ac354fc
Make error reporting threadsafe by avoiding strerror
2009-01-20 17:13:33 +00:00
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