Commit Graph

1408 Commits

Author SHA1 Message Date
Cole Robinson
c5ee075dd9 Add a test storage driver. 2008-10-30 17:40:57 +00:00
Daniel Veillard
4780a00b14 * src/domain_conf.h src/qemu_driver.c: patch adding hor removal of
scsi/virtio disks for KVM, patch by Guido Günther
daniel
2008-10-29 14:32:40 +00:00
Jim Meyering
f79ebbd121 remove src/socketcompat.h; no longer needed
* src/socketcompat.h: Remove file.
* src/remote_internal.c: Don't include socketcompat.h.
* qemud/qemud.h: Likewise.
* qemud/remote_protocol.x: Likewise, but do include <arpa/inet.h>
for htonl.
* src/remote_internal.c: Likewise, but do include <errno.h>.
* qemud/remote_protocol.c: Regenererate.
* qemud/remote_protocol.h: Regenererate.
* src/Makefile.am (REMOTE_DRIVER_SOURCES): Remove socketcompat.h.
2008-10-28 19:09:04 +00:00
Jim Meyering
487d57b341 avoid compiler warning when all storage backends are disabled
* src/storage_backend.c (backends): Add a NULL terminator.
(virStorageBackendForType): Use NULL terminator rather than
warning-provoking (possibly 0) array size.
2008-10-28 17:48:06 +00:00
Jim Meyering
57d54689da cvsignore mingw build artifacts: *.exe 2008-10-28 17:47:54 +00:00
Jim Meyering
2bbf76ebeb include netinet etc #ifndef HAVE_WINSOCK2_H 2008-10-28 17:47:45 +00:00
Jim Meyering
78d4d969e2 * src/remote_internal.c (remoteFindDaemonPath) [!WIN32]: Don't compile. 2008-10-28 17:47:40 +00:00
Jim Meyering
c5f45efd06 use errno, not socket_errno()
* remote_internal.c: s/socket_errno()/errno/, now that gnulib's
socket module ensures errno is useful in those cases.
2008-10-28 17:47:33 +00:00
Jim Meyering
b80b3ce4b3 socketcompat.h: simplify, to match latest gnulib
Now, sys/socket.h is always available, and errno works.
2008-10-28 17:47:23 +00:00
Jim Meyering
cabb75c503 adapt to API change in gnulib
* qemud/qemud.c: Include <netdb.h>, not "getaddrinfo.h"
* src/remote_internal.c: Likewise.
2008-10-28 17:46:00 +00:00
Jim Meyering
9801d7c595 * src/network_conf.c: Include <string.h> for declaration of memcmp. 2008-10-28 17:45:41 +00:00
Jim Meyering
05589b72c4 use ARRAY_CARDINALITY more
* tests/nodeinfotest.c: Include "util.h".
* src/xen_internal.c: Likewise.
* src/qemu_conf.c (qemudCapsInit): Use ARRAY_CARDINALITY.
* src/storage_backend.c (virStorageBackendForType): Likewise.
* src/storage_backend_fs.c (virStorageBackendProbeFile): Likewise.
* src/xen_internal.c (xenHypervisorMakeCapabilitiesInternal): Likewise.
* src/xend_internal.c (xenDaemonParseSxpr): Likewise.
* tests/nodeinfotest.c (mymain): Likewise.
* tests/qparamtest.c (DO_TEST): Likewise.
2008-10-28 17:43:24 +00:00
Daniel P. Berrange
b38d045dea Remove use of sys/poll.h on mingw 2008-10-24 13:10:30 +00:00
Daniel P. Berrange
bfc86e8a74 Fix syntax check errors 2008-10-24 12:05:39 +00:00
Daniel P. Berrange
3091bdd31a Implement getVersion API for openvz driver 2008-10-24 11:32:48 +00:00
Daniel P. Berrange
6d35116e33 Fix mingw build due to missing icons in tar.gz 2008-10-24 11:31:15 +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
327b2eea26 fix mingw compilation warning
* src/libvirt.c (winsock_init) [HAVE_WINSOCK2_H]: Always return a value.
2008-10-24 08:55:13 +00:00
Chris Lalancette
c402724354 Brown paper bag bug. I didn't preserve the
<sources> tags properly, and I didn't put the <source> tag into the
proper place, so I totally changed the output of the discovery XML.
Fix this up to do the right thing.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-23 13:21:01 +00:00
Daniel Veillard
1509b8027f Massive patch adding event APIs by Ben Guthro
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
  src/libvirt.c src/libvirt_sym.version: new libvirt event entry
  points, big patch provided by Ben Guthro
* Makefile.am configure.in src/driver.h src/event.c src/event.h
  src/internal.h src/libvirt.c src/libvirt_sym.version src/lxc_driver.c
  src/openvz_driver.c src/qemu_conf.h src/qemu_driver.c
  src/remote_internal.c src/storage_backend_fs.c src/test.c
  qemud/event.c qemud/event.h qemud/mdns.c qemud/qemud.c
  qemud/qemud.h qemud/remote.c qemud/remote_dispatch_localvars.h
  qemud/remote_dispatch_proc_switch.h qemud/remote_dispatch_prototypes.h
  qemud/remote_protocol.c qemud/remote_protocol.h
  qemud/remote_protocol.x proxy/Makefile.am python/generator.py:
  Not much is left untouched by the patch adding the events support
* docs/libvirt-api.xml docs/libvirt-refs.xml
  docs/html/libvirt-libvirt.html: regenerated the docs
* examples/domain-events/events-c/Makefile.am
  examples/domain-events/events-c/event-test.c: a test example
* AUTHORS: added Ben Guthro
daniel
2008-10-23 13:18:18 +00:00
Chris Lalancette
e3b792d6e3 An updated patch for adding <device> tags to logical
findPoolSources.  Given danpb's last feedback, I completely removed the XML
parsing and did it all with structures.  The result should (hopefully) be a lot
easier on the eyes, and is a little more generic.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-23 11:39:53 +00:00
Chris Lalancette
c0c0fb8eef As suggested by danpb, to fix up the regression caused by last week's VIR_ENUM
cleanup patch, add a ".defaultFormat" member to .poolOptions.  In
storage_conf.c, if virXPathString(/pool/source/format/@type) returns NULL, then
set the pool type to .defaultFormat; otherwise, lookup the type via
formatFromString.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-23 11:32:22 +00:00
Chris Lalancette
c6f0a7b2db Currently, you can define a logical storage pool with something like:
<pool type='logical'>
	<source>
		<name>MyVG</name>
		<device name='/dev/sdb'/>
...

However, dumping out the XML for this same storage pool (with, say, virsh
pool-dumpxml), gives:

<pool type='logical'>
	<source>
		<name>MyVG</name>
		<device name='/dev/sdb'>
		</device>


To make this more idempotent, do the <device name='/dev/sdb'/> form by default,
and only do the <device>...</device> form if .nfreeExtent is defined for the
storage pool.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-21 17:23:38 +00:00
Chris Lalancette
46db2b2968 Because of my patch last week that converted the various virStorage*FromString
and virStorage*ToString implementations to the generic VIR_ENUM_IMPL, there were
a couple of places that didn't properly set errors when they failed.  This patch
fixes these places up.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-21 17:18:45 +00:00
Chris Lalancette
c83c3e9e5c While doing on this patch series, I mistakenly added a bogus piece of
storage XML to libvirtd, which was saved in /etc/libvirt/storage.  On subsequent
stop/start of libvirtd, because of another bug , an
error wasn't being set properly in an error path, so libvirtd was SEGV'ing in
storage_conf.c:virStoragePoolObjLoad when trying to dereference the NULL err
returned from virGetLastError().  Make this more robust against errors by always
doing "err ? err->message : NULL" in the printf.  I looked around the tree and
found a couple of other places that weren't guarded, so this patch fixes them as
well.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-21 17:15:53 +00:00
Dan Smith
e98d8d7997 Fix up cgroup initialization order and allow /dev/pts device access in LXC 2008-10-21 16:46:47 +00:00
Daniel Veillard
6d6fd6b305 * src/qemu_driver.c: cleanup patch for usb masstorage hotadd
by Guido Günther
daniel
2008-10-21 13:09:23 +00:00
Daniel Veillard
7b9344686a * src/qemu_driver.c: add scsi/virtio hotplug support for KVM
patch by Guido Günther
daniel
2008-10-17 12:36:39 +00:00
Jim Meyering
164fbbd6e6 generate .gitignore files from .cvsignore ones
* Makefile.maint (sync-vcs-ignore-files): New target.
Prompted by a patch from James Morris.
http://thread.gmane.org/gmane.comp.emulators.libvirt/8619/focus=8773
Add all (now-generated) .gitignore files.
* .gitignore: New file.
* build-aux/.gitignore: New file.
* docs/.gitignore: New file.
* docs/devhelp/.gitignore: New file.
* docs/examples/.gitignore: New file.
* docs/examples/python/.gitignore: New file.
* gnulib/lib/.gitignore: New file.
* gnulib/lib/arpa/.gitignore: New file.
* gnulib/lib/netinet/.gitignore: New file.
* gnulib/lib/sys/.gitignore: New file.
* gnulib/tests/.gitignore: New file.
* include/.gitignore: New file.
* include/libvirt/.gitignore: New file.
* po/.gitignore: New file.
* proxy/.gitignore: New file.
* python/.gitignore: New file.
* python/tests/.gitignore: New file.
* qemud/.gitignore: New file.
* src/.gitignore: New file.
* tests/.gitignore: New file.
* tests/confdata/.gitignore: New file.
* tests/sexpr2xmldata/.gitignore: New file.
* tests/virshdata/.gitignore: New file.
* tests/xencapsdata/.gitignore: New file.
* tests/xmconfigdata/.gitignore: New file.
* tests/xml2sexprdata/.gitignore: New file.
2008-10-17 10:03:15 +00:00
Daniel Veillard
8348610c5e qemudDomainBlockStats use qemudDiskDeviceName
* src/qemu_driver.c: use qemudDiskDeviceName to determine the block
  device name in qemudDomainBlockStats(), patch by Guido Günther
daniel
2008-10-17 09:29:29 +00:00
Daniel Veillard
f009e2aae2 * src/qemu_driver.c: fix qemudDiskDeviceName to handle disk devices
too, patch by Guido Günther
daniel
2008-10-17 09:24:07 +00:00
Daniel Veillard
aadb84a547 * src/domain_conf.c: fix virDiskNameToBusDeviceIndex() to allow 0
patch by Guido Günther
Daniel
2008-10-17 09:18:21 +00:00
Chris Lalancette
eeff3cdcbc Add support for detecting the partition table type when scanning
iSCSI volumes.  This is implemented in the
virStorageBackendUpdateVolInfoFD function, so all future callers will
automatically benefit.  This is a somewhat large patch because the
conversion of the virStorageBackendPartTableTypeToString necessitated
a change to the formatToString and formatFromString function pointers,
which caused fallout in other places in the storage stuff.  The good
news is that most of these callers are now converted over to the
VIR_ENUM_IMPL, which means a lot of redundant code is now gone.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-16 15:06:03 +00:00
Chris Lalancette
164f786626 Compiling with -Werror showed a possible use before initialization
in src/qemu_driver.c.  Make sure to initialize the olddisk ptr to NULL.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-16 13:44:09 +00:00
Chris Lalancette
0fd0cb6037 "make syntax-check" was complaining that network_driver.c was missing from
POTFILES.in.  Add it there, and then fix up one warning about included
c-ctypes.h that wasn't being used.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-16 12:04:06 +00:00
Richard W.M. Jones
d0a8e88b95 * configure.in, src/Makefile.am, src/virsh_win_icon.rc:
Add a Windows icon resource.
2008-10-15 18:39:34 +00:00
Richard W.M. Jones
d510d4bf92 * src/libvirt.c: Register the remote driver even when we are
configured --without-libvirtd.  Also adds debugging of
        registration events.
2008-10-15 10:33:01 +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
Richard W.M. Jones
c13f07fc88 Build failure fixed.
* src/domain_conf.c: Fix build failure of the Xen proxy.
2008-10-13 15:24:34 +00:00
Jim Meyering
6ac274673c testError format strings: explicitly include domain and network names
This repairs the "make check" failure of tests/undefine.
* src/test.c (testResumeDomain, testPauseDomain): Likewise.
(testShutdownDomain, testGetDomainInfo, ): Likewise.
(testSetMemory, testSetVcpus, testDomainCreate, testDomainUndefine)
(testDomainGetSchedulerType, testDomainGetSchedulerParams): Likewise.
(testDomainSetSchedulerParams, testNetworkUndefine): Likewise.
(testNetworkStart, testNetworkGetBridgeName): Likewise.
(testDomainCoreDump, testDomainSave): Likewise, and...
Name the file upon failed open or write.
Use strerror(errno) in diagnostics.
* tests/undefine: Adjust expected output.

