* Automatic mounts for LXC to perform inside the container
*/
enum {
- LXC_AUTO_PROC_RW = 0x001, /* /proc read-write */
- LXC_AUTO_PROC_MIXED = 0x002, /* /proc/sys and /proc/sysrq-trigger read-only */
- LXC_AUTO_PROC_MASK = 0x003,
-
- LXC_AUTO_SYS_RW = 0x004, /* /sys */
- LXC_AUTO_SYS_RO = 0x008, /* /sys read-only */
- LXC_AUTO_SYS_MIXED = 0x00C, /* /sys read-only and /sys/class/net read-write */
- LXC_AUTO_SYS_MASK = 0x00C,
-
- LXC_AUTO_CGROUP_RO = 0x010, /* /sys/fs/cgroup (partial mount, read-only) */
- LXC_AUTO_CGROUP_RW = 0x020, /* /sys/fs/cgroup (partial mount, read-write) */
- LXC_AUTO_CGROUP_MIXED = 0x030, /* /sys/fs/cgroup (partial mount, paths r/o, cgroup r/w) */
- LXC_AUTO_CGROUP_FULL_RO = 0x040, /* /sys/fs/cgroup (full mount, read-only) */
- LXC_AUTO_CGROUP_FULL_RW = 0x050, /* /sys/fs/cgroup (full mount, read-write) */
- LXC_AUTO_CGROUP_FULL_MIXED = 0x060, /* /sys/fs/cgroup (full mount, parent r/o, own r/w) */
+ /* /proc read-write */
+ LXC_AUTO_PROC_RW = BIT(0),
+ /* /proc/sys and /proc/sysrq-trigger read-only */
+ LXC_AUTO_PROC_MIXED = BIT(1),
+ LXC_AUTO_PROC_MASK = LXC_AUTO_PROC_RW |
+ LXC_AUTO_PROC_MIXED,
+ /* /sys read-write */
+ LXC_AUTO_SYS_RW = BIT(2),
+ /* /sys read-only */
+ LXC_AUTO_SYS_RO = BIT(3),
+ /* /sys read-only and /sys/class/net read-write */
+ LXC_AUTO_SYS_MIXED = LXC_AUTO_SYS_RW |
+ LXC_AUTO_SYS_RO,
+ LXC_AUTO_SYS_MASK = LXC_AUTO_SYS_MIXED,
+
+ /* /sys/fs/cgroup (partial mount, read-only) */
+ LXC_AUTO_CGROUP_RO = BIT(4),
+ /* /sys/fs/cgroup (partial mount, read-write) */
+ LXC_AUTO_CGROUP_RW = BIT(5),
+ /* /sys/fs/cgroup (partial mount, paths r/o, cgroup r/w) */
+ LXC_AUTO_CGROUP_MIXED = LXC_AUTO_CGROUP_RO |
+ LXC_AUTO_CGROUP_RW,
+ /* /sys/fs/cgroup (full mount, read-only) */
+ LXC_AUTO_CGROUP_FULL_RO = BIT(6),
+ /* /sys/fs/cgroup (full mount, read-write) */
+ LXC_AUTO_CGROUP_FULL_RW = BIT(7),
+ /* /sys/fs/cgroup (full mount, parent r/o, own r/w) */
+ LXC_AUTO_CGROUP_FULL_MIXED = LXC_AUTO_CGROUP_FULL_RO |
+ LXC_AUTO_CGROUP_FULL_RW,
/*
* These are defined in such a way as to retain binary compatibility
* with earlier versions of this code. If the previous mask is applied,
* both of these will default back to the _MIXED variants, which is
* safe.
*/
- LXC_AUTO_CGROUP_NOSPEC = 0x0B0, /* /sys/fs/cgroup (partial mount, r/w or mixed, depending on caps) */
- LXC_AUTO_CGROUP_FULL_NOSPEC = 0x0E0, /* /sys/fs/cgroup (full mount, r/w or mixed, depending on caps) */
- LXC_AUTO_CGROUP_FORCE = 0x100, /* mount cgroups even when cgroup namespaces are supported */
- LXC_AUTO_CGROUP_MASK = 0x1F0, /* all known cgroup options */
-
- LXC_AUTO_SHMOUNTS = 0x200, /* shared mount point */
- LXC_AUTO_SHMOUNTS_MASK = 0x200, /* shared mount point mask */
- LXC_AUTO_ALL_MASK = 0x1FF, /* all known settings */
+ /* /sys/fs/cgroup (partial mount, r/w or mixed, depending on caps) */
+ LXC_AUTO_CGROUP_NOSPEC = 0x0B0,
+ /* /sys/fs/cgroup (full mount, r/w or mixed, depending on caps) */
+ LXC_AUTO_CGROUP_FULL_NOSPEC = 0x0E0,
+ /* mount cgroups even when cgroup namespaces are supported */
+ LXC_AUTO_CGROUP_FORCE = BIT(8),
+ /* all known cgroup options */
+ LXC_AUTO_CGROUP_MASK = LXC_AUTO_CGROUP_MIXED |
+ LXC_AUTO_CGROUP_FULL_MIXED |
+ LXC_AUTO_CGROUP_NOSPEC |
+ LXC_AUTO_CGROUP_FULL_NOSPEC |
+ LXC_AUTO_CGROUP_FORCE,
+
+ /* shared mount point */
+ LXC_AUTO_SHMOUNTS = BIT(9),
+ /* shared mount point mask */
+ LXC_AUTO_SHMOUNTS_MASK = LXC_AUTO_SHMOUNTS,
+
+ /* all known settings */
+ LXC_AUTO_ALL_MASK = LXC_AUTO_PROC_MASK |
+ LXC_AUTO_SYS_MASK |
+ LXC_AUTO_CGROUP_MASK,
};
enum lxchooks {