- 14 12月, 2012 5 次提交
-
-
由 Jiri Denemark 提交于
With sanlock enabled, only one of those files was installed.
-
由 Eric Blake 提交于
* src/Makefile.am (libvirt.syms): Let cat loop for us.
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
$(srcdir) is already part of $$file since commit f1f9a7ac.
-
- 13 12月, 2012 7 次提交
-
-
由 Daniel P. Berrange 提交于
The default lockd driver behavour is to acquire leases directly on the disk files. This introduces an alternative mode, where leases are acquire indirectly on a file that is based on a SHA256 hash of the disk filename. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
This adds a 'lockd' lock driver which is just a client which talks to the lockd daemon to perform all locking. This will be the default lock driver for any hypervisor which needs one. * src/Makefile.am: Add lockd.so plugin * src/locking/lock_driver_lockd.c: Lockd driver impl Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
This enhancement virtlockd so that it can receive a pre-opened UNIX domain socket from systemd at launch time, and adds the systemd service/socket unit files * daemon/libvirtd.service.in: Require virtlockd to be running * libvirt.spec.in: Add virtlockd systemd files * src/Makefile.am: Install systemd files * src/locking/lock_daemon.c: Support socket activation * src/locking/virtlockd.service.in, src/locking/virtlockd.socket.in: systemd unit files * src/rpc/virnetserverservice.c, src/rpc/virnetserverservice.h: Add virNetServerServiceNewFD() method * src/rpc/virnetsocket.c, src/rpc/virnetsocket.h: Add virNetSocketNewListenFD method Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Introduce a lock_daemon_dispatch.c file which implements the server side dispatcher the RPC APIs previously defined in the lock protocol. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The virtlockd daemon will be responsible for managing locks on virtual machines. Communication will be via the standard RPC infrastructure. This provides the XDR protocol definition * src/locking/lock_protocol.x: Wire protocol for virtlockd * src/Makefile.am: Include lock_protocol.[ch] in virtlockd Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The virtlockd daemon will maintain locks on behalf of libvirtd. There are two reasons for it to be separate - Avoid risk of other libvirtd threads accidentally releasing fcntl() locks by opening + closing a file that is locked - Ensure locks can be preserved across libvirtd restarts. virtlockd will need to be able to re-exec itself while maintaining locks. This is simpler to achieve if its sole job is maintaining locks Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Viktor Mihajlovski 提交于
make check fails in check-symsorting if configure is not run in the source directory. Prefixing symfile names with $(srcdir) fixes this. Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
- 12 12月, 2012 1 次提交
-
-
由 Daniel P. Berrange 提交于
Add check-symsorting.pl to perform case-insensitive alphabetical sorting of groups of symbols. Fix all violations it reports Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 11 12月, 2012 1 次提交
-
-
由 Dmitry Guryanov 提交于
Parallels Cloud Server uses virtual networks model for network configuration. It uses own tools for virtual network management. So add network driver, which will be responsible for listing virtual networks and performing different operations on them (in consequent patched). This patch only allows listing virtual network names, without any parameters like DHCP server settings. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
- 05 12月, 2012 1 次提交
-
-
由 Bamvor Jian Zhang 提交于
Implement the domainManagedSave, domainHasManagedSaveImage, and domainManagedSaveRemove functions in the libvirt legacy xen driver. domainHasManagedSaveImage check the managedsave image from filesystem everytime. This is different from qemu and libxl driver. In qemu or libxl driver, there is a hasManagesSave flag in virDomainObjPtr which is not used in xen legacy driver. This flag could not add into xen driver ptr either, because the driver ptr will be released at the end of every libvirt api call. Meanwhile, AFAIK, xen store all the flags in xen not in libvirt xen driver. There is no need to add this flag in xen. Signed-off-by: NBamvor Jian Zhang <bjzhang@suse.com>
-
- 04 12月, 2012 2 次提交
-
-
由 Daniel P. Berrange 提交于
Currently to deal with auto-shutdown libvirtd must periodically poll all stateful drivers. Thus sucks because it requires acquiring both the driver lock and locks on every single virtual machine. Instead pass in a "inhibit" callback to virStateInitialize which drivers can invoke whenever they want to inhibit shutdown due to existance of active VMs. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Ata E Husain Bohra 提交于
The patch adds the backend driver to support iSCSI format storage pools and volumes for ESX host. The mapping of ESX iSCSI specifics to Libvirt is as follows: 1. ESX static iSCSI target <------> Libvirt Storage Pools 2. ESX iSCSI LUNs <------> Libvirt Storage Volumes. The above understanding is based on http://libvirt.org/storage.html. The operation supported on iSCSI pools includes: 1. List storage pools & volumes. 2. Get XML descriptor operaion on pools & volumes. 3. Lookup operation on pools & volumes by name, UUID and path (if applicable). iSCSI pools does not support operations such as: Create / remove pools and volumes.
-
- 01 12月, 2012 2 次提交
-
-
由 Daniel P. Berrange 提交于
This introduces a few new APIs for dealing with strings. One to split a char * into a char **, another to join a char ** into a char *, and finally one to free a char ** There is a simple test suite to validate the edge cases too. No more need to use the horrible strtok_r() API, or hand-written code for splitting strings. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
To be able todo controlled shutdown/reboot of containers an API to talk to init via /dev/initctl is required. Fortunately this is quite straightforward to implement, and is supported by both sysvinit and systemd. Upstart support for /dev/initctl is unclear. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 28 11月, 2012 1 次提交
-
-
由 Gao feng 提交于
this patch addes fuse support for libvirt lxc. we can use fuse filesystem to generate sysinfo dynamically, So we can isolate /proc/meminfo,cpuinfo and so on through fuse filesystem. we mount fuse filesystem for every container. the mount name is libvirt,mount point is localstatedir/run/libvirt/lxc/containername. Signed-off-by: NGao feng <gaofeng@cn.fujitsu.com>
-
- 27 11月, 2012 1 次提交
-
-
由 Ata E Husain Bohra 提交于
The patch refactors the current ESX storage driver due to following reasons: 1. Given most of the public APIs exposed by the storage driver in Libvirt remains same, ESX storage driver should not implement logic specific for only one supported format (current implementation only supports VMFS). 2. Decoupling interface from specific storage implementation gives us an extensible design to hook implementation for other supported storage formats. This patch refactors the current driver to implement it as a facade pattern i.e. the driver exposes all the public libvirt APIs, but uses backend drivers to get the required task done. The backend drivers provide implementation specific to the type of storage device. File changes: ------------------ esx_storage_driver.c ----> esx_storage_driver.c (base storage driver) | |---> esx_storage_backend_vmfs.c (VMFS backend)
-
- 30 10月, 2012 1 次提交
-
-
由 Eric Blake 提交于
Commit 34e8f63a altered virfile.o to drag in additional symbols, which in turn led to pulling in other .o files and eventually causing a link failure when systemtap probes are enabled, such as: ./.libs/libvirt_util.a(libvirt_util_la-event_poll.o): In function `virEventPollRunOnce': /home/dummy/libvirt/src/util/event_poll.c:614: undefined reference to `libvirt_event_poll_run_semaphore' ./.libs/libvirt_util.a(libvirt_util_la-event_poll.o):(.note.stapsdt+0x24): undefined reference to `libvirt_event_poll_add_handle_semaphore' Even though libvirt_iohelper and libvirt_parthelper don't directly use the portion of virfile.o that drags in probing, it was easier to satisfy the linker and get the build back up, than to figure out whether it is even possible or worth trying to disentangle the mess. * src/Makefile.am (libvirt_iohelper_LDADD) (libvirt_parthelper_LDADD): Use libvirt_probes.lo when needed.
-
- 18 10月, 2012 1 次提交
-
-
由 Viktor Mihajlovski 提交于
Missing entry for cpu_ppc_data.h added to fix RPM build. Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
- 16 10月, 2012 1 次提交
-
-
由 Daniel P. Berrange 提交于
The previously introduced virFile{Lock,Unlock} APIs provide a way to acquire/release fcntl() locks on individual files. For unknown reason though, the POSIX spec says that fcntl() locks are released when *any* file handle referring to the same path is closed. In the following sequence threadA: fd1 = open("foo") threadB: fd2 = open("foo") threadA: virFileLock(fd1) threadB: virFileLock(fd2) threadB: close(fd2) you'd expect threadA to come out holding a lock on 'foo', and indeed it does hold a lock for a very short time. Unfortunately when threadB does close(fd2) this releases the lock associated with fd1. For the current libvirt use case for virFileLock - pidfiles - this doesn't matter since the lock is acquired at startup while single threaded an never released until exit. To provide a more generally useful API though, it is necessary to introduce a slightly higher level abstraction, which is to be referred to as a "lockspace". This is to be provided by a virLockSpacePtr object in src/util/virlockspace.{c,h}. The core idea is that the lockspace keeps track of what files are already open+locked. This means that when a 2nd thread comes along and tries to acquire a lock, it doesn't end up opening and closing a new FD. The lockspace just checks the current list of held locks and immediately returns VIR_ERR_RESOURCE_BUSY. NB, the API as it stands is designed on the basis that the files being locked are not being otherwise opened and used by the application code. One approach to using this API is to acquire locks based on a hash of the filepath. eg to lock /var/lib/libvirt/images/foo.img the application might do virLockSpacePtr lockspace = virLockSpaceNew("/var/lib/libvirt/imagelocks"); lockname = md5sum("/var/lib/libvirt/images/foo.img"); virLockSpaceAcquireLock(lockspace, lockname); NB, in this example, the caller should ensure that the path is canonicalized before calculating the checksum. It is also possible to do locks directly on resources by using a NULL lockspace directory and then using the file path as the lock name eg virLockSpacePtr lockspace = virLockSpaceNew(NULL); virLockSpaceAcquireLock(lockspace, "/var/lib/libvirt/images/foo.img"); This is only safe to do though if no other part of the process will be opening the files. This will be the case when this code is used inside the soon-to-be-reposted virlockd daemon Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 11 10月, 2012 2 次提交
-
-
由 Jiri Denemark 提交于
While the changes to sanlock driver should be stable, the actual implementation of sanlock_helper is supposed to be replaced in the future. However, before we can implement a better sanlock_helper, we need an administrative interface to libvirtd so that the helper can just pass a "leases lost" event to the particular libvirt driver and everything else will be taken care of internally. This approach will also allow libvirt to pass such event to applications and use appropriate reasons when changing domain states. The temporary implementation handles all actions directly by calling appropriate libvirt APIs (which among other things means that it needs to know the credentials required to connect to libvirtd).
-
由 Jiri Denemark 提交于
-
- 09 10月, 2012 2 次提交
-
-
由 Doug Goldstein 提交于
Always build all available backends to avoid bit-rot. At run time we select the correct backend and load it by attempting netcf first and then udev.
-
由 Doug Goldstein 提交于
Add a read-only udev based backend for virInterface. Useful for distros that do not have netcf support yet. Multiple libvirt based utilities use a HAL based fallback when virInterface is not available which is less than ideal. This implements: * virConnectNumOfInterfaces() * virConnectListInterfaces() * virConnectNumOfDefinedInterfaces() * virConnectListDefinedInterfaces() * virConnectListAllInterfaces() * virConnectInterfaceLookupByName() * virConnectInterfaceLookupByMACString()
-
- 05 10月, 2012 2 次提交
-
-
由 Eric Blake 提交于
This reverts part of commit 5468594f; the perl changes in that patch were sufficient. Since libvirt.syms is already a generated file created in part from libvirt_private.syms, we don't need a second pass over libvirt_private.syms in isolation. * src/Makefile.am: Undo addition of check-private-symfile.
-
由 Michal Privoznik 提交于
Currently, we are checking if libvirt.so contains public symbols. However, sometimes we rename an internal symbol and forget to change libvirt_private.syms accordingly. Hence, it's safer to check for internal symbols as well.
-
- 26 9月, 2012 1 次提交
-
-
由 Daniel P. Berrange 提交于
There are a number of process related functions spread across multiple files. Start to consolidate them by creating a virprocess.{c,h} file Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 19 9月, 2012 1 次提交
-
-
由 Doug Goldstein 提交于
Based exclusively on work by Eric Blake in a patch posted with the same subject. However some modifications related to comments and my plans to add another backend. Added WITH_INTERFACE as the only automake variable deciding whether to build the driver and using WITH_NETCF to identify that we're wanting to use the netcf library as the backend. * configure.ac: Added with_interface * src/interface/netcf_driver.c: Renamed.. * src/interface/interface_backend_netcf.c: ..to this to match storage. * src/interface/netcf_driver.h: Renamed.. * src/interface/interface_driver.h: ..to this. * daemon/Makefile.am: Respect WITH_INTERFACE and WITH_NETCF. * libvirt.spec.in: Add RPM support for --with-interface
-
- 06 9月, 2012 1 次提交
-
-
由 Eric Blake 提交于
I tested both OpenBSD and cygwin; both failed 'make check' with: GEN check-symfile Can't return outside a subroutine at ./check-symfile.pl line 13. Perl requires 'exit 77' instead of 'return 77' in that context, but even with that tweak, the build still fails, since the exit code of 77 is only special to explicit TESTS=foo listings, and not to make-only dependency rules where we are not going through automake's test framework. * src/check-symfile.pl: Kill bogus platform check... * src/Makefile.am (check-symfile): ...and replace with an automake conditional.
-
- 05 9月, 2012 1 次提交
-
-
由 Eric Blake 提交于
On OpenBSD, clock_gettime() exists in libc rather than librt, and blindly linking with -lrt made the build fail. Gnulib already did the work for determining which libraries to use, so we should reuse that work rather than doing it ourselves. * bootstrap.conf (gnulib_modules): Pull in clock-time. * configure.ac (RT_LIBS): Drop. * src/Makefile.am (libvirt_util_la_LIBADD): Use gnulib variable instead. * src/util/virtime.c (includes): Simplify.
-
- 26 8月, 2012 1 次提交
-
-
由 Laine Stump 提交于
When libvirt_lxc is built, it uses the utility library and #includes virnetdev.h, which #includes virnetlink.h, which includes <netlink/msg.h>. Normally, the netlink include directory would be just off /usr/include, so that wouldn't create a problem, but on Fedora and RHEL systems using libnl3, the libnl includes have been moved into /usr/include/libnl3 (to allow concurrent installation of libnl-1.1). All other binaries that need it have added $(LIBNL_CFLAGS) to their CFLAGS, but not libvirt_lxc, so it fails to build on Fedora and RHEL that have only libnl3-devel installed. This was previously unnoticed because everyone was building with libnl headers in /usr/include/netlink (even on systems with the headers in /usr/include/libnl3/netlink, many people (like me) usually also have the libnl1.1 headers in /usr/include/netlink). This patch adds the necessary CFLAGS for libvirt_lxc. Note that we don't need to add $(LIBNL_LIBS) to the LDADD for this binary, because it never directly calls libnl functions, but only calls them indirectly through the util library, which it's already linking against.
-
- 24 8月, 2012 1 次提交
-
-
由 Eric Blake 提交于
This has several benefits: 1. Future snapshot-related code has a definite place to go (and I _will_ be adding some) 2. Snapshot errors now use the VIR_FROM_DOMAIN_SNAPSHOT error classification, which has been underutilized (previously only in libvirt.c) * src/conf/domain_conf.h, domain_conf.c: Split... * src/conf/snapshot_conf.h, snapshot_conf.c: ...into new files. * src/Makefile.am (DOMAIN_CONF_SOURCES): Build new files. * po/POTFILES.in: Mark new file for translation. * src/vbox/vbox_tmpl.c: Update caller. * src/esx/esx_driver.c: Likewise. * src/qemu/qemu_command.c: Likewise. * src/qemu/qemu_domain.h: Likewise.
-
- 22 8月, 2012 4 次提交
-
-
由 Daniel P. Berrange 提交于
-
由 Eric Blake 提交于
Older automake 1.9.6 (hello there, RHEL 5) did not populate $(builddir), which meant 'make check' failed with: make[3]: *** No rule to make target `/.libs/libvirt.la', needed by `check-symfile'. Stop. For that matter, even newer automake doesn't directly emit rules to build .libs/libvirt.la; we are better off basing our rules on the public ./libvirt.la. * src/Makefile.am (check-symfile): Delete useless variable.
-
由 Eric Blake 提交于
Without this patch, RHEL 5 fails to compile, since the dbus files lives under /usr/include/dbus-1.0/dbus/dbus.h, and DBUS_CFLAGS contains -I/usr/include/dbus-1.0. In file included from network/bridge_driver.c:67: ../src/util/virdbus.h:26:25: error: dbus/dbus.h: No such file or directory * src/Makefile.am (libvirt_driver_network_impl_la_CFLAGS): Add DBUS_CFLAGS.
-
由 Stefan Berger 提交于
This patch provides basic support for using firewalld's firewall-cmd rather than then plain eb/ip(6)tables commands.
-