test.c (testError): Remove now-ignored dom and net parameters.
This is a sytnax-only change: removing the two unused parameters
and updating all callers:
* src/test.c (GET_DOMAIN, GET_NETWORK, testError)
(testBuildCapabilities, testOpenDefault, testOpenFromFile)
(testOpen, testGetHostname, testGetURI, testGetCapabilities)
(testLookupDomainByID, testLookupDomainByUUID)
(testLookupDomainByName, testResumeDomain, testPauseDomain)
(testShutdownDomain, testGetDomainInfo, testDomainSave)
(testDomainRestore, testDomainCoreDump, testGetOSType)
(testSetMemory, testSetVcpus, testListDefinedDomains)
(testNodeGetCellsFreeMemory, testDomainCreate)
(testDomainUndefine, testDomainGetSchedulerType)
(testDomainGetSchedulerParams, testDomainSetSchedulerParams)
(testLookupNetworkByUUID, testLookupNetworkByName)
(testListNetworks, testListDefinedNetworks, testNetworkUndefine)
(testNetworkStart, testNetworkGetBridgeName): Update callers.
2008-10-11 07:24:49 +00:00
Daniel P. Berrange
0c4a048485 Fix virRealloc bug for zero-size 2008-10-10 18:17:13 +00:00
Daniel P. Berrange
7e0d3e62e9 Support SDL config with QEMU guests 2008-10-10 16:52:20 +00:00
Daniel P. Berrange
427f7a8b09 Switch domain device objects to array instead of linked list 2008-10-10 16:08:01 +00:00
Daniel P. Berrange
2e53a9912e Switch storage objects to array instead of linked list 2008-10-10 15:13:28 +00:00
Daniel P. Berrange
dd48e929c7 Switch network objects to array instead of linked list 2008-10-10 14:50:26 +00:00
Daniel P. Berrange
4789154063 Switch domain objects to array instead of linked list 2008-10-10 14:20:37 +00:00
Daniel P. Berrange
1564711a27 Split network driver out into separate files 2008-10-10 13:57:13 +00:00
Daniel P. Berrange
0107578c5e Fix two format string warnings on 32bit hosts 2008-10-10 12:54:10 +00:00
Daniel Veillard
f6803c960f virDomainDefineXML, and a few additional cleanups
* include/libvirt/libvirt.h[.in] include/libvirt/virterror.h
  qemud/remote* src/driver.h src/libvirt.c src/libvirt_sym.version
  src/lxc_driver.c src/openvz_driver.c src/proxy_internal.c
  src/qemu_driver.c src/remote_internal.c src/test.c src/virsh.c
  src/xen_internal.c src/xen_unified.c src/xen_unified.h
  src/xend_internal.c src/xend_internal.h src/xm_internal.c
  src/xs_internal.c docs/*: cleanup virDomainCreateLinux into
  virDomainDefineXML, and a few additional cleanups
Daniel
2008-10-10 09:32:27 +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
218334d1b2 Fix two compile warnings 2008-10-09 14:50:25 +00:00
Dan Smith
6c504d6a7c Add LXC scheduling parameters and support in virsh schedinfo 2008-10-08 16:28:48 +00:00
Daniel Veillard
6d670a1fc1 use safewrite() and plug a leak
* src/cgroup.c: use safewrite()
* src/qemu_driver.c: missing VIR_FREE pojnted out by Eduardo Habkost
Daniel
2008-10-08 13:44:40 +00:00
Jim Meyering
3ca608b5d6 avoid "make syntax-check" failure
* src/cgroup.c (virCgroupSetValueStr): Use safe_write, not write.
2008-10-08 09:31:13 +00:00
Daniel Veillard
f9dbe46b44 * src/qemu_driver.c: another OOM handling cleanup (Guido Günther)
daniel
2008-10-07 16:39:32 +00:00
Daniel Veillard
9f4c047935 * src/qemu_driver.c: don't print and extra OOM error on top of getpwuid error
(Guido Günther)
Daniel
2008-10-07 16:01:23 +00:00
Cole Robinson
e2a43cdb87 Move DEBUG macros to central location. 2008-10-06 19:53:06 +00:00
Cole Robinson
8206b421d6 Fix segfault if starting qemu VM with an inactive virtual network. 2008-10-06 19:36:46 +00:00
Daniel Veillard
72c40b0622 use C99 initializers for virState
* src/lxc_driver.c src/qemu_driver.c src/remote_internal.c
  src/storage_driver.c: use C99 initializers for virState (Guido
  Gunther)
Daniel
2008-10-06 15:40:37 +00:00
Dan Smith
dd062d4209 Add forgotten cgroup.{c,h} and ChangeLog 2008-10-03 17:58:02 +00:00
Dan Smith
4461568ab4 Add cgroup manipulation and LXC driver 2008-10-03 16:46:01 +00:00
Cole Robinson
a166cdbb6e Fix starting qemu VM with multiple pty char devices. 2008-10-02 14:10:20 +00:00
Daniel Veillard
3bc324139e Xen interface order and fix python parallel build
* src/xend_internal.c: fix ordering when parsing multiple Xen
  interfaces, patch by Jim Fehlig
* python/Makefile.am: fix parallel build
Daniel
2008-10-01 15:31:02 +00:00
Daniel Veillard
321c9a7f51 * configure.in libvirt.spec.in NEWS docs/*: release of libvirt-0.4.6
* src/storage_backend_logical.c: re-add the -f flag to vgremove
* po/*: rebuilt
Daniel
2008-09-23 20:48:49 +00:00
Daniel Veillard
ad5723e792 cleanup and removal for pools in logical backend
* src/storage_backend_logical.c: enable stop pool in logical backend
  improve portability when deleting a pool and also call pvremove
  patch by Chris Lalancette
Daniel
2008-09-22 20:22:35 +00:00
Daniel Veillard
4f84e631ed * src/storage_conf.c: fixes parsing to allow no sources for a pool
fix by Dan and Chris Lalancette
Daniel
2008-09-22 19:57:47 +00:00
Daniel Veillard
0958489ca5 * src/remote_internal.c src/storage_driver.c: structure init cleanup
by Chris Lalancette
Daniel
2008-09-22 19:53:42 +00:00
Daniel Veillard
7e0ff3aab0 read network config in OpenVZ driver
* src/openvz_conf.c: patch from Evgeniy Sokolov to read
  network config in OpenVZ driver.
Daniel
2008-09-22 15:21:44 +00:00
Daniel P. Berrange
0aac8c9447 Fix trailing whitespace & unmarked diagnostic warning 2008-09-18 08:54:23 +00:00
Richard W.M. Jones
a0208e6635 src/openvz_driver.c: Fix segfault in OpenVZ driver
(Evgeniy Sokolov).
2008-09-17 16:07:03 +00:00
Richard W.M. Jones
4f1e6e7ef2 src/storage_backend_disk.c: Missing include file. 2008-09-17 14:29:47 +00:00
Richard W.M. Jones
dd57b821e4 Remove some deadcode (Nguyen Anh Quynh). 2008-09-17 14:21:27 +00:00
Richard W.M. Jones
3b7c7d888a Change name of "blocked" state to "idle" (John Levon). 2008-09-17 14:18:15 +00:00
Richard W.M. Jones
a744ddad59 include/libvirt/libvirt.h.in, src/libvirt.c: Fix comments
which incorrectly referred to non-existent 'virDomainFlags'
type (Anton Protopopov).
2008-09-17 14:15:20 +00:00
Richard W.M. Jones
7076981f50 src/conf.c: Improved error messages in XM conf module. 2008-09-17 14:11:21 +00:00
Richard W.M. Jones
04e9e1b2a6 configure.in, src/qemu_driver.h, src/qemu_driver.c: KVM
can determine max VCPUs at runtime (Guido Günther).
2008-09-17 14:07:49 +00:00
Cole Robinson
bf26cd8ecb Implement disk volume deleting. 2008-09-16 16:46:08 +00:00
Cole Robinson
a82bd0784b Fix reading vncdisplay from xend, add several test cases for xen vnc corner case
s.
2008-09-09 13:53:58 +00:00
Cole Robinson
bf3e2132a7 Fix a segfault if defining a qemu domain without an emulator. 2008-09-09 13:44:42 +00:00
Daniel Veillard
58686c3dd8 add domain name in network configurations suport and on OpenVZ config bugfix
* src/network_conf.c src/network_conf.h src/qemu_driver.c: add
  support for a domain name in network configurations, patch by
  JJ Reynolds with bugfix raised by Dan
* src/openvz_conf.c: fix to small bug in openvzReadConfigParam
  by Evgeniy Sokolov
Daniel
2008-09-08 12:45:29 +00:00
Daniel P. Berrange
3aa7c4639d Fix potential NULL deref in openvz driver 2008-09-08 12:15:33 +00:00
Daniel Veillard
914e1c61de finish applying initialization patch for logical storage backend
* src/storage_backend_logical.c: finish applying initialization
  from Jim Fehlig patch for logical storage backend
Daniel
2008-09-08 08:03:54 +00:00
Daniel P. Berrange
a8936295ce Fix trailing whitespace mistakes 2008-09-05 15:00:14 +00:00
Daniel P. Berrange
1cc9f9b3d8 Convert openvz driver to generic domain XML APIs 2008-09-05 14:10:58 +00:00
Daniel P. Berrange
542039fab0 Fully support mingw builds 2008-09-05 12:03:45 +00:00
Daniel P. Berrange
126d3ebeea Fix starting of xen domains without a PVFB console by removing default emulator 2008-09-05 11:52:12 +00:00
Daniel P. Berrange
f193e19536 Fix xen capabilities data creation 2008-09-05 11:35:43 +00:00
Daniel Veillard
e88295804a * src/storage_backend_fs.c: fix a signed/unsigned issue breaking
virStorageBackendProbeFile(), patch by Cole Robinson
Daniel
2008-09-04 13:34:42 +00:00
Daniel Veillard
a8d0600762 * src/qemu_driver.c: fix an error message, patch by Nguyen Anh Quynh
Daniel
2008-09-04 13:20:28 +00:00
Daniel Veillard
c37031ebf3 fix a miscalculation of command line size for vgcreate
* src/storage_backend_logical.c: fix a miscalculation of command line
  size for vgcreate, patch from Jim Fehlig
Daniel
2008-09-04 13:13:32 +00:00
Daniel Veillard
18626bd225 when dumping code don't keep Xen domain live
* src/xend_internal.c: patch from John Levon shutting down a live
  domain is just more hazardous
Daniel
2008-09-04 09:11:37 +00:00
Daniel Veillard
584ff19452 * src/xend_internal.c src/xs_internal.c: use poweroff instead of halt
when shutting down a xen domain, patch by John Levon
Daniel
2008-09-04 09:07:42 +00:00
Daniel Veillard
821dcf0ff7 * src/qemu_driver.c: switch flags to unsigned by James Morris
* AUTHORS: add James Morris
Daniel
2008-09-04 08:15:05 +00:00
Dan Smith
df01e14bd7 Add LXC version implementation
This patch adds an implementation of the version function to the LXC driver.
The providers use the hypervisor version in a field of one of the instances,
so we need to have something meaningful here.  AFAICT, the only real option
we have (considering the limitations of the libvirt version information) is
to use the kernel version.
2008-09-03 17:21:27 +00:00
Cole Robinson
e0b4fcc280 Fix qemu media connect/eject to work with latest syntax. Add support for ejecting floppy devices and scsi cdroms. 2008-09-03 16:05:25 +00:00
Cole Robinson
fe7bb57a8b Update domain xml after usb device hotplug. 2008-09-03 15:05:31 +00:00
Cole Robinson
f4af06d812 Scrap media eject output to try and determine success/fail. 2008-09-03 14:43:34 +00:00
Cole Robinson
34b1a03402 Fix disk ordering and add target duplication checking when parsing domain xml. 2008-09-03 14:30:24 +00:00
Daniel Veillard
53738f83a5 avoid a segfault on CD eject in KVM/QEmu
* src/qemu_driver.c: patch from Cole Robinson to avoid a segfault
  on KVM CD eject
Daniel
2008-09-03 12:52:27 +00:00
Daniel Veillard
54a4f8d44d add output on attach and detach success
* src/virsh.c: patch from Cole Robinson to add output on attach
  and detach success
daniel
2008-09-03 12:38:28 +00:00
Daniel Veillard
b419ebc7e9 * src/storage_conf.c: add one missing check in virStoragePoolDefParseDoc
Daniel
2008-09-03 07:12:37 +00:00
Daniel Veillard
10ccfc92f3 * src/domain_conf.c: fix a parsing error for input devices
patch by Cole Robinson
daniel
2008-09-02 15:33:39 +00:00
Daniel Veillard
b8f2610280 check availbility of emulators before reporting them in capabilities
* src/qemu_conf.c: patch from Cole Robinson to report in the
  capabilities only the ones where the emulators is actually found
* po/libvirt.pot: regenerated
* src/libvirt.c: small typo fix
Daniel
2008-09-02 15:00:09 +00:00
Daniel Veillard
41ce15a586 Adds storage source element for pools
* src/storage_backend.h src/storage_backend_logical.c
src/storage_conf.c src/storage_conf.h src/virsh.c:
Applied patches from David Lively to add storage source
elements needed for storage pool
* docs/formatstorage.html docs/formatstorage.html.in: associated
documentation
Daniel
2008-09-02 14:15:42 +00:00
Jim Meyering
81cb09f9fe qemu_conf.c: use new function, virFileReadLimFD
* src/qemu_conf.c (qemudExtractVersionInfo): Use virFileReadLimFD
and VIR_FREE in place of an open-coded loop and a static buffer.
2008-09-02 10:30:40 +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
3348a97bd3 Switch over fork/exec code to use virExec 2008-08-29 07:11:15 +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
8f762e34f3 Fix lookup of xen VM after define (Cole Robinson) 2008-08-28 11:59:07 +00:00
Daniel P. Berrange
39c9354c5c Add storage pool source discovery support (patch from David Lively) 2008-08-27 20:05:58 +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
2875ed81bd Fix EOF handling when reading openvz domain list 2008-08-27 11:21:01 +00:00
Daniel P. Berrange
d81b038cc2 Remove use of virState apis from openvz driver 2008-08-27 11:19:45 +00:00
Dan Smith
5fb17bcc1e [LXC] Cleanup devices on container shutdown 2008-08-22 15:35:37 +00:00
Daniel P. Berrange
9472d3e2f3 Improve error reporting from remote driver 2008-08-21 10:14:54 +00:00
Daniel P. Berrange
11a2e2972a Propagate virConnectOpen errors to global error object 2008-08-21 10:12:32 +00:00
Daniel P. Berrange
c2bbf99e48 Remove unused lx_controller.h file 2008-08-21 10:07:21 +00:00
Daniel P. Berrange
5f134f0197 Ignore libvirt_lxc binary 2008-08-21 09:14:39 +00:00
Daniel P. Berrange
177c74b1fa Create lxc_controller standalone binary 2008-08-20 20:55:32 +00:00
Daniel P. Berrange
bb16f4a25d Do conditional driver config in Makefile.am, not source files 2008-08-20 20:48:35 +00:00
Daniel P. Berrange
6334cd16df Remove configFile/autostartLink vars from virDomainObj struct 2008-08-20 19:42:36 +00:00
Daniel Veillard
b1e5880740 add cpu management functionality to OpenVZ driver
* src/openvz_conf.c src/openvz_driver.c: patch from Evgeniy Sokolov
  to limit the number of CPUs used by OpenVZ domains.
Daniel
2008-08-20 13:44:03 +00:00
Daniel Veillard
ce9439358c Fix creating and cleaning up logical volumes if a target path is specified
* src/storage_backend_logical.c: Patch from Cole Robinson, fix
  creating and cleaning up logical volumes if a target path is
  specified.
Daniel
2008-08-20 13:33:01 +00:00
Daniel Veillard
ace1b6bf98 Fix size reporting for disks without partitions.
* src/parthelper.c: Patch from Cole Robinson, fix size reporting for
  disks without partitions.
Daniel
2008-08-20 13:20:01 +00:00
Daniel Veillard
b73d495754 * src/network_conf.c src/network_conf.h src/qemu_driver.c: allow to
add static host definition for dnsmasq
Daniel
2008-08-20 12:50:29 +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
5cd1d3c53c Remove duplicated call to virInitialize 2008-08-18 09:24:46 +00:00
Mark McLoughlin
7c3ccd6f14 Fri Aug 15 11:00:38 IST 2008 Mark McLoughlin <markmc@redhat.com>
* src/qemu_conf.c: fix serial/telnet to use "server" option
        rather than "listen"

        * tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args:
        fix the test case too
2008-08-15 10:02:33 +00:00
Atsushi SAKAI
6fd4c30285 fix typos src/virsh.c from John Levon,
and 3 more files(src/domain_conf.c src/openvz_driver.c src/qemu_driver.c)
2008-08-15 01:41:49 +00:00
Daniel P. Berrange
2e7a373646 Switch LXC driver over to generic domain XML processing APIs 2008-08-13 12:50:55 +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
Daniel P. Berrange
518c2144e5 Re-arrange code between LXC driver files 2008-08-13 10:25:34 +00:00
Daniel P. Berrange
e82c913680 Refactor LXC driver to pass tty/socket state directly 2008-08-13 10:14:47 +00:00
Daniel Veillard
415b92101f * docs/storage.html[.in] src/storage_backend_disk.c: revert previous
msdos patch and apply new one from Cole Robinson
daniel
2008-08-13 09:45:10 +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
Daniel Veillard
8fdb2cffa5 make sure parted doesn't ask for confirmation
* src/storage_backend_disk.c: make sure parted doesn't ask
  confirmation,  patch by Cole Robinson
Daniel
2008-08-12 11:29:49 +00:00
Daniel Veillard
ef7fec1168 rename the disk type from 'dos' to 'msdos'
* docs/storage.html[.in] src/storage_backend_disk.c: patch from
  Cole Robinson to rename the disk type from 'dos' to 'msdos'
Daniel
2008-08-12 11:26:00 +00:00
Atsushi SAKAI
413c5dbf07 add _fd to stdin, stderr stdout in struct virDomainObj for compilation on MinGW 2008-08-12 08:38:22 +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 Veillard
5ba372306a llow to add a disk as an USB device (QEmu/KVM)
* src/domain_conf.c src/domain_conf.h src/qemu_conf.c
  src/qemu_driver.c: patch from Guido Günther allowing to add
  disk as USB devices
* docs/libvirt.rng: extend the schemas for the new value
* tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
  tests/qemuxml2argvdata/qemuxml2argv-disk-usb.xml
  tests/qemuxml2argvtest.c tests/qemuxml2xmltest.c: add a specific
  test to the regression suite
Daniel
2008-08-08 15:03:00 +00:00
Daniel Veillard
d1710d35ea Extend parser and add support for USB devices in QEmu/KVM
* src/domain_conf.c src/domain_conf.h src/qemu_conf.c
  src/qemu_driver.c: Patch from Guido Günther allowing to pass
  usb devices to qemu/kvm
* docs/libvirt.rng: add the new functionality to the grammar
* tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
  tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.xml
  tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-product.args
  tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-product.xml
  tests/qemuxml2argvtest.c tests/qemuxml2xmltest.c: adding examples
  to the regression tests
* libvirt.spec.in: fix the licence tag
Daniel
2008-08-08 14:27:05 +00:00
Dan Smith
e94c12451b Fix device name clash in src/veth.c 2008-08-07 13:34:17 +00:00
Daniel Veillard
2194f1c983 * src/bridge.c: fix a build failure on RHEL4
Daniel
2008-08-07 10:22:52 +00:00
Jim Meyering
3fb53d1181 fix failing "make syntax-check"
* src/stats_linux.c: Don't include <c-ctype.h> no longer used.
2008-08-06 13:07:55 +00:00
Jim Meyering
783158511a work around MinGW build failure due to its lack of inet_aton
Use inet_pton instead; pull in gnulib's module by the same name.
* src/network_conf.c (virNetworkDefParseXML): Use inet_pton,
rather than inet_aton.
* bootstrap (modules): Add inet_pton.
* gnulib/lib/inet_pton.c: New file, from gnulib.
2008-08-06 12:08:49 +00:00
Chris Lalancette
b8fb68be37 DanB pointed out that my sexpr xend_internal patch from yesterday broke one of
the regression tests.  The problem is that the xenDaemonFormatSxpr{Disk,Net}
functions are shared between domain creation time and attaching disk time.
Unfortunately, though, Xend expects something different during these two times.
 During domain creation time, it wants the "(device" in front of the sexpr,
while during attach time it does not.  To remedy this situation, I added a flag
to these two functions to differentiate between these two modes.  With this
patch in place, all of the regression tests pass.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-08-06 11:26:47 +00:00
Chris Lalancette
6335c2a0cc With the recent refactoring of the domain code, plus the changes with the Xend
code, a couple of bugs were introduced into the attach-disk and attach-interface
functionality.  This patch fixes 3 bugs:

1)  In xenDaemonAttachDevice(), there is a switch statement to determine which
of the xenDaemonFormatSxpr{Disk,Net} functions to call.  Unfortunately, the case
statements are all missing the corresponding "break", so we always fall-through
to the default error case.  This patch just adds the appropriate break statements.

2)  (minor) In xenDaemonDomainDefineXML (that's a mouthful!), there is a stray
"fprintf".  This is now converted to a proper virXendError().

3)  xenDaemonFormatSxpr{Disk,Net} were adding an extra (device to the front of
the sexpr expressions that xend did not expect (this is Xend on RHEL 5.2).
Because of this, the attaches would fail.  The patch fixes this by removing the
(device from the front, which makes attach-disk and attach-interface work again.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-08-05 16:45:07 +00:00
Chris Lalancette
8c30002862 Recently upstream Xen added support for having xvd devices > 16. For the most
part, this doesn't really concern libvirt, since for things like attach and
detach we just pass it through and let xend worry about whether it is supported
or not.  The one place this breaks down is in the stats collecting code, where
we need to figure out the device number so we can go digging in /sys for the
statistics.

To remedy this, I've re-written xenLinuxDomainDeviceID() to use regular
expressions to figure out the device number from the name.  The major advantage
is that now xenLinuxDomainDeviceID() looks fairly identical to
tools/python/xen/util/blkif.py (in the Xen sources), so that adding additional
devices in the future should be much easier.  It also reduces the size of the
code, and, in my opinion, the code complexity.

With this patch in place, I was able to get block statistics both on older style
devices (/dev/xvda) and on the new, expanded devices (/dev/xvdaa).

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-08-05 16:38:49 +00:00
Daniel Veillard
063679580d saving UUID of new OpenVZ domains
* src/openvz_conf.c src/openvz_conf.h src/openvz_driver.c: patch
  from Evgeniy Sokolov saving the UUID when creating or defining
  a domain.
Daniel
2008-08-05 10:53:05 +00:00
Jim Meyering
6d72e14178 make distclean: remove generated source files
* src/Makefile.am (DISTCLEANFILES): Define to $(BUILT_SOURCES)
so "make distcheck" passes.
2008-08-05 08:43:03 +00:00
Atsushi SAKAI
adc1d93f97 fix syntax-check error (replace TAB to space) 2008-08-04 06:33:25 +00:00
Jim Meyering
deefaf1891 src/xend_internal.c (xenDaemonParseSxpr): Add const to "root" parameter.
This piece was mistakenly omitted from the previous patch.
2008-08-01 15:32:28 +00:00
Jim Meyering
07f8a8b34a xend_internal.c, sexpr.c: const-correctness fixes 2008-08-01 14:43:12 +00:00
Richard W.M. Jones
969fa847c1 'virsh edit' and related commands
* src/virsh.c: Implement 'virsh edit', 'virsh net-edit' and
	  'virsh pool-edit' commands.  These edit the XML for domains,
	  networks and storage pools respectively, and are the
	  equivalent of doing 'virsh dumpxml; vi foo.xml; virsh define'
	* src/Makefile.am, src/.cvsignore: Auto-generate the net-edit
	  and pool-edit commands.
	* docs/virsh.pod: Updated the documentation.
2008-08-01 14:30:41 +00:00
Daniel P. Berrange
0dee7feb74 Fix initial VM state 2008-08-01 14:19:06 +00:00
Jim Meyering
66f9bb5b95 virsh.c: more const-correctness fixes 2008-08-01 13:51:18 +00:00
Daniel P. Berrange
a7600746fb Support for container related domain XML extensions 2008-08-01 13:31:37 +00:00
Daniel P. Berrange
ffc839fb20 Always set forward-delay on bridge, even if 0 2008-08-01 12:56:52 +00:00
Richard W.M. Jones
3f3345aa85 Const-correctness fixes in virsh.c
* src/virsh.c: Const-correctness.
2008-08-01 12:19:56 +00:00
Daniel Veillard
c810c6cc23 * src/qemu_driver.c: patch from Chris Lalancette adding missing
carriage returns to logs
Daniel
2008-08-01 11:24:04 +00:00
Richard W.M. Jones
cf11bb2249 Improve error messages when XML is not well-formed.
* src/domain_conf.c, src/network_conf.c, src/storage_conf.c:
	  Improve error messages from commands such as 'virsh define'
	  when the XML is not well-formed by passing libxml2 errors
	  back out through virterror.
2008-08-01 09:39:44 +00:00
Daniel Veillard
eba65e1c6d * docs/formatdomain.html docs/formatdomain.html.in docs/libvirt-api.xml
docs/libvirt-refs.xml docs/html/libvirt-libvirt.html src/libvirt.c:
  fixed somedocs and API entry point descriptions as suggested by
  Charles Duffy and regenerated the API descriptions.
Daniel
2008-08-01 06:42:45 +00:00
Daniel Veillard
7711e6858c * src/qemu_driver.c: apply patch from Charles Duffy fixing erro
messages when trying to crate a domain already defined.
Daniel
2008-08-01 06:23:31 +00:00
Daniel P. Berrange
42e559a324 Fix autoport when domain is inactive 2008-07-31 14:39:30 +00:00
Chris Lalancette
6f17fb2851 From Charles Duffy:
Per subject; if autoport is in use for a host, the current
virDomainGraphicsDefFormat code always emits "port=-1", even if a port
is assigned to the host; this leaves no way for a client to find the VNC
port assigned to the host in question.

This patches fixes it by putting the vncport in place if there is one, and
only putting "-1" if we fail that test.
2008-07-31 12:30:34 +00:00
Daniel Veillard
55e1221686 * src/qemu_driver.c: patch from Guido Günther, interface stats should
not crash on interfaces without an ifname.
Daniel
2008-07-30 09:20:19 +00:00
Daniel Veillard
c05cf3f3e1 * src/storage_backend_logical.c: patch from David Lively fixing
small differences of behaviour for 'lvs' and 'vgs' on SLES
Daniel
2008-07-30 08:52:44 +00:00
Chris Lalancette
654c5714bf The new generic domain re-factor introduced a small regression into the drive
handling code.  In particular, if you had a section of XML like:

    <disk type='file' device='cdrom'>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>

This used to work with older libvirt, but now fails.  This is because we are
actually passing the literal string (null) to the qemu command-line, which qemu
barfs on.  This patch fixes it up by making it blank, which allows qemu to
continue on it's merry way.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-07-29 12:09:21 +00:00
Daniel Veillard
4779e0bcb2 build OpenVZ and LXC support by default, fix OpenVZ build
* src/openvz_conf.c: fix compilation with new XPath interface
  signatures
* configure.in: build OpenVZ and LXC support by default
Daniel
2008-07-29 08:42:56 +00:00
Daniel Veillard
996933bbcd OpenVZ xml refactoring
* src/domain_conf.[ch] src/openvz_conf.[ch] src/openvz_driver.c:
  patch from Evgeniy Sokolov doing the OpenVZ xml refactoring,
  still needs to be ported to the new XML parsing code but
  implements the new format.
Daniel
2008-07-28 14:06:54 +00:00
Daniel Veillard
387e06421f * src/qemu_driver.c: patch from Guido Günther to make sure create
doesn't override an existing domain definition or UUID
Daniel
2008-07-28 12:52:37 +00:00
Daniel P. Berrange
c5ecc66658 Fix misc typos in domain XML handling 2008-07-25 16:25:11 +00:00
Daniel P. Berrange
e8a84817d4 Remove unused c-ctype.h include 2008-07-25 16:19:00 +00:00
Daniel P. Berrange
9351cb0ab0 Fix reporting of errors against virConnect object in XML apis 2008-07-25 14:27:25 +00:00
Daniel P. Berrange
cb29913fb1 Switch XM config file driver to use new domain APIs for XML to config conversion 2008-07-25 14:10:49 +00:00
Daniel P. Berrange
547bd71a4a Switch XM config file driver to use new domain APIs for XML generation 2008-07-25 13:50:08 +00:00
Daniel P. Berrange
225fb3e93c Prepare xm_internal driver for new domain XML apis 2008-07-25 13:39:02 +00:00
Daniel P. Berrange
73d021c5c1 Fix test driver inactive domains and domain ID allocation 2008-07-25 13:27:12 +00:00
Daniel P. Berrange
8c6f5a546b Convert XenD XML->SEXPR conversion to new domain XML APIs 2008-07-25 13:17:27 +00:00
Daniel P. Berrange
31ac8125b8 Convert XenD SEXPR->XML convesion to new domain XML APIs 2008-07-25 10:49:33 +00:00
Daniel P. Berrange
d9383fe158 Remove unused/no-op Xen driver code 2008-07-25 09:51:23 +00:00
Daniel P. Berrange
3de646a51d Misc bug fixes 2008-07-25 09:31:24 +00:00
Daniel Veillard
c1e6cc1969 * src/qemu_driver.c: some uuid to string conversion were missing
patch from Guido Günther
Daniel
2008-07-25 09:01:25 +00:00
Daniel Veillard
6fae611381 wrong open() failure detection
* src/qemu_driver.c: Guido Trotter pointed out a wrong open() failure
  detection
Daniel
2008-07-25 08:42:05 +00:00
Daniel Veillard
27efc8bd0d Check for already running QEmu domain on create
* src/qemu_driver.c: another patch from Guido Günther checking
  for an already running domain on create
Daniel
2008-07-24 07:29:50 +00:00
Daniel Veillard
d3bb1e4367 * src/qemu_driver.c: patch from Guido Günther checking for
unsupported migrate command
Daniel
2008-07-24 07:09:45 +00:00
Jim Meyering
2eb8ab2057 better diagnostic when failing to undefine a running domain via ID
* src/virsh.c (cmdUndefine): Tell user to shutdown and then use name or UUID.
* tests/undefine: New test.  Exercise virsh's undefine command.
* tests/Makefile.am (test_scripts): Add undefine.
2008-07-22 16:12:01 +00:00
Daniel Veillard
fa6177aafe fix a warning when no proxy is configured in, Daniel 2008-07-22 09:52:31 +00:00
Daniel Veillard
7e73b8b61a cleaning up integer string parsing
* src/openvz_conf.c src/openvz_driver.c: patch from Evgeniy Sokolov
  cleaning up integer string parsing.
Daniel
2008-07-21 13:34:19 +00:00
Daniel Veillard
f92e0898d3 Fix compile , Daniel 2008-07-21 12:06:16 +00:00
Daniel Veillard
403a5163c9 * src/xen_unified.c: fix a leak in xenUnifiedOpen
Daniel
2008-07-21 09:48:01 +00:00
Daniel Veillard
7b4f67acea OpenVZ domain cpu time
* src/openvz_driver.c: patch from Evgeniy Sokolov to get OpenVZ
  domain cpu time consumption.
Daniel
2008-07-21 08:08:25 +00:00
Daniel Veillard
cb3e65e922 * src/openvz_driver.c: patch from Evgeniy Sokolov avoiding domain
lookups based on ID as this doesn't work for a stopped domain.
Daniel
2008-07-21 07:31:14 +00:00
Jim Meyering
3ff5480d7b remove unnecessary "V = NULL;" stmts after VIR_FREE(V)
* src/domain_conf.c (virDomainChrDefParseXML)
(virDomainNetDefParseXML): Likewise.
* src/iptables.c (iptRuleFree): Likewise.
* src/storage_backend.c (virStorageBackendRunProgRegex): Likewise.
* src/test.c (testOpenFromFile): Likewise.
* src/xmlrpc.c (xmlRpcCallRaw): Likewise.
2008-07-19 07:42:34 +00:00
Jim Meyering
cff27e9f40 enable format-safety checks for virDomainReportError
* src/domain_conf.c (virDomainReportError): Declare using
ATTRIBUTE_FORMAT(printf, 3, 4).
* Makefile.maint (msg_gen_function): Add virDomainReportError.
2008-07-18 11:02:18 +00:00
Daniel Veillard
dfccabe1e7 fix pool-create for netfs format 'auto'
* src/storage_backend_fs.c: patch from Cole Robinson fixing
  pool-create for netfs format 'auto'
Daniel
2008-07-17 15:20:28 +00:00
Daniel Veillard
16b8942966 undefine command can't take an ID
* src/virsh.c: patch from Evgeniy Sokolov for the undefine command
  which can't take an id
Daniel
2008-07-17 11:49:15 +00:00
Daniel Veillard
edbbb3aa12 ID domain lookup fixup
* src/libvirt.c src/openvz_driver.c: fix the description of the ID
  domain lookup and fix the OpenVZ routine
Daniel
2008-07-16 20:42:38 +00:00
Daniel Veillard
07601749e8 lookup by ID function and error report fix for OpenVZ
* src/openvz_driver.c: fix the lookup by ID function and error
  reporting in OpenVZ, fix by Evgeniy Sokolov
Daniel
2008-07-16 15:27:00 +00:00
Daniel Veillard
5553b0cd16 cleaning up the exec calls to OpenVZ binaries
* src/openvz_driver.c: another cleanup patch from Evgeniy Sokolov
  cleaning up the exec calls to OpenVZ binaries
Daniel
2008-07-16 14:45:55 +00:00
Daniel P. Berrange
276bffd907 Remove unneccessary include 2008-07-12 13:53:50 +00:00
Daniel P. Berrange
6385fe3ede Switch QEMU driver over to generic domain APIs 2008-07-11 19:34:11 +00:00
Daniel P. Berrange
774354e3ef Set initial domain state to SHUTOFF 2008-07-11 19:31:26 +00:00
Daniel P. Berrange
a1b49bcdea Use full path when loading XML files 2008-07-11 17:59:27 +00:00
Daniel P. Berrange
381fa1fc46 Switch QEMU driver over to generic network APIs 2008-07-11 17:33:45 +00:00
Daniel P. Berrange
d78c0a6800 Convert test driver to new domain XML apis 2008-07-11 16:41:27 +00:00
Daniel P. Berrange
c422fd1240 Convert test driver to new network XML apis 2008-07-11 16:39:08 +00:00
Daniel P. Berrange
d1304583d6 Added generic domain XML APIs 2008-07-11 16:23:36 +00:00
Daniel Veillard
d678a6e88c fix OpenVZ probe function
* src/openvz_driver.c: fix from Evgeniy Sokolov to the probe function
Daniel
2008-07-11 11:09:44 +00:00
Daniel P. Berrange
747fad6654 Generic APIs for network XML configuration 2008-07-11 10:48:34 +00:00
Daniel P. Berrange
69582431a0 Fix booting QEMU off CDROM devices with -drive arg 2008-07-11 09:56:23 +00:00
Daniel P. Berrange
1d86fca433 Fix parsing of QEMU stdout looking for serial device PTY with Xenner 2008-07-11 09:48:51 +00:00
Daniel Veillard
915b86d29b cleanup OpenVZ config file accesses
* src/openvz_conf.c: cleanup OpenVZ config file accesses, patch
  from Evgeniy Sokolov
Daniel
2008-07-11 08:56:16 +00:00
Daniel Veillard
fc2076033b bug in do_open()
* src/libvirt.c: Evgeniy Sokolov found a driver open bug
  in do_open()
Daniel
2008-07-10 15:29:39 +00:00
Daniel Veillard
5215d88be2 cleanup OpenVZ error function
* src/openvz_conf.c src/openvz_conf.h src/openvz_driver.c
  Makefile.maint: patch from Evgeniy Sokolov cleaning up the
  error function used and format check based on Jim's fedback.
Daniel
2008-07-10 12:21:09 +00:00
Daniel Veillard
47010f352c * src/openvz_conf.c src/openvz_conf.h src/openvz_driver.c: new
patch from Evgeniy Sokolov adding OpenVZ autostart get and set support
Daniel
2008-07-10 07:52:14 +00:00
Jim Meyering
a626719f0c remove trailing blanks 2008-07-09 16:59:28 +00:00
Daniel Veillard
db9bcc9bd4 diagnostic fixes on OpenVZ failures
* src/openvz_conf.c src/openvz_conf.h src/openvz_driver.c: applied
patch from Evgeniy Sokolov fixing error diagnostic when exec'ing
OpenVZ commands.
Daniel
2008-07-09 11:55:27 +00:00
Daniel P. Berrange
b897973f2e Preserve context node when doing XPath queries to allow relative XPath expressions 2008-07-09 08:35:09 +00:00
Jim Meyering
fb2eca4cfd give a more useful diagnostic for tap-add failure w/ENOTSUP
* src/qemu_conf.c (qemudNetworkIfaceConnect):
Suggestion from Daniel P. Berrange.
2008-07-09 05:24:08 +00:00
Daniel P. Berrange
a211db1b8f Fix typo in domain state constant 2008-07-08 17:49:26 +00:00
Daniel P. Berrange
95675d4d76 Fix openvz build on x86_64 2008-07-07 11:48:40 +00:00
Daniel P. Berrange
bf79e90f3a Fix memory leak in OOM cleanup 2008-07-07 09:52:26 +00:00
Atsushi SAKAI
fa97486070 Compilation fix for MinGW(w/ LXC) 2008-06-30 05:11:13 +00:00
Dan Smith
0d2c36fda9 [LXC] Remove unused variable and fix uninitialized variable
Also remove a stale comment in the area.  This makes libvirt compile when
passed --with-lxc and --enable-compiler-warnings=error
2008-06-27 15:05:31 +00:00
Dan Smith
0240fe9d58 [LXC] Add setup/cleanup of container network interfaces 2008-06-26 16:09:48 +00:00
Dan Smith
97e1fc3734 [LXC] Add XML parsing of container network interfaces. 2008-06-26 16:08:59 +00:00
Dan Smith
e59eb52fad [LXC] Add functions to manage veth device pairs
This gives us the ability to create a veth pair so that we can move one
into the network namespace of an LXC container.
2008-06-26 16:07:48 +00:00
Dan Smith
99ded85f45 [LXC] Detect support for NETNS in lxc driver initialization
Allow check for containers support to be done without CLONE_NEWNET, and then
determine support on the fly by checking for iproute2 support and a
successful clone(CLONE_NEWNET).  This lets us set a flag for later, as well
as not completely disable LXC support on a system without NETNS support.
2008-06-26 16:05:02 +00:00
Atsushi SAKAI
f3c3550771 Fix make syntax-check 2008-06-26 10:56:19 +00:00
Atsushi SAKAI
fbb5d771a0 Compilation fixes for MinGW 2008-06-26 09:37:51 +00:00
Daniel Veillard
93db3c61c0 * configure.in NEWS libvirt.spec* doc/* po/*: making libvirt-0.4.4
release
* src/xm_internal.c: fix xm driver serialization escapes
* tests/xmconfigtest.c tests/xmconfigdata/test-escape-paths.cfg
  tests/xmconfigdata/test-escape-paths.xml: add test for previous
  problem
Daniel
2008-06-25 08:59:37 +00:00
Daniel P. Berrange
47605e1dfa Added helpers for dealing with enumerations 2008-06-24 15:00:15 +00:00
Daniel P. Berrange
313f1a7c0d Fix const-ness of virStorageBackendRunProgRegex() 2008-06-24 14:30:25 +00:00
Daniel Veillard
1ec7cccbd3 fix a couple of List functions for max = 0 issues
* src/xen_internal.c src/xend_internal.c: fix a couple of issues
  for List functions where max given is 0
Daniel
2008-06-19 14:39:49 +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
0aa6eedddd For 0.4.3, danpb's new memory management scheme went into libvirt. This is
fine, except that is subtly alters the semantics of malloc(), calloc(), and
realloc().  In particular, if you say:

foo = malloc(0);

glibc will happily return a non-NULL pointer to you.  However, with the new
memory management stuff, if you say:

foo = VIR_ALLOC(0);

you will actually get a NULL pointer back.  Personally, I think this is a
dangerous deviation from malloc() semantics that everyone is used to, and is
indeed causing problems with the remote driver.  The short of it is that the
remote driver allocates memory on behalf of the remote side using VIR_ALLOC_N,
and this call is returning NULL so that the NULL checks elsewhere in the code
fire and return failure.

The attached patch fixes this situation by removing the 0 checks from the memory
allocation paths, and just lets them fall through to the normal malloc(),
calloc(), or realloc() routines, restoring old semantics.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-19 11:58:49 +00:00
Chris Lalancette
a24b1d9eda When doing the conversion to danpb's new memory API, a small bug was
introduced into the qemudNetworkIfaceConnect() function.  In particular, there
is a call:

    if (VIR_ALLOC_N(vm->tapfds, vm->ntapfds+2) < 0)
        goto no_memory;

However, the tapfds structure is used to track *all* of the tap fds, and is
called once for each network that is being attached to the domain.  VIR_ALLOC_N
maps to calloc().  So the first network would work just fine, but if you had
more than one network, subsequent calls to this function would blow away the
stored fd's that were already there and fill them all in with zeros.  This
causes multiple problems, from the qemu domains not starting properly to
improper cleanup on shutdown.  The attached patch just changes the VIR_ALLOC_N()
to a VIR_REALLOC_N(), and everything is happy again.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-19 10:38:36 +00:00
Jim Meyering
21ea9cb7af remove trailing white space 2008-06-17 15:55:03 +00:00
Chris Lalancette
0de4f35ebc This rather large patch rewrites the virStorageBackendISCSIFindLUNs() function
to only rely on sysfs for finding LUNs, given a session number.  Along the way,
it also fixes the bug where we wouldn't find LUNs for older kernels (with the
block:sda format), and also fixes a race condition where we could try
to find the LUN before udev has finished connecting it.

This patch fixes a few different bugs:
1) We weren't finding LUNs on pre 2.6.24 kernels
2) libvirtd sysfs scanning was racing with udev, so we didn't always see LUNs
3) We weren't showing the 0'th LUN, although that can be a valid LUN

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-17 12:49:37 +00:00
Chris Lalancette
94e3ba0e87 A small bugfix; we only need to call the iscsiadm sendtarget command when we are
first logging in; we don't need to do it for logout.  Move the sendtarget
command into the Login() function.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-17 12:47:10 +00:00
Chris Lalancette
88dd6f6cc2 Older versions of iscsiadm didn't support the "-P 0" flag to the "iscsiadm
--mode session" command.  However, just running "iscsiadm --mode session" seems
to work on all version of iscsiadm commands back to FC-6, so just use that.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-17 12:46:38 +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
Chris Lalancette
a75a612ad5 This patch changes things around so that virStorageBackendRunProgRegex() does
*not* virStorageReportError() if the fork()/exec() process it spawned returned a
!= 0 exit code.  Rather, it returns the exitcode in this case, and it is up to
the higher level to determine whether this is a fatal error or not.  The use
case for this change is in the iSCSI stuff; older versions of iscsiadm tools
would return a failure when getting the session number, despite the command
succeeding.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-06-17 12:45:24 +00:00
Daniel Veillard
5ba9e91e52 * src/qemu_conf.c: patch from Kaitlin Rupert, dynamic devices
for network should be defined in an 'interface' node not 'net'
Daniel
2008-06-13 07:56:59 +00:00
Daniel P. Berrange
841dd882a4 Fix misc compile warnings 2008-06-12 13:48:29 +00:00
Daniel P. Berrange
db162cb2b8 Fix saving of iptables rules 2008-06-12 13:47:38 +00:00
Daniel P. Berrange
74fb2b9704 Deal with inactive virtual network in domain creation 2008-06-12 10:19:24 +00:00
Daniel Veillard
5d14e4fcce * src/qemu_driver.c: patch from Kaitlin Rupert, changing vcpu or
memory of an active domain is a NO_SUPPORT not INTERNAL_ERROR
Daniel
2008-06-12 08:55:13 +00:00
Daniel P. Berrange
357bf10553 Fix RPM build 2008-06-11 11:26:36 +00:00
Richard W.M. Jones
406d896363 Pass syntax check for XM block devices over to XenD
* src/xm_internal.c: Pass responsibility for checking syntax
	  of XM block devices over the XenD (see also Xen cset 17617).
	  (Hiroyuki Kaguchi).
2008-06-10 14:39:58 +00:00
Richard W.M. Jones
6bcf25017b 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.
2008-06-10 10:43:28 +00:00
David L. Leskovec
0d0c96722c 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
2008-06-09 22:51:32 +00:00
Richard W.M. Jones
787e44a1d0 Better error messages in xend driver.
* src/xend_internal.c: Change virXendError function to take
	varargs.  Better error messages throughout.
2008-06-09 12:16:03 +00:00
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
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
6d132b546d complete the previous change 2008-05-09 08:06:50 +00:00
Jim Meyering
712251009b 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 '
2008-05-09 08:02:44 +00:00
David L. Leskovec
6ca76333f3 *** empty log message *** 2008-05-09 07:16:30 +00:00
Daniel P. Berrange
021bd31706 Added disk target bus type to Xen driver 2008-05-08 14:41:56 +00:00
Daniel P. Berrange
31b17e6d44 Disable sound functions when in proxy 2008-05-07 18:50:23 +00:00
Daniel Veillard
da6316f20e 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
2008-05-07 16:16:44 +00:00
Daniel Veillard
70f446631f 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
2008-05-07 14:04:40 +00:00
Daniel P. Berrange
2afd1db4a2 Fix build on F9 with missing stddefs.h include 2008-05-06 21:44:12 +00:00
Daniel P. Berrange
b04e40d6a3 Remove bogus check for NULL in qparams breaking connections 2008-05-01 18:11:03 +00:00
Daniel P. Berrange
159cb2b97c Added support for network interface model setting 2008-04-30 12:30:55 +00:00
Jim Meyering
0c37f59802 remove useless tests before xmlFree
* src/qemu_conf.c (qemudParseDiskXML, qemudParseInterfaceXML):
(qemudParseInputXML, qemudParseDhcpRangesXML):
* src/remote_internal.c (doRemoteOpen):
* src/storage_conf.c (virStoragePoolDefParseDoc):
* src/xm_internal.c (xenXMParseXMLDisk, xenXMParseXMLVif):
(xenXMParseXMLToConfig, xenXMAttachInterface):
* src/xml.c (virDomainParseXMLDiskDesc, virDomainParseXMLIfDesc):
(virDomainXMLDevID):
2008-04-29 19:43:57 +00:00
Daniel P. Berrange
624ab0be4c Tell gcov to look in .libs to find coverage data 2008-04-29 15:38:13 +00:00
Daniel P. Berrange
b1f791adb0 Fix array out of bounds in capabilities code parsing 2008-04-29 14:13:54 +00:00
Daniel P. Berrange
7573ce3591 Remove bogus test code accidentally left in previous commit 2008-04-29 13:48:41 +00:00
Jim Meyering
724d0df7e5 Avoid "make syntax-check" failures.
* src/memory.c: Include "config.h".
Remove trailing blanks.
2008-04-29 13:37:20 +00:00
Jim Meyering
fe394e0baa Avoid in-function #if directives.
* src/parthelper.c [!PED_PARTITION_PROTECTED]: Define to 0.
Remove in-function #ifdefs.
2008-04-29 13:20:46 +00:00
Richard W.M. Jones
1e43bebf69 * src/parthelper.c: Don't fail if PED_PARTITION_PROTECTED
is not defined because of ancient libparted
          (Soren Hansen).
2008-04-29 08:17:36 +00:00
Daniel P. Berrange
4ffb0358de Added safer lowlevel memory allocation APis. Converted hash.c and capabilities.c to use them 2008-04-28 21:44:54 +00:00
Daniel P. Berrange
642b26fab2 Change virBuffer API to prevent common usage errors. Update all users of APIs 2008-04-28 15:14:59 +00:00
Jim Meyering
212472b813 avoid format-related warnings
* qemud/qemud.c (main): Fix a bogus format string reported as umarked.
* src/virsh.c (cmdVcpupin): Non-literal with no args.
2008-04-28 09:09:52 +00:00
Daniel P. Berrange
e6f1123819 Added full support for serial and parallel devices to Xen drivers 2008-04-26 14:22:02 +00:00
Daniel P. Berrange
49956f0469 Implement serial & parallel device support for QEMU driver 2008-04-25 20:46:13 +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
Jim Meyering
2d206f1d7a avoid compile error when <pthread.h> is absent
* src/internal.h (HAVE_PTHREAD_H): Test with "#ifdef", not "#if".
2008-04-18 09:26:45 +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
Richard W.M. Jones
ba5411995b Remove unused uid field in virsh control structure.
* src/virsh.c: Remove unused uid field in virsh control structure.
2008-04-10 17:37:23 +00:00
Jim Meyering
5bf824ea10 convert TAB-based indentation in C sources to use only spaces
Done using this command (also includes .c.in and .h.in files):
for i in $(g ls-files|grep -E '\.[ch](\.in)?$'|grep -v gnulib); do
  expand -i $i > j && mv j $i;done
2008-04-10 16:54:54 +00:00
Jim Meyering
dc42a9d2de remove Vim and Emacs variable settings from C source files
Done with these commands:
git grep -l Local.variab|xargs \
  perl -0x3b -pi -e 's,\n+/\*\n \* vim:(.|\n)*,\n,'

git grep -l Local.variab|xargs \
  perl -0x3b -pi -e 's,\n+/\*\n \* Local variables:\n(.|\n)*,\n,'
2008-04-10 16:53:29 +00:00
Daniel Veillard
c863713742 Ask xend to remove device in the config file too
* src/xend_internal.c: applied a patch from Ryan Scott to ask
  xend to save the device removal change in the config file
Daniel
2008-04-10 13:30:17 +00:00
Daniel Veillard
9ae41a71ac * src/Makefile.am src/lxc_conf.c src/lxc_conf.h src/lxc_container.c
src/lxc_container.h src/lxc_driver.c: Applied second set of
  linux container patches from Dave Leskovec adding start/stop
  of domains
Daniel
2008-04-10 07:30:52 +00:00
Richard W.M. Jones
ed8a6d6a10 Core code contains Xen-ism UUID of dom0 = 0..0
* src/libvirt.c: Remove a Xen-ism from the core code, the
          assumption that dom0's UUID is all zeroes.
2008-04-09 14:03:01 +00:00
Richard W.M. Jones
b5af30a9f3 Remove extraneous underscore
* src/openvz_conf.c: Remove extraneous underscore which stopped
          file from compiling (Anton Protopopov).
2008-04-09 13:50:27 +00:00
Jim Meyering
3ce465f819 Don't fail to read a file because it's non-seekable (e.g., a pipe).
* src/util.c (fread_file_lim): New function.
(__virFileReadAll): Use fread_file_lim, rather than requiring
that stat.st_size provide a usable file size.
* tests/read-non-seekable: New test, for the above.
* tests/Makefile.am (test_scripts): Add read-non-seekable.
* tests/test-lib.sh (mkfifo_or_skip_): New helper function.
2008-04-08 15:33:16 +00:00
Richard W.M. Jones
407df0f164 src/qemu_driver.c: Handle errors from fork(2) and pipe(2)
system calls when creating qemu subprocess.
2008-04-08 12:27:53 +00:00
Daniel Veillard
801a8f2e7b adds xen and hvm guest types to test driver capabilities
* src/test.c: patch from Cole Robinson adding xen and hvm guest types
  to the test driver's capabilities.
Daniel
2008-04-08 09:26:24 +00:00
Daniel P. Berrange
d4a6fe9f99 Don't do polkit auth as root 2008-04-04 15:09:19 +00:00
Daniel Veillard
62ee5d5711 error message on vcpupin
* src/virsh.c: patch from Shigeki Sakamoto adding message on vcpupin
Daniel
2008-04-04 11:20:45 +00:00
Daniel Veillard
a528e97383 typos fixes
* docs//* src/conf.c src/hash.c src/libvirt.c src/proxy_internal.c
 src/remote_internal.c src/virsh.c src/xen_internal.c
 src/xend_internal.c src/xml.c: applied patch from Atsushi SAKAI
 fixing a lot of typos
Daniel
2008-04-04 07:58:29 +00:00
Daniel Veillard
7b72ef296f virNodeGetCellsFreeMemory for test driver
* src/test.c: patch from Cole Robinson to add
  virNodeGetCellsFreeMemory to the test driver
Daniel
2008-04-04 07:31:24 +00:00
Richard W.M. Jones
dfc4b8a7d0 C99 initializer on __lastErr
* src/virterror.c: Use C99 initializers to make initialization
          of __lastErr clearer (Guido Günther).
2008-04-02 16:22:34 +00:00