- 28 Jan, 2016 1 commit
-
-
Sungbae Yoo authored
Update for commit 07945418Signed-off-by:
Sungbae Yoo <sungbae.yoo@samsung.com> Acked-by:
Stéphane Graber <stgraber@ubuntu.com>
-
- 20 Jan, 2016 6 commits
-
-
Stéphane Graber authored
Signed-off-by:Stéphane Graber <stgraber@ubuntu.com>
-
Stéphane Graber authored
Refactor templates section of .gitignore - no need to specify individual templates anymore
-
Stéphane Graber authored
.gitignore: add missing templates/sparclinux to ignore list
-
Stéphane Graber authored
Fix Comment inside Fedora Template
-
Bostjan Skufca authored
Signed-off-by:Bostjan Skufca <bostjan@a2o.si>
-
Bostjan Skufca authored
Signed-off-by:Bostjan Skufca <bostjan@a2o.si>
-
- 19 Jan, 2016 1 commit
-
-
Nehal J Wani authored
We no longer use mirrors.kernel.org. Commit f71e8f41 switched it to archives.fedoraproject.org Signed-off-by:
Nehal J Wani <nehaljw.kkd1@gmail.com>
-
- 14 Jan, 2016 2 commits
-
-
Serge Hallyn authored
Show the ifindex in case it's useful Signed-off-by:Serge Hallyn <serge.hallyn@ubuntu.com>
-
Serge Hallyn authored
Add openSUSE Leap release in opensuse template
-
- 13 Jan, 2016 6 commits
-
-
Serge Hallyn authored
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 authored
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 authored
Reimplement lxc-ls in C
-
Serge Hallyn authored
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 authored
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 authored
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>
-
- 12 Jan, 2016 14 commits
-
-
Serge Hallyn authored
Split bdev into modules
-
Christian Brauner authored
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 authored
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 authored
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 authored
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 authored
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 authored
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 authored
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 authored
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 authored
bash completion: the 'have' command was deprecated in favor of '_have'
-
Stéphane Graber authored
copy_storage: try to use snapshot for btrfs
-
Stéphane Graber authored
preserve inherited fds for stop hook
-
Serge Hallyn authored
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 authored
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>
-
- 11 Jan, 2016 3 commits
-
-
Serge Hallyn authored
Signed-off-by:Serge Hallyn <serge.hallyn@ubuntu.com>
-
Peter Simons authored
`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 authored
Leap repos are moved one level deeper. Included oss repo only. Signed-off-by:Terzeus S. Dominguez <zeus@dmgznet.com>
-
- 10 Jan, 2016 3 commits
-
-
Terzeus S. Dominguez authored
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 authored
Signed-off-by:Terzeus S. Dominguez <zeus@dmgznet.com>
-
Terzeus S. Dominguez authored
Signed-off-by:Terzeus S. Dominguez <zeus@dmgznet.com>
-
- 08 Jan, 2016 4 commits
-
-
Serge Hallyn authored
2016 01 04/cgroup.use
-
Serge Hallyn authored
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 authored
Signed-off-by:Serge Hallyn <serge.hallyn@ubuntu.com> --- Changelog 20160104: only try if kernel supports cgns.
-
Serge Hallyn authored
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.
-