]>
git.ipfire.org Git - thirdparty/lxc.git/log
Marko Hauptvogel [Mon, 4 Jan 2016 21:58:41 +0000 (22:58 +0100)]
Document network clear option
Should be mentioned separately because it will reset a big group of options.
Signed-off-by: Marko Hauptvogel <marko.hauptvogel@googlemail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Christian Brauner [Mon, 11 Jan 2016 13:43:42 +0000 (14:43 +0100)]
fix lockpath removal in Python lxc-ls
The lock path for lxc is not
RUNTIME_PATH/lock/lxc
but rather
RUNTIME_PATH/lxc/lock
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Marko Hauptvogel [Mon, 4 Jan 2016 21:57:38 +0000 (22:57 +0100)]
Document clear behaviour of list options
More general for all list options.
Seems to currently affect:
lxc.network (clear all NICs)
lxc.network.* (clear current NIC)
lxc.cap.drop
lxc.cap.keep
lxc.cgroup
lxc.mount.entry
lxc.mount.auto
lxc.hook
lxc.id_map
lxc.group
lxc.environment
Signed-off-by: Marko Hauptvogel <marko.hauptvogel@googlemail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
KATOH Yasufumi [Tue, 5 Jan 2016 07:31:46 +0000 (16:31 +0900)]
doc: Add valueless lxc.cap.drop behaviour to Japanese man page
Update for commit
7eff30f
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Sungbae Yoo [Tue, 5 Jan 2016 03:07:09 +0000 (03:07 +0000)]
doc: Add LXC_SRC_NAME to Korean lxc.container.conf(5)
Update for commit
0794541
Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Stéphane Graber [Wed, 20 Jan 2016 19:12:16 +0000 (14:12 -0500)]
Fix android build
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Stéphane Graber [Wed, 20 Jan 2016 15:03:36 +0000 (10:03 -0500)]
Merge pull request #771 from bostjan/refactor/gitignore-templates-wildcard
Refactor templates section of .gitignore - no need to specify individual templates anymore
Stéphane Graber [Wed, 20 Jan 2016 15:03:13 +0000 (10:03 -0500)]
Merge pull request #770 from bostjan/bugfix/gitignore-templates-sparclinux
.gitignore: add missing templates/sparclinux to ignore list
Stéphane Graber [Wed, 20 Jan 2016 15:02:48 +0000 (10:02 -0500)]
Merge pull request #769 from nehaljwani/patch-1
Fix Comment inside Fedora Template
Bostjan Skufca [Wed, 20 Jan 2016 14:20:56 +0000 (14:20 +0000)]
Refactor .gitignore section for templates/* - no need to specifiy individual templates anymore
Signed-off-by: Bostjan Skufca <bostjan@a2o.si>
Bostjan Skufca [Wed, 20 Jan 2016 14:15:20 +0000 (14:15 +0000)]
.gitignore: add templates/sparclinux to ignore list
Signed-off-by: Bostjan Skufca <bostjan@a2o.si>
Nehal J Wani [Tue, 19 Jan 2016 18:51:13 +0000 (00:21 +0530)]
Fix Comment inside Fedora Template
We no longer use mirrors.kernel.org.
Commit
f71e8f4 switched it to archives.fedoraproject.org
Signed-off-by: Nehal J Wani <nehaljw.kkd1@gmail.com>
Serge Hallyn [Thu, 14 Jan 2016 23:07:31 +0000 (15:07 -0800)]
avoid printing null string in error message
Show the ifindex in case it's useful
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Thu, 14 Jan 2016 07:42:07 +0000 (23:42 -0800)]
Merge pull request #757 from tsdmgz/opensuse-template
Add openSUSE Leap release in opensuse template
Serge Hallyn [Wed, 13 Jan 2016 23:17:50 +0000 (15:17 -0800)]
cgmanager: drop possibly expected failures to a WARN
Otherwise every lxc-info by a user who doesn't own all his cgroups
will result in a set of error messages which are really innocuous.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Wed, 13 Jan 2016 18:05:18 +0000 (10:05 -0800)]
cgmanager: drop the cgm_supports_multiple_controllers bool
What we want is to make sure we dont' use controller 'all' if cgmanager
doesn't support, if all our cgroups aren't the same, or if we cannot
controll all our cgroups. We were mixing some of these conditions. Use
cgm_all_controllers_same for all. (Might want to rename it, but we want
to stick with just one).
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Wed, 13 Jan 2016 17:33:10 +0000 (09:33 -0800)]
Merge pull request #748 from brauner/2015-01-01/lxc_ls
Reimplement lxc-ls in C
Serge Hallyn [Wed, 13 Jan 2016 17:26:43 +0000 (09:26 -0800)]
cgmanager - fix (again) previous commit
Bad late-night commit. We were doing a while loop for a reason. Just
initialize i to 0 before the while loop.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Christian Brauner [Mon, 14 Dec 2015 20:25:10 +0000 (21:25 +0100)]
reimplement lxc-ls in C
This is a reimplementation of lxc-ls in C. It supports all features previously
supported by lxc-ls.
- All flags and parameters have the same name as before except when the user
specifies a regex to filter container names by. In the previous Python
implementation the regex was passed without paramter flag. The new
C-implementation has the parameter flag -r/--regex for this.
- Since we fork in lxc_attach() we need some form of IPC. Opening shared memory
in the parent (mmap()) seems to be impractical since we don't know the size
of the mapping beforehand. The other option is to open shared memory in the
child and then to attach the parent to it but then we would need to resort to
shm_open() or shmget(). Instead we go for a socketpair() here and wait for
the child.
- Note that we call lxc_attach() and pass ls_get() as exec function to it (To
be even more specific: We do not pass ls_get() directly but rather a wrapper
function for ls_get() which receives a few arguments to enable the
communication between child and parent.). This implementation has the
advantage that we do not depend on any lxc executables being present in the
container. The gist in code:
ls_get()
{
/* Gather all relevant information */
/* get nested containers */
if (args->ls_nested && running) {
/* set up some more stuff */
/*
* execute ls_get() in namespace of the container to
* get nested containers
*/
c->attach(c, ls_get_wrapper, &wrapargs, &aopt, &out)
/* do some cleaning up */
}
}
- When the user requests listing of nested containers without fancy-format
enabled we want him to easily recognize which container is nested in which.
So in this case we do not simply record the name but rather the name
prepended with all the parents of the container:
grand-grand-parent/grand-parent/parent/child
- Pretty-printing nested containers: Any call to list_*_containers() will
return a sorted array of container names. Furthermore, the recursive
implementation of lxc_ls() will automatically put the containers in the
correct order regarding their nesting. That is if we have the following
nesting:
A
A --> S
A --> T --> O
A --> T --> O --> L
A --> T --> O --> M
A --> U
A --> U --> P
A --> U --> Q
B
The array ls_get() will set up looks like this:
A S T O L M U P Q B
Hence, we only need to keep an additional variable nestlvl to indicate the
nesting level a container is at and use that to compute (a) the maximum field
width we need to print out the container names and (b) to correctly indent
each container according to its nesting level when printing it.
- add comments to make the ls_get() function more accessible
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Serge Hallyn [Wed, 13 Jan 2016 01:21:59 +0000 (17:21 -0800)]
cgmanager: fix abuse of 'i'
we were initializing i to 0, then doing a while i <, but then a
separate commit (by myself) used i as a generic variable in between
those two.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Tue, 12 Jan 2016 08:07:33 +0000 (00:07 -0800)]
Merge pull request #742 from brauner/2015-12-12/split_bdev_into_modules
Split bdev into modules
Christian Brauner [Wed, 30 Dec 2015 16:34:08 +0000 (17:34 +0100)]
Cleanup bdev.c after splitting into modules
The function
- bdev_get();
becomes static. It is called from nowhere else so far and never appeared in any
header.
Minor changes
- Avoid comparisons between int and size_t types. Use size_t where
possible else cast to size_t when it makes sense.
- insert missing spaces between operators
- put declarations for all static functions at the top
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Wed, 30 Dec 2015 16:02:54 +0000 (17:02 +0100)]
Split bdev into modules: lxcnbd
The functions
- clone_attach_nbd();
- do_attach_nbd();
- nbd_busy();
- nbd_detach();
- nbd_get_partition();
- wait_for_partition();
move from bdev.c to lxcnbd.c. They remain static
The functions
- attach_nbd();
- detach_nbd_idx();
- nbd_clonepaths();
- nbd_create();
- nbd_destroy();
- nbd_detect();
- nbd_mount();
- nbd_umount();
- requires_nbd();
move from bdev.c to lxcnbd.{c,h}. They all become extern.
The struct
- struct nbd_attach_data
moves from bdev.c to lxcnbd.c.
Adapt Makefile.am to include lxcnbd.{c,h}.
The structs
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxcnbd.h as the functions
associated with nbd need access to it.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Wed, 30 Dec 2015 14:27:48 +0000 (15:27 +0100)]
Split bdev into modules: lxcrbd
The functions
- rbd_clonepaths();
- rbd_create();
- rbd_destroy();
- rbd_detect();
- rbd_mount();
- rbd_umount();
move from bdev.c to lxcrbd.{c,h}. All functions previously declared static
become extern.
Adapt Makefile.am to include lxcrbd.{c,h}.
The structs
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxcrbd.h as the functions
associated with rbd need access to it.
Put:
- #define __STDC_FORMAT_MACROS
and include:
- #include <inttypes.h>
in lxcrbd.c so that the format specifier PRIu64 is available.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Wed, 30 Dec 2015 14:06:36 +0000 (15:06 +0100)]
Split bdev into modules: lxcloop
The functions
- loop_clonepaths();
- loop_create();
- loop_destroy();
- loop_detect();
- loop_mount();
- loop_umount();
move from bdev.c to lxcloop.{c,h}. All functions previously declared static
become extern.
The functions
- do_loop_create();
- find_free_loopdev_no_control();
- find_free_loopdev();
move from bdev.c to lxcloop.c. They remain static.
Adapt Makefile.am to include lxcloop.{c,h}.
The structs
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxcloop.h as the functions
associated with loop need access to it.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Wed, 30 Dec 2015 13:49:55 +0000 (14:49 +0100)]
Split bdev into modules: lxcdir
The functions
- dir_clonepaths();
- dir_create();
- dir_destroy();
- dir_detect();
- dir_mount();
- dir_umount();
move from bdev.c to lxcdir.{c,h}. All functions which previously were static
become extern.
Adapt Makefile.am to include lxcdir.{c,h}.
The structs
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxcdir.h as the functions
associated with dir need access to it.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Wed, 30 Dec 2015 13:38:44 +0000 (14:38 +0100)]
Split bdev into modules: lxcaufs
The functions
- aufs_clonepaths();
- aufs_create();
- aufs_destroy();
- aufs_detect();
- aufs_mount();
- aufs_umount();
move from bdev.c to lxcaufs.{c,h}. All functions which previously were static
become extern.
Adapt Makefile.am to include lxcaufs.{c,h}.
The structs
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxcaufs.h as the functions
associated with aufs need access to it.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Tue, 29 Dec 2015 15:24:29 +0000 (16:24 +0100)]
Split bdev into modules: lxclvm
The functions
- lvm_detect();
- lvm_mount();
- lvm_umount();
- lvm_compare_lv_attr();
- lvm_is_thin_volume();
- lvm_is_thin_pool();
- lvm_snapshot();
- lvm_clonepaths();
- lvm_destroy();
- lvm_create();
move from bdev.c to lxclvm.{c,h}. All functions previously declared as static
become public.
Adapt Makefile.am to include lxclvm.{c,h}.
The function:
- mount_unknown_fs();
becomes public.
Rationale: It is already called from different places and will be called by lvm,
and rdb. Also, it is defined twice exactly the same way. Once in conf.c
and once in bdev.c. Let's avoid that.
Defining the same function twice in different places just asks for
trouble.
The functions:
- blk_getsize();
- detect_fs();
- do_mkfs();
- is_blktype();
become public as they will be called for loop, lvm, and or rdb.
Move the definition of:
- DEFAULT_FS_SIZE
- DEFAULT_FSTYPE
from bdev.c to bdev.h to grant other modules access to it.
Remove:
- find_fstype_cb();
from conf.c. It is defined static in bdev.c
Put:
- #define __STDC_FORMAT_MACROS
and include:
- #include <inttypes.h>
in lxclvm.c so that the format specifier PRIu64 is available.
The structs:
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxclvm.h as the functions
associated with lvm need access to it.
Take the chance to restructure bdev.c:
- put bdev structs which have already been split out into separate
modules at the top
- put declarations of all static functions at the top (This includes
all functions associated with modules that have not yet already been
put into a separate module.)
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Tue, 29 Dec 2015 12:35:53 +0000 (13:35 +0100)]
Split bdev into modules: lxczfs
The functions:
- zfs_clone();
- zfs_clonepaths();
- zfs_create();
- zfs_destroy();
- zfs_detect();
- zfs_list_entry();
- zfs_mount();
- zfs_umount();
move from bdev.c to lxczfs.{c,h}. All functions previously declared as static
become public.
Adapt Makefile.am to include lxczfs.{c,h}.
The structs:
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types into lxczfs.h as the functions
associated with zfs need access to it.
Minor changes:
- Use exit(EXIT_FAILURE) instead of exit(1).
- Use brackets around else {} if the if {} did:
I.e. instead of:
if {
// do one;
// do two;
} else
// do three;
use:
if {
// do one;
// do two;
} else {
// do three;
}
- Instead of declaring char pointers and arrays on the same line, i.e.:
char arr[len], *p;
do:
char arr[len];
char *p;
which makes intentions a lot clearer.
- Since we require c99 anyway, use finer-grained scoping by declaring
variables where they are needed instead of simply at the top.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Stéphane Graber [Tue, 12 Jan 2016 07:47:59 +0000 (09:47 +0200)]
Merge pull request #750 from peti/patch-1
bash completion: the 'have' command was deprecated in favor of '_have'
Stéphane Graber [Tue, 12 Jan 2016 07:45:46 +0000 (09:45 +0200)]
Merge pull request #760 from hallyn/2016-01-11/btrfs
copy_storage: try to use snapshot for btrfs
Stéphane Graber [Tue, 12 Jan 2016 07:43:20 +0000 (09:43 +0200)]
Merge pull request #761 from hallyn/2016-01-11/preservens.1
preserve inherited fds for stop hook
Serge Hallyn [Tue, 12 Jan 2016 04:55:30 +0000 (20:55 -0800)]
preserve inherited fds for stop hook
When preserving fds for the stop hook, make sure to also save
any fds we've inherited.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Tue, 12 Jan 2016 02:25:19 +0000 (18:25 -0800)]
Set the right variable to NULL when unsetting ipv6_gateway
We were freeing one and setting a different one to NULL, eventually
leading to a crash when closing the netdev (at container shutdown)
and freeing already-freed memory.
Closes #732
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Mon, 11 Jan 2016 21:07:05 +0000 (13:07 -0800)]
copy_storage: try to use snapshot for btrfs
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Peter Simons [Sat, 2 Jan 2016 16:53:07 +0000 (17:53 +0100)]
bash completion: the 'have' command was deprecated in favor of '_have'
`bash-completion` version 2.1 and later no longer include the `have` command,
and consequently the `lxc` competion file fails on such systems. The command is
now called `_have`.
Signed-off-by: Peter Simons <simons@cryp.to>
Terzeus S. Dominguez [Mon, 11 Jan 2016 14:35:26 +0000 (22:35 +0800)]
Fix zypper repo for Leap
Leap repos are moved one level deeper. Included oss repo only.
Signed-off-by: Terzeus S. Dominguez <zeus@dmgznet.com>
Terzeus S. Dominguez [Sun, 10 Jan 2016 19:31:30 +0000 (03:31 +0800)]
Add iproute2 and net-tools to Leap install
Added missing network utilities to base install for Leap. Included
check to do it for Leap 42.1 only.
Signed-off-by: Terzeus S. Dominguez <zeus@dmgznet.com>
Terzeus S. Dominguez [Sun, 10 Jan 2016 18:13:10 +0000 (02:13 +0800)]
Fix typo
Signed-off-by: Terzeus S. Dominguez <zeus@dmgznet.com>
Terzeus S. Dominguez [Sun, 10 Jan 2016 15:13:48 +0000 (23:13 +0800)]
Add openSUSE Leap release in opensuse template
Signed-off-by: Terzeus S. Dominguez <zeus@dmgznet.com>
Serge Hallyn [Fri, 8 Jan 2016 21:05:42 +0000 (13:05 -0800)]
Merge pull request #752 from hallyn/2016-01-04/cgroup.use
2016 01 04/cgroup.use
Serge Hallyn [Fri, 1 Jan 2016 01:43:15 +0000 (17:43 -0800)]
add LXC_CGNS_AWARE env variable for mount hooks
This way the lxcfs mount hook can know whether lxc knows about
cgroup namespaces.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Tue, 10 Nov 2015 00:17:31 +0000 (18:17 -0600)]
attach: unshare cgroupns if possible
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
---
Changelog
20160104 : only try if kernel supports cgns.
Serge Hallyn [Mon, 9 Nov 2015 23:55:54 +0000 (17:55 -0600)]
container start: unshare cgns when possible
We'll probably want to make this configurable with a
lxc.cgroupns = [1|0], but for now just always do it.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
---
Changelog
20160104 : only try to unshare if /proc/self/ns/cgroup exists.
Serge Hallyn [Fri, 1 Jan 2016 00:37:43 +0000 (16:37 -0800)]
detect which cgroups we cannot use
and continue without them if possible. This allows an unpriv user
who only has a few cgroups he owns to still use lxc.
This patch only handles cgmanger - we need to handle this in cgfs too.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Wed, 6 Jan 2016 19:45:38 +0000 (11:45 -0800)]
apparmor: recognize 'unconfined' as unconfined.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Mon, 4 Jan 2016 22:39:50 +0000 (14:39 -0800)]
coverity: preserve_ns returns bool, not int
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Mon, 4 Jan 2016 22:37:17 +0000 (14:37 -0800)]
coverity: ovl_clonepaths: free osrc and ndelta on error paths
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Mon, 4 Jan 2016 22:34:49 +0000 (14:34 -0800)]
coverity: close fout on error in is_wlan()
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Serge Hallyn [Mon, 4 Jan 2016 21:20:06 +0000 (21:20 +0000)]
Don't try to change aa label if we are already apparmor-confined
Closes #1459
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Stéphane Graber [Mon, 4 Jan 2016 18:09:34 +0000 (13:09 -0500)]
Merge pull request #743 from tw4452852/buffer_overflow
fix buffer overflow in ifaddrs.c
Stéphane Graber [Mon, 4 Jan 2016 18:05:59 +0000 (13:05 -0500)]
Merge pull request #739 from shindo/fix/python-lxc/pyos-afterfork
python-lxc: Call PyOS_AfterFork after attaching to a container
Stéphane Graber [Mon, 4 Jan 2016 18:05:04 +0000 (13:05 -0500)]
Merge pull request #746 from ar45/fix_debian_systemd_getty
Fix #520 - multiple instances of agetty on systemd.
Wim Coekaerts [Tue, 29 Dec 2015 06:25:58 +0000 (22:25 -0800)]
NULL pointer deference if nlmsg_reserve() returns NULL for ifi
nlmsg_reserve() might return NULL
if (nlmsg_len + tlen > nlmsg->cap)
return NULL;
Also set err = -ENOMEM where appropriate
Signed-off-by: Wim Coekaerts <wim.coekaerts@oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
KATOH Yasufumi [Mon, 28 Dec 2015 09:55:24 +0000 (18:55 +0900)]
doc: Improve man pages
* Add long options if not be written
* Remove optional tags in OPTIONS section
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
KATOH Yasufumi [Mon, 28 Dec 2015 09:48:56 +0000 (18:48 +0900)]
doc: Add LXC_SRC_NAME to lxc.container.conf(5)
only add to English and Japanese docs.
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Wim Coekaerts [Tue, 29 Dec 2015 06:23:47 +0000 (22:23 -0800)]
network.c:is_wlan() File Leak f
network.c:is_wlan() File Leak f f initialized at line 156 with fopen f
leaks when fopen(path, r) != NULL at line 156 and physname == NULL at
line 163.
Signed-off-by: Wim Coekaerts <wim.coekaerts@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
Wim Coekaerts [Sun, 27 Dec 2015 17:29:10 +0000 (09:29 -0800)]
criu.c: protect from buffer overrun of version in fscanf()
while highly unlikely to happen...
char version[1024];
fscanf(.. %[1024] .., version );
should leave room for null termination
Signed-off-by: Wim Coekaerts <wim.coekaerts@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
KATOH Yasufumi [Thu, 24 Dec 2015 06:03:39 +0000 (15:03 +0900)]
Improve the help of lxc-create
* remove unavailable options (-w, -r)
* remove overlapped option (-P)
* classify options according to bdev type
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Marko Hauptvogel [Sun, 3 Jan 2016 22:20:47 +0000 (23:20 +0100)]
Documenting valueless lxc.cap.drop behaviour
From
b24b0e16848fbb93402a08efa3950cd59272b8da Mon Sep 17 00:00:00 2001
From: Marko Hauptvogel <marko.hauptvogel@googlemail.com>
Date: Sun, 3 Jan 2016 23:07:19 +0100
Subject: [PATCH] Documenting valueless lxc.cap.drop behaviour
Undocummented behaviour since
7d0eb87 .
Signed-off-by: Marko Hauptvogel <marko.hauptvogel@googlemail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Wim Coekaerts [Tue, 22 Dec 2015 22:25:00 +0000 (14:25 -0800)]
Add support for Linux for SPARC distribution host and template
Linux for SPARC is a free community Linux distribution for SPARC hosted by Oracle. See : https://oss.oracle.com/projects/linux-sparc
While the distribution is based on Oracle Linux it does have some differences and since it's not actually Oracle Linux I decided to add a separate template rather than having the Oracle Linux template also support Linux for SPARC.
This patch adds the lxc-template for Linux for SPARC and it also adds Linux for SPARC in the configure.ac as a distribution target to build.
Signed-off-by: Wim Coekaerts <wim.coekaerts@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Aron Podrigal [Fri, 1 Jan 2016 02:04:42 +0000 (21:04 -0500)]
Fix #520 - multiple instances of agetty on systemd.
Fixes issue with double tty login lxc-console
Ref #520, #484
Signed-off-by: Aron Podrigal <aronp@guaranteedplus.com>
tw19881113@gmail.com [Wed, 30 Dec 2015 07:24:43 +0000 (15:24 +0800)]
fix buffer overflow in ifaddrs.c
jenkins: ok to test
Signed-off-by: Tw <tw19881113@gmail.com>
Serge Hallyn [Mon, 28 Dec 2015 22:38:25 +0000 (14:38 -0800)]
Merge pull request #734 from brauner/2015-12-12/split_bdev_into_modules
split bdev into modules: btrfs + rsync
Christian Brauner [Mon, 21 Dec 2015 10:38:30 +0000 (11:38 +0100)]
Add <linux/types.h> header to lxcbtrfs.h
Using
#include <sys/types.h>
is not sufficient to guarantee that __le64 and other types are defined.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 23:26:14 +0000 (00:26 +0100)]
Simplify overlay.{c,h}
The struct
struct ovl_rsync_data {
struct bdev *orig;
struct bdev *new;
};
is simply a duplicate of
struct rsync_data {
struct bdev *orig;
struct bdev *new;
};
So let's replace any references to ovl_rsync_data with rsync_data.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 23:24:32 +0000 (00:24 +0100)]
Split bdev into modules: lxcrsync
The functions:
- do_rsync();
- rsync_delta();
- rsync_delta_wrapper();
- rsync_rootfs();
- rsync_rootfs_wrapper();
and the structs
- struct rsync_data;
- struct rsync_data_char;
move from bdev.{c,h} to lxcrsync.{c.h}. All functions previously declared as
static become public.
lxcrsync.{c,h} should allow for a reasonable amount of abstraction regarding
our rsync functions. Some of the functions could easily be abstracted.
Adapt Makefile.am to include lxcrsync.{c,h}.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 20:14:30 +0000 (21:14 +0100)]
lxcbtrfs.{c,h} rework declarations and definitions
Declare
- btrfs_same_fs();
- btrfs_snapshot();
extern instead of static in lxcbtrfs.h. They are defined in lxcbtrfs.c.
Forward declare/put
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
as incomplete types in lxcbtrfs.h so that functions declared and defined in
lxcbtrfs.{c,h} have access to it.
Declare
- dir_new_path();
in lxcbtrfs.c. It is defined in lxccontainer.c.
Move definition of struct
- struct rsync_data_char;
from bdev.c to bdev.h because the functions in lxcbtrfs.{c,h} need to access it.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 19:14:58 +0000 (20:14 +0100)]
Split bdev into modules: btrfs
Create a module for btrfs: lxcbtrfs.{c,h}.
The functions:
- get_btrfs_subvol_path()
- btrfs_list_get_path_rootid()
- is_btrfs_fs()
- btrfs_detect()
- btrfs_mount()
- btrfs_umount()
- btrfs_subvolume_create()
- btrfs_same_fs()
- btrfs_snapshot()
- btrfs_snapshot_wrapper()
- btrfs_clonepaths()
- btrfs_do_destroy_subvol()
- get_btrfs_tree_idx()
- my_btrfs_tree *create_my_btrfs_tree()
- update_tree_node()
- add_btrfs_tree_node()
- free_btrfs_tree()
- do_remove_btrfs_children()
- btrfs_recursive_destroy()
- btrfs_try_remove_subvol()
- btrfs_destroy()
- btrfs_create()
and the structs:
- struct mytree_node
- struct my_btrfs_tree
move from bdev.{c,h} to lxcbtrfs.{c,h}.
Rename the header file
- lxc-btrfs.h --> lxcbtrfs.h
Adapt Makefile.am to include lxcbtrfs.{c,h} and remove lxc-btrfs.h.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Mon, 21 Dec 2015 10:38:30 +0000 (11:38 +0100)]
Add <linux/types.h> header to lxcbtrfs.h
Using
#include <sys/types.h>
is not sufficient to guarantee that __le64 and other types are defined.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 23:26:14 +0000 (00:26 +0100)]
Simplify overlay.{c,h}
The struct
struct ovl_rsync_data {
struct bdev *orig;
struct bdev *new;
};
is simply a duplicate of
struct rsync_data {
struct bdev *orig;
struct bdev *new;
};
So let's replace any references to ovl_rsync_data with rsync_data.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 23:24:32 +0000 (00:24 +0100)]
Split bdev into modules: lxcrsync
The functions:
- do_rsync();
- rsync_delta();
- rsync_delta_wrapper();
- rsync_rootfs();
- rsync_rootfs_wrapper();
and the structs
- struct rsync_data;
- struct rsync_data_char;
move from bdev.{c,h} to lxcrsync.{c.h}. All functions previously declared as
static become public.
lxcrsync.{c,h} should allow for a reasonable amount of abstraction regarding
our rsync functions. Some of the functions could easily be abstracted.
Adapt Makefile.am to include lxcrsync.{c,h}.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 20:14:30 +0000 (21:14 +0100)]
lxcbtrfs.{c,h} rework declarations and definitions
Declare
- btrfs_same_fs();
- btrfs_snapshot();
extern instead of static in lxcbtrfs.h. They are defined in lxcbtrfs.c.
Forward declare/put
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
as incomplete types in lxcbtrfs.h so that functions declared and defined in
lxcbtrfs.{c,h} have access to it.
Declare
- dir_new_path();
in lxcbtrfs.c. It is defined in lxccontainer.c.
Move definition of struct
- struct rsync_data_char;
from bdev.c to bdev.h because the functions in lxcbtrfs.{c,h} need to access it.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Thu, 17 Dec 2015 19:14:58 +0000 (20:14 +0100)]
Split bdev into modules: btrfs
Create a module for btrfs: lxcbtrfs.{c,h}.
The functions:
- get_btrfs_subvol_path()
- btrfs_list_get_path_rootid()
- is_btrfs_fs()
- btrfs_detect()
- btrfs_mount()
- btrfs_umount()
- btrfs_subvolume_create()
- btrfs_same_fs()
- btrfs_snapshot()
- btrfs_snapshot_wrapper()
- btrfs_clonepaths()
- btrfs_do_destroy_subvol()
- get_btrfs_tree_idx()
- my_btrfs_tree *create_my_btrfs_tree()
- update_tree_node()
- add_btrfs_tree_node()
- free_btrfs_tree()
- do_remove_btrfs_children()
- btrfs_recursive_destroy()
- btrfs_try_remove_subvol()
- btrfs_destroy()
- btrfs_create()
and the structs:
- struct mytree_node
- struct my_btrfs_tree
move from bdev.{c,h} to lxcbtrfs.{c,h}.
Rename the header file
- lxc-btrfs.h --> lxcbtrfs.h
Adapt Makefile.am to include lxcbtrfs.{c,h} and remove lxc-btrfs.h.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Danil Osherov [Thu, 24 Dec 2015 13:54:19 +0000 (16:54 +0300)]
python-lxc: Call PyOS_AfterFork after attaching to a container
As lxc_attach() calls fork() PyOS_AfterFork should be called in the new
process if the Python interpreter will continue to be used.
Signed-off-by: Danil Osherov <shindo@yandex-team.ru>
Serge Hallyn [Wed, 23 Dec 2015 22:36:23 +0000 (14:36 -0800)]
Merge pull request #738 from ec-m/ec-m_lxc-ls
Fix swap calculation (#737)
Eva Charlotte Mayer [Wed, 23 Dec 2015 12:15:26 +0000 (13:15 +0100)]
Fix swap calculation
Signed-off-by: Eva Charlotte Mayer <eva-charlotte.mayer@posteo.de>
Stéphane Graber [Mon, 21 Dec 2015 17:52:33 +0000 (12:52 -0500)]
change version to 2.0.0.beta1 in configure.ac
Note that LXC 2.0 remains backward compatible with 1.0, so the ABI
version is 1.2, not 2.0.
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
KATOH Yasufumi [Tue, 15 Dec 2015 11:07:10 +0000 (20:07 +0900)]
doc: Add 'rbd' to the parameter of backingstore in Japanese lxc-create(1)
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Sungbae Yoo [Tue, 15 Dec 2015 09:47:25 +0000 (09:47 +0000)]
doc: Add 'rbd' to the parameter of backingstore in Korean lxc-create(1)
Update for commit
60656b3
Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Sungbae Yoo [Mon, 14 Dec 2015 06:20:46 +0000 (06:20 +0000)]
doc: Add lxc.monitor.unshare to Korean lxc.container.conf(5)
Update for commit
a8dfe4e and
6039eaa
Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Tycho Andersen [Fri, 11 Dec 2015 23:21:54 +0000 (16:21 -0700)]
c/r: bump criu patchlevel for --lsm-profile
This option is only available in recent master of criu, so let's require
that since we're using it.
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Tycho Andersen [Fri, 11 Dec 2015 23:21:53 +0000 (16:21 -0700)]
c/r: use --lsm-profile if provided
Since we can rename a container on a migrate, let's tell CRIU to use the
LSM profile name the user has specified. This change is motivated by LXD,
which sets an LSM profile name based on the container name, so if a user
changes the name of a container during migration, the old profile name
(that criu has saved) won't exist on the new host.
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
Serge Hallyn [Mon, 21 Dec 2015 03:28:43 +0000 (19:28 -0800)]
Merge pull request #724 from brauner/2015-12-12/split_bdev_into_modules
split bdev into modules
Christian Brauner [Tue, 15 Dec 2015 14:19:08 +0000 (15:19 +0100)]
Move remaining overlay helpers to overlay.{c,h}
Move
- ovl_get_rootfs_dir()
- mount_entry_create_overlay_dirs()
from conf.h to overlay.{c,h} where they belong.
Rename
- mount_entry_create_overlay_dirs() --> ovl_mkdir()
in accordance with the ovl_ prefix naming scheme for types and functions
associated with overlay.
Take the chance to add whitespace between operators where missing.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Sun, 13 Dec 2015 18:44:09 +0000 (19:44 +0100)]
Unify naming for overlay types & functions
Use ovl_ as prefix for types and functions.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Sat, 12 Dec 2015 22:21:55 +0000 (23:21 +0100)]
Adapt #includes for bdev.h to bdev/bdev.h
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Christian Brauner [Sat, 12 Dec 2015 21:48:33 +0000 (22:48 +0100)]
Split bdev into modules: overlay
With this commit we start to split bdev.{c,h} into modules located in the
subfolder bdev. We start by creating a module for overlay: overlay.{c,h}.
- The functions:
- overlayfs_detect()
- overlayfs_mount()
- overlayfs_umount()
- overlayfs_clonepaths()
- overlayfs_destroy()
- overlayfs_create()
move from bdev.{c,h} to overlay.{c,h}. The only thing that remains in bdev.c
is the static definition of
- static const struct bdev_ops overlayfs_ops
- The functions:
- update_ovl_paths()
- overlay_getlower()
move from lxccontainer.c to overlay.{c,h}. update_ovl_paths() is used to
update absolute paths for overlay lxc.mount.entry entries but it seems to fit
more here than into lxccontainer.c.
The Function overlay_getlower() is used to extract the lower directory for
overlay (and aufs) rootfs. It should at some point become a common helper.
- The functions:
- do_rsync()
- dir_new_path()
remain in bdev.c for now but become extern. We declare them extern in
overlay.c to be able to call them. As the comment to them correctly notices,
they should at some point become common helpers and probably move to
utils.{c,h} or some other more appropriate place.
- The structs:
- struct bdev; /* defined in bdev.h */
- struct bdev_specs; /* defined in lxccontainer.h */
- struct lxc_conf; /* defined conf.h */
are forward declared/put as incomplete types in overlay.h so that the
functions have access to it.
- The header overlay.h is *not* included in bdev.h but only in bdev.c so that
when bdev.h is included the public functions in overlay.h cannot be accessed,
i.e. if an implementation wants to call functions from overlay.h they need to
explicitly include it. (As is e.g. done in the case of lxccontainer.c.)
- The header
- lxc-btrfs.h
also moves to the bdev subfolder.
- Adapt Makefile.am to the new bdev layout.
Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
Stéphane Graber [Tue, 15 Dec 2015 15:59:54 +0000 (10:59 -0500)]
Merge pull request #727 from fanyeren/patch-17
lxc-top: print new line after flush terminal
Stéphane Graber [Tue, 15 Dec 2015 15:56:12 +0000 (10:56 -0500)]
Merge pull request #719 from liqiu/li-dev2
Return immediately in save_phys_nics if not run as root
Stéphane Graber [Tue, 15 Dec 2015 15:54:53 +0000 (10:54 -0500)]
Merge pull request #721 from armcc/master
lxc-checkconfig: remove zgrep dependency
Wesley M [Tue, 15 Dec 2015 15:47:22 +0000 (10:47 -0500)]
Refactoring conditional directives.
Signed-off-by: Wesley Marques <wesleymr.27@gmail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
fanyeren [Tue, 15 Dec 2015 08:11:38 +0000 (16:11 +0800)]
lxc-top: print new line after flush terminal
I think this is a common feature for top-like programs.
Signed-off-by: feng xiahou xiahoufeng@yahoo.com
Andre McCurdy [Fri, 11 Dec 2015 20:35:55 +0000 (12:35 -0800)]
lxc-checkconfig: remove zgrep dependency
zgrep is a script provided by the 'gzip' package, which may not be
installed on embedded systems etc which use busybox instead of the
standard full-featured utilities.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Stéphane Graber [Tue, 15 Dec 2015 05:36:02 +0000 (00:36 -0500)]
Merge pull request #670 from ksperis/master
Add Ceph RBD backingstore.
Laurent Barbe [Sun, 13 Dec 2015 21:31:42 +0000 (22:31 +0100)]
Fix mkdir error if it already exist
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
Laurent Barbe [Sun, 13 Dec 2015 21:30:30 +0000 (22:30 +0100)]
Fix API break on bdev_specs
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
Laurent Barbe [Wed, 14 Oct 2015 07:52:50 +0000 (09:52 +0200)]
Fix alloca size in rbd_destroy
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
Laurent Barbe [Mon, 5 Oct 2015 19:58:24 +0000 (21:58 +0200)]
doc: Add 'rbd' to the parameter of backingstore in lxc-create(1)
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
Laurent Barbe [Fri, 2 Oct 2015 10:45:14 +0000 (12:45 +0200)]
Add Ceph RBD backingstore
With lxc-create, this will create, map and mount a Rados blockdevice.
A valid ceph.conf and ceph.client.admin.keyring is needed in /etc/ceph/
RBD mapping is not manage on reboot.
Signed-off-by: Laurent Barbe <laurent@ksperis.com>