Daniel P. Berrange
946c489c68
Refactor cgroups to allow a group per driver to be managed directly
...
Allow the driver level cgroup to be managed explicitly by the
hypervisor drivers, in order to detect whether to enable or
disable cgroup support for domains. Provides better error
reporting of failures. Also allow for creation of cgroups for
unprivileged drivers if controller is accessible by the user.
* src/cgroup.c, src/cgroup.h: Add an API to obtain a driver cgroup
* src/lxc_conf.h, src/lxc_controller.c, src/lxc_driver.c:
Obtain a driver cgroup at startup and use that instead of
re-creating everytime.
* src/util.c, src/util.h, src/libvirt_private.syms: Add a
virGetUserName() helper
2009-07-23 17:38:06 +01:00
Daniel P. Berrange
de1ecd5302
Make cgroups a little more efficient
...
* src/cgroup.c: Detect the mount location of every controller at
time a virCgroupPtr is created. Detect current process' placement
within group to avoid assuming it is in the root. Pass controller
ID into SetValueStr/GetValueStr to enable much duplicated code to
be eliminated
2009-07-23 17:38:06 +01:00
Daniel P. Berrange
be18d3a732
Use virFileReadAll/virFileWriteStr for key cgroup read/write helpers
2009-07-23 16:20:13 +01:00
Daniel P. Berrange
6c5d4e7cf4
Use enums for cgroup controller types / labels
2009-07-23 16:19:31 +01:00
Daniel P. Berrange
b81c7c0892
Create cgroups mode 755, not 655 (Ryota Ozaki)
2009-05-08 10:24:11 +00:00
Daniel Veillard
aa08419ca8
Avoid some potential FILE * leaks
...
* qemud/qemud.c src/cgroup.c src/uml_driver.c src/util.c: close
some potential FILE * leaks
Daniel
2009-03-16 10:41:37 +00:00
Daniel Veillard
7f39e2e5e5
* src/cgroup.c src/cgroup.h src/lxc_driver.c: allows to get
...
CPU usage of a lxc using cpuacct subsystem of cgroups, patch
by Ryota Ozaki
Daniel
2009-03-06 14:44:04 +00:00
Jim Meyering
a9aa76bad5
remove useless code
...
* src/bridge.c (brAddTap): Remove redundant errno=ENOMEM assignment
after failed strdup.
* src/cgroup.c (virCgroupFree): Remove redundant *group=NULL assignment
after VIR_FREE(*group).
* src/lxc_driver.c (lxcShutdown): Likewise.
* src/xen_unified.c (xenUnifiedClose): Likewise.
* src/xm_internal.c (xenXMDomainConfigFormat): Rewrite disk-
and net-config-setting code to be clearer.
2009-02-05 16:03:11 +00:00
Guido Günther
043d702f02
use virAsprintf instead of asprintf
2008-12-23 13:03:29 +00:00
Daniel Veillard
df93e1ee24
add new logging module, and move existing definitions there
...
* src/logging.c src/logging.h proxy/Makefile.am proxy/libvirt_proxy.c
src/Makefile.am src/cgroup.c src/datatypes.c src/domain_event.c
src/internal.h src/libvirt.c src/lxc_container.c src/lxc_controller.c
src/lxc_driver.c src/proxy_internal.c src/qemu_driver.c
src/remote_internal.c src/storage_backend_disk.c src/util.c
src/veth.c src/xen_internal.c src/xen_unified.c src/xend_internal.c:
add new logging module, and move existing definitions there
Daniel
2008-11-06 16:36:07 +00:00
Dan Smith
e98d8d7997
Fix up cgroup initialization order and allow /dev/pts device access in LXC
2008-10-21 16:46:47 +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
Dan Smith
dd062d4209
Add forgotten cgroup.{c,h} and ChangeLog
2008-10-03 17:58:02 +00:00