Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lxc
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
lxc
Commits
d1ea5ad0
Commit
d1ea5ad0
authored
Mar 12, 2014
by
Serge Hallyn
Committed by
Stéphane Graber
Mar 12, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
support lxc.mount.auto for get_config_item and clear_config_item
Signed-off-by:
Serge Hallyn
<
serge.hallyn@ubuntu.com
>
Acked-by:
Stéphane Graber
<
stgraber@ubuntu.com
>
parent
7cdf119b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
0 deletions
+45
-0
conf.c
src/lxc/conf.c
+6
-0
conf.h
src/lxc/conf.h
+1
-0
confile.c
src/lxc/confile.c
+38
-0
No files found.
src/lxc/conf.c
View file @
d1ea5ad0
...
...
@@ -4102,6 +4102,12 @@ int lxc_clear_mount_entries(struct lxc_conf *c)
return
0
;
}
int
lxc_clear_automounts
(
struct
lxc_conf
*
c
)
{
c
->
auto_mounts
=
0
;
return
0
;
}
int
lxc_clear_hooks
(
struct
lxc_conf
*
c
,
const
char
*
key
)
{
struct
lxc_list
*
it
,
*
next
;
...
...
src/lxc/conf.h
View file @
d1ea5ad0
...
...
@@ -358,6 +358,7 @@ extern int lxc_clear_config_caps(struct lxc_conf *c);
extern
int
lxc_clear_config_keepcaps
(
struct
lxc_conf
*
c
);
extern
int
lxc_clear_cgroups
(
struct
lxc_conf
*
c
,
const
char
*
key
);
extern
int
lxc_clear_mount_entries
(
struct
lxc_conf
*
c
);
extern
int
lxc_clear_automounts
(
struct
lxc_conf
*
c
);
extern
int
lxc_clear_hooks
(
struct
lxc_conf
*
c
,
const
char
*
key
);
extern
int
lxc_clear_idmaps
(
struct
lxc_conf
*
c
);
extern
int
lxc_clear_groups
(
struct
lxc_conf
*
c
);
...
...
src/lxc/confile.c
View file @
d1ea5ad0
...
...
@@ -1941,6 +1941,40 @@ static int lxc_get_mount_entries(struct lxc_conf *c, char *retv, int inlen)
return
fulllen
;
}
static
int
lxc_get_auto_mounts
(
struct
lxc_conf
*
c
,
char
*
retv
,
int
inlen
)
{
int
len
,
fulllen
=
0
;
if
(
!
retv
)
inlen
=
0
;
else
memset
(
retv
,
0
,
inlen
);
if
(
!
(
c
->
auto_mounts
&
LXC_AUTO_ALL_MASK
))
return
0
;
switch
(
c
->
auto_mounts
&
LXC_AUTO_PROC_MASK
)
{
case
LXC_AUTO_PROC_MIXED
:
strprint
(
retv
,
inlen
,
"proc:mixed
\n
"
);
break
;
case
LXC_AUTO_PROC_RW
:
strprint
(
retv
,
inlen
,
"proc:rw"
);
break
;
default:
break
;
}
switch
(
c
->
auto_mounts
&
LXC_AUTO_SYS_MASK
)
{
case
LXC_AUTO_SYS_RO
:
strprint
(
retv
,
inlen
,
"sys:ro"
);
break
;
case
LXC_AUTO_SYS_RW
:
strprint
(
retv
,
inlen
,
"sys:rw"
);
break
;
default:
break
;
}
switch
(
c
->
auto_mounts
&
LXC_AUTO_CGROUP_MASK
)
{
case
LXC_AUTO_CGROUP_MIXED
:
strprint
(
retv
,
inlen
,
"cgroup:mixed"
);
break
;
case
LXC_AUTO_CGROUP_RO
:
strprint
(
retv
,
inlen
,
"cgroup:ro"
);
break
;
case
LXC_AUTO_CGROUP_RW
:
strprint
(
retv
,
inlen
,
"cgroup:rw"
);
break
;
case
LXC_AUTO_CGROUP_FULL_MIXED
:
strprint
(
retv
,
inlen
,
"cgroup-full:mixed"
);
break
;
case
LXC_AUTO_CGROUP_FULL_RO
:
strprint
(
retv
,
inlen
,
"cgroup-full:ro"
);
break
;
case
LXC_AUTO_CGROUP_FULL_RW
:
strprint
(
retv
,
inlen
,
"cgroup-full:rw"
);
break
;
default:
break
;
}
return
fulllen
;
}
/*
* lxc.network.0.XXX, where XXX can be: name, type, link, flags, type,
* macvlan.mode, veth.pair, vlan, ipv4, ipv6, script.up, hwaddr, mtu,
...
...
@@ -2074,6 +2108,8 @@ int lxc_get_config_item(struct lxc_conf *c, const char *key, char *retv,
if
(
strcmp
(
key
,
"lxc.mount.entry"
)
==
0
)
return
lxc_get_mount_entries
(
c
,
retv
,
inlen
);
else
if
(
strcmp
(
key
,
"lxc.mount.auto"
)
==
0
)
return
lxc_get_auto_mounts
(
c
,
retv
,
inlen
);
else
if
(
strcmp
(
key
,
"lxc.mount"
)
==
0
)
v
=
c
->
fstab
;
else
if
(
strcmp
(
key
,
"lxc.tty"
)
==
0
)
...
...
@@ -2151,6 +2187,8 @@ int lxc_clear_config_item(struct lxc_conf *c, const char *key)
return
lxc_clear_cgroups
(
c
,
key
);
else
if
(
strcmp
(
key
,
"lxc.mount.entries"
)
==
0
)
return
lxc_clear_mount_entries
(
c
);
else
if
(
strcmp
(
key
,
"lxc.mount.auto"
)
==
0
)
return
lxc_clear_automounts
(
c
);
else
if
(
strncmp
(
key
,
"lxc.hook"
,
8
)
==
0
)
return
lxc_clear_hooks
(
c
,
key
);
else
if
(
strncmp
(
key
,
"lxc.group"
,
9
)
==
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment