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
8a598112
Unverified
Commit
8a598112
authored
Feb 25, 2021
by
Christian Brauner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commands: switch to bool
Signed-off-by:
Christian Brauner
<
christian.brauner@ubuntu.com
>
parent
0437eac5
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
35 deletions
+61
-35
commands.c
src/lxc/commands.c
+61
-35
No files found.
src/lxc/commands.c
View file @
8a598112
...
@@ -456,7 +456,7 @@ static int lxc_cmd_send(const char *name, struct lxc_cmd_rr *cmd,
...
@@ -456,7 +456,7 @@ static int lxc_cmd_send(const char *name, struct lxc_cmd_rr *cmd,
* the slot with lxc_cmd_fd_cleanup(). The socket fd will be returned in the
* the slot with lxc_cmd_fd_cleanup(). The socket fd will be returned in the
* cmd response structure.
* cmd response structure.
*/
*/
static
int
lxc_cmd
(
const
char
*
name
,
struct
lxc_cmd_rr
*
cmd
,
int
*
stopped
,
static
int
lxc_cmd
(
const
char
*
name
,
struct
lxc_cmd_rr
*
cmd
,
bool
*
stopped
,
const
char
*
lxcpath
,
const
char
*
hashed_sock_name
)
const
char
*
lxcpath
,
const
char
*
hashed_sock_name
)
{
{
__do_close
int
client_fd
=
-
EBADF
;
__do_close
int
client_fd
=
-
EBADF
;
...
@@ -493,10 +493,13 @@ static int lxc_cmd(const char *name, struct lxc_cmd_rr *cmd, int *stopped,
...
@@ -493,10 +493,13 @@ static int lxc_cmd(const char *name, struct lxc_cmd_rr *cmd, int *stopped,
int
lxc_try_cmd
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_try_cmd
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
stopped
,
ret
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_INIT_PID
},
.
req
=
{
.
cmd
=
LXC_CMD_GET_INIT_PID
,
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
stopped
)
if
(
stopped
)
...
@@ -508,7 +511,8 @@ int lxc_try_cmd(const char *name, const char *lxcpath)
...
@@ -508,7 +511,8 @@ int lxc_try_cmd(const char *name, const char *lxcpath)
if
(
ret
>
0
)
if
(
ret
>
0
)
return
0
;
return
0
;
/* At this point we weren't denied access, and the container *was*
/*
* At this point we weren't denied access, and the container *was*
* started. There was some inexplicable error in the protocol. I'm not
* started. There was some inexplicable error in the protocol. I'm not
* clear on whether we should return -1 here, but we didn't receive a
* clear on whether we should return -1 here, but we didn't receive a
* -EACCES, so technically it's not that we're not allowed to control
* -EACCES, so technically it's not that we're not allowed to control
...
@@ -552,7 +556,7 @@ static int validate_string_request(int fd, const struct lxc_cmd_req *req)
...
@@ -552,7 +556,7 @@ static int validate_string_request(int fd, const struct lxc_cmd_req *req)
*/
*/
pid_t
lxc_cmd_get_init_pid
(
const
char
*
name
,
const
char
*
lxcpath
)
pid_t
lxc_cmd_get_init_pid
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
pid_t
pid
=
-
1
;
pid_t
pid
=
-
1
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
...
@@ -562,6 +566,7 @@ pid_t lxc_cmd_get_init_pid(const char *name, const char *lxcpath)
...
@@ -562,6 +566,7 @@ pid_t lxc_cmd_get_init_pid(const char *name, const char *lxcpath)
.
data
=
PID_TO_PTR
(
pid
)
.
data
=
PID_TO_PTR
(
pid
)
}
}
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -571,7 +576,8 @@ pid_t lxc_cmd_get_init_pid(const char *name, const char *lxcpath)
...
@@ -571,7 +576,8 @@ pid_t lxc_cmd_get_init_pid(const char *name, const char *lxcpath)
if
(
pid
<
0
)
if
(
pid
<
0
)
return
-
1
;
return
-
1
;
/* We need to assume that pid_t can actually hold any pid given to us
/*
* We need to assume that pid_t can actually hold any pid given to us
* by the kernel. If it can't it's a libc bug.
* by the kernel. If it can't it's a libc bug.
*/
*/
return
(
pid_t
)
pid
;
return
(
pid_t
)
pid
;
...
@@ -590,8 +596,7 @@ static int lxc_cmd_get_init_pid_callback(int fd, struct lxc_cmd_req *req,
...
@@ -590,8 +596,7 @@ static int lxc_cmd_get_init_pid_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_get_init_pidfd
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_init_pidfd
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
pidfd
;
bool
stopped
=
false
;
int
ret
,
stopped
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_INIT_PIDFD
,
.
cmd
=
LXC_CMD_GET_INIT_PIDFD
,
...
@@ -601,6 +606,7 @@ int lxc_cmd_get_init_pidfd(const char *name, const char *lxcpath)
...
@@ -601,6 +606,7 @@ int lxc_cmd_get_init_pidfd(const char *name, const char *lxcpath)
.
ret
=
ENOSYS
,
.
ret
=
ENOSYS
,
},
},
};
};
int
pidfd
,
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -633,12 +639,13 @@ static int lxc_cmd_get_init_pidfd_callback(int fd, struct lxc_cmd_req *req,
...
@@ -633,12 +639,13 @@ static int lxc_cmd_get_init_pidfd_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_get_devpts_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_devpts_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_DEVPTS_FD
,
.
cmd
=
LXC_CMD_GET_DEVPTS_FD
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -668,12 +675,13 @@ static int lxc_cmd_get_devpts_fd_callback(int fd, struct lxc_cmd_req *req,
...
@@ -668,12 +675,13 @@ static int lxc_cmd_get_devpts_fd_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_get_seccomp_notify_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_seccomp_notify_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
#ifdef HAVE_SECCOMP_NOTIFY
#ifdef HAVE_SECCOMP_NOTIFY
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_SECCOMP_NOTIFY_FD
,
.
cmd
=
LXC_CMD_GET_SECCOMP_NOTIFY_FD
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -710,6 +718,7 @@ static int lxc_cmd_get_seccomp_notify_fd_callback(int fd, struct lxc_cmd_req *re
...
@@ -710,6 +718,7 @@ static int lxc_cmd_get_seccomp_notify_fd_callback(int fd, struct lxc_cmd_req *re
int
lxc_cmd_get_cgroup_ctx
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_get_cgroup_ctx
(
const
char
*
name
,
const
char
*
lxcpath
,
size_t
size_ret_ctx
,
struct
cgroup_ctx
*
ret_ctx
)
size_t
size_ret_ctx
,
struct
cgroup_ctx
*
ret_ctx
)
{
{
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_CGROUP_CTX
,
.
cmd
=
LXC_CMD_GET_CGROUP_CTX
,
...
@@ -720,7 +729,7 @@ int lxc_cmd_get_cgroup_ctx(const char *name, const char *lxcpath,
...
@@ -720,7 +729,7 @@ int lxc_cmd_get_cgroup_ctx(const char *name, const char *lxcpath,
.
ret
=
-
ENOSYS
,
.
ret
=
-
ENOSYS
,
},
},
};
};
int
ret
,
stopped
;
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -770,12 +779,13 @@ static int lxc_cmd_get_cgroup_ctx_callback(int fd, struct lxc_cmd_req *req,
...
@@ -770,12 +779,13 @@ static int lxc_cmd_get_cgroup_ctx_callback(int fd, struct lxc_cmd_req *req,
*/
*/
int
lxc_cmd_get_clone_flags
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_clone_flags
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_CLONE_FLAGS
,
.
cmd
=
LXC_CMD_GET_CLONE_FLAGS
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -799,7 +809,7 @@ static char *lxc_cmd_get_cgroup_path_do(const char *name, const char *lxcpath,
...
@@ -799,7 +809,7 @@ static char *lxc_cmd_get_cgroup_path_do(const char *name, const char *lxcpath,
const
char
*
subsystem
,
const
char
*
subsystem
,
lxc_cmd_t
command
)
lxc_cmd_t
command
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
command
,
.
cmd
=
command
,
...
@@ -807,6 +817,7 @@ static char *lxc_cmd_get_cgroup_path_do(const char *name, const char *lxcpath,
...
@@ -807,6 +817,7 @@ static char *lxc_cmd_get_cgroup_path_do(const char *name, const char *lxcpath,
.
datalen
=
0
,
.
datalen
=
0
,
},
},
};
};
int
ret
;
cmd
.
req
.
data
=
subsystem
;
cmd
.
req
.
data
=
subsystem
;
cmd
.
req
.
datalen
=
0
;
cmd
.
req
.
datalen
=
0
;
...
@@ -942,13 +953,14 @@ static int lxc_cmd_get_limit_cgroup_callback(int fd, struct lxc_cmd_req *req,
...
@@ -942,13 +953,14 @@ static int lxc_cmd_get_limit_cgroup_callback(int fd, struct lxc_cmd_req *req,
char
*
lxc_cmd_get_config_item
(
const
char
*
name
,
const
char
*
item
,
char
*
lxc_cmd_get_config_item
(
const
char
*
name
,
const
char
*
item
,
const
char
*
lxcpath
)
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_CONFIG_ITEM
,
.
req
=
{
.
cmd
=
LXC_CMD_GET_CONFIG_ITEM
,
.
data
=
item
,
.
data
=
item
,
.
datalen
=
strlen
(
item
)
+
1
,
.
datalen
=
strlen
(
item
)
+
1
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1004,12 +1016,13 @@ out:
...
@@ -1004,12 +1016,13 @@ out:
*/
*/
int
lxc_cmd_get_state
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_state
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_STATE
,
.
cmd
=
LXC_CMD_GET_STATE
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
&&
stopped
)
if
(
ret
<
0
&&
stopped
)
...
@@ -1048,12 +1061,13 @@ static int lxc_cmd_get_state_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1048,12 +1061,13 @@ static int lxc_cmd_get_state_callback(int fd, struct lxc_cmd_req *req,
*/
*/
int
lxc_cmd_stop
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_stop
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_STOP
,
.
cmd
=
LXC_CMD_STOP
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
...
@@ -1145,13 +1159,14 @@ static int lxc_cmd_terminal_winch_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1145,13 +1159,14 @@ static int lxc_cmd_terminal_winch_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_get_tty_fd
(
const
char
*
name
,
int
*
ttynum
,
int
*
fd
,
const
char
*
lxcpath
)
int
lxc_cmd_get_tty_fd
(
const
char
*
name
,
int
*
ttynum
,
int
*
fd
,
const
char
*
lxcpath
)
{
{
__do_free
struct
lxc_cmd_tty_rsp_data
*
rspdata
=
NULL
;
__do_free
struct
lxc_cmd_tty_rsp_data
*
rspdata
=
NULL
;
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_TTY_FD
,
.
cmd
=
LXC_CMD_GET_TTY_FD
,
.
data
=
INT_TO_PTR
(
*
ttynum
),
.
data
=
INT_TO_PTR
(
*
ttynum
),
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1208,12 +1223,13 @@ static int lxc_cmd_get_tty_fd_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1208,12 +1223,13 @@ static int lxc_cmd_get_tty_fd_callback(int fd, struct lxc_cmd_req *req,
*/
*/
char
*
lxc_cmd_get_name
(
const
char
*
hashed_sock_name
)
char
*
lxc_cmd_get_name
(
const
char
*
hashed_sock_name
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_NAME
,
.
cmd
=
LXC_CMD_GET_NAME
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
NULL
,
&
cmd
,
&
stopped
,
NULL
,
hashed_sock_name
);
ret
=
lxc_cmd
(
NULL
,
&
cmd
,
&
stopped
,
NULL
,
hashed_sock_name
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1249,12 +1265,13 @@ static int lxc_cmd_get_name_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1249,12 +1265,13 @@ static int lxc_cmd_get_name_callback(int fd, struct lxc_cmd_req *req,
*/
*/
char
*
lxc_cmd_get_lxcpath
(
const
char
*
hashed_sock_name
)
char
*
lxc_cmd_get_lxcpath
(
const
char
*
hashed_sock_name
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_LXCPATH
,
.
cmd
=
LXC_CMD_GET_LXCPATH
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
NULL
,
&
cmd
,
&
stopped
,
NULL
,
hashed_sock_name
);
ret
=
lxc_cmd
(
NULL
,
&
cmd
,
&
stopped
,
NULL
,
hashed_sock_name
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1284,8 +1301,7 @@ int lxc_cmd_add_state_client(const char *name, const char *lxcpath,
...
@@ -1284,8 +1301,7 @@ int lxc_cmd_add_state_client(const char *name, const char *lxcpath,
int
*
state_client_fd
)
int
*
state_client_fd
)
{
{
__do_close
int
clientfd
=
-
EBADF
;
__do_close
int
clientfd
=
-
EBADF
;
int
state
,
stopped
;
bool
stopped
=
false
;
ssize_t
ret
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_ADD_STATE_CLIENT
,
.
cmd
=
LXC_CMD_ADD_STATE_CLIENT
,
...
@@ -1293,6 +1309,8 @@ int lxc_cmd_add_state_client(const char *name, const char *lxcpath,
...
@@ -1293,6 +1309,8 @@ int lxc_cmd_add_state_client(const char *name, const char *lxcpath,
.
datalen
=
(
sizeof
(
lxc_state_t
)
*
MAX_STATE
)
.
datalen
=
(
sizeof
(
lxc_state_t
)
*
MAX_STATE
)
},
},
};
};
int
state
;
ssize_t
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
states
[
STOPPED
]
!=
0
&&
stopped
!=
0
)
if
(
states
[
STOPPED
]
!=
0
&&
stopped
!=
0
)
...
@@ -1353,7 +1371,7 @@ reap_fd:
...
@@ -1353,7 +1371,7 @@ reap_fd:
int
lxc_cmd_add_bpf_device_cgroup
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_add_bpf_device_cgroup
(
const
char
*
name
,
const
char
*
lxcpath
,
struct
device_item
*
device
)
struct
device_item
*
device
)
{
{
int
stopped
=
0
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_ADD_BPF_DEVICE_CGROUP
,
.
cmd
=
LXC_CMD_ADD_BPF_DEVICE_CGROUP
,
...
@@ -1407,7 +1425,8 @@ out:
...
@@ -1407,7 +1425,8 @@ out:
int
lxc_cmd_console_log
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_console_log
(
const
char
*
name
,
const
char
*
lxcpath
,
struct
lxc_console_log
*
log
)
struct
lxc_console_log
*
log
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
int
ret
;
struct
lxc_cmd_console_log
data
;
struct
lxc_cmd_console_log
data
;
struct
lxc_cmd_rr
cmd
;
struct
lxc_cmd_rr
cmd
;
...
@@ -1483,14 +1502,14 @@ out:
...
@@ -1483,14 +1502,14 @@ out:
int
lxc_cmd_serve_state_clients
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_serve_state_clients
(
const
char
*
name
,
const
char
*
lxcpath
,
lxc_state_t
state
)
lxc_state_t
state
)
{
{
int
stopped
;
bool
stopped
=
false
;
ssize_t
ret
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_SERVE_STATE_CLIENTS
,
.
cmd
=
LXC_CMD_SERVE_STATE_CLIENTS
,
.
data
=
INT_TO_PTR
(
state
)
.
data
=
INT_TO_PTR
(
state
)
},
},
};
};
ssize_t
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1521,13 +1540,14 @@ int lxc_cmd_seccomp_notify_add_listener(const char *name, const char *lxcpath,
...
@@ -1521,13 +1540,14 @@ int lxc_cmd_seccomp_notify_add_listener(const char *name, const char *lxcpath,
{
{
#ifdef HAVE_SECCOMP_NOTIFY
#ifdef HAVE_SECCOMP_NOTIFY
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_SECCOMP_NOTIFY_ADD_LISTENER
,
.
cmd
=
LXC_CMD_SECCOMP_NOTIFY_ADD_LISTENER
,
.
data
=
INT_TO_PTR
(
fd
),
.
data
=
INT_TO_PTR
(
fd
),
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1581,13 +1601,14 @@ out:
...
@@ -1581,13 +1601,14 @@ out:
int
lxc_cmd_freeze
(
const
char
*
name
,
const
char
*
lxcpath
,
int
timeout
)
int
lxc_cmd_freeze
(
const
char
*
name
,
const
char
*
lxcpath
,
int
timeout
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_FREEZE
,
.
cmd
=
LXC_CMD_FREEZE
,
.
data
=
INT_TO_PTR
(
timeout
),
.
data
=
INT_TO_PTR
(
timeout
),
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<=
0
||
cmd
.
rsp
.
ret
<
0
)
if
(
ret
<=
0
||
cmd
.
rsp
.
ret
<
0
)
...
@@ -1614,13 +1635,14 @@ static int lxc_cmd_freeze_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1614,13 +1635,14 @@ static int lxc_cmd_freeze_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_unfreeze
(
const
char
*
name
,
const
char
*
lxcpath
,
int
timeout
)
int
lxc_cmd_unfreeze
(
const
char
*
name
,
const
char
*
lxcpath
,
int
timeout
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_UNFREEZE
,
.
cmd
=
LXC_CMD_UNFREEZE
,
.
data
=
INT_TO_PTR
(
timeout
),
.
data
=
INT_TO_PTR
(
timeout
),
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<=
0
||
cmd
.
rsp
.
ret
<
0
)
if
(
ret
<=
0
||
cmd
.
rsp
.
ret
<
0
)
...
@@ -1648,7 +1670,7 @@ static int lxc_cmd_unfreeze_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1648,7 +1670,7 @@ static int lxc_cmd_unfreeze_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_get_cgroup_fd
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_get_cgroup_fd
(
const
char
*
name
,
const
char
*
lxcpath
,
size_t
size_ret_fd
,
struct
cgroup_fd
*
ret_fd
)
size_t
size_ret_fd
,
struct
cgroup_fd
*
ret_fd
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_CGROUP_FD
,
.
cmd
=
LXC_CMD_GET_CGROUP_FD
,
...
@@ -1656,9 +1678,10 @@ int lxc_cmd_get_cgroup_fd(const char *name, const char *lxcpath,
...
@@ -1656,9 +1678,10 @@ int lxc_cmd_get_cgroup_fd(const char *name, const char *lxcpath,
.
data
=
ret_fd
,
.
data
=
ret_fd
,
},
},
.
rsp
=
{
.
rsp
=
{
ret
=
-
ENOSYS
,
.
ret
=
-
ENOSYS
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1673,7 +1696,7 @@ int lxc_cmd_get_cgroup_fd(const char *name, const char *lxcpath,
...
@@ -1673,7 +1696,7 @@ int lxc_cmd_get_cgroup_fd(const char *name, const char *lxcpath,
int
lxc_cmd_get_limit_cgroup_fd
(
const
char
*
name
,
const
char
*
lxcpath
,
int
lxc_cmd_get_limit_cgroup_fd
(
const
char
*
name
,
const
char
*
lxcpath
,
size_t
size_ret_fd
,
struct
cgroup_fd
*
ret_fd
)
size_t
size_ret_fd
,
struct
cgroup_fd
*
ret_fd
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_LIMIT_CGROUP_FD
,
.
cmd
=
LXC_CMD_GET_LIMIT_CGROUP_FD
,
...
@@ -1681,9 +1704,10 @@ int lxc_cmd_get_limit_cgroup_fd(const char *name, const char *lxcpath,
...
@@ -1681,9 +1704,10 @@ int lxc_cmd_get_limit_cgroup_fd(const char *name, const char *lxcpath,
.
data
=
ret_fd
,
.
data
=
ret_fd
,
},
},
.
rsp
=
{
.
rsp
=
{
ret
=
-
ENOSYS
,
.
ret
=
-
ENOSYS
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1743,15 +1767,16 @@ static int lxc_cmd_get_limit_cgroup_fd_callback(int fd, struct lxc_cmd_req *req,
...
@@ -1743,15 +1767,16 @@ static int lxc_cmd_get_limit_cgroup_fd_callback(int fd, struct lxc_cmd_req *req,
int
lxc_cmd_get_cgroup2_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_cgroup2_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_CGROUP2_FD
,
.
cmd
=
LXC_CMD_GET_CGROUP2_FD
,
},
},
.
rsp
=
{
.
rsp
=
{
ret
=
-
ENOSYS
,
.
ret
=
-
ENOSYS
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1765,7 +1790,7 @@ int lxc_cmd_get_cgroup2_fd(const char *name, const char *lxcpath)
...
@@ -1765,7 +1790,7 @@ int lxc_cmd_get_cgroup2_fd(const char *name, const char *lxcpath)
int
lxc_cmd_get_limit_cgroup2_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
int
lxc_cmd_get_limit_cgroup2_fd
(
const
char
*
name
,
const
char
*
lxcpath
)
{
{
int
ret
,
stopped
;
bool
stopped
=
false
;
struct
lxc_cmd_rr
cmd
=
{
struct
lxc_cmd_rr
cmd
=
{
.
req
=
{
.
req
=
{
.
cmd
=
LXC_CMD_GET_LIMIT_CGROUP2_FD
,
.
cmd
=
LXC_CMD_GET_LIMIT_CGROUP2_FD
,
...
@@ -1774,6 +1799,7 @@ int lxc_cmd_get_limit_cgroup2_fd(const char *name, const char *lxcpath)
...
@@ -1774,6 +1799,7 @@ int lxc_cmd_get_limit_cgroup2_fd(const char *name, const char *lxcpath)
.
ret
=
-
ENOSYS
,
.
ret
=
-
ENOSYS
,
},
},
};
};
int
ret
;
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
ret
=
lxc_cmd
(
name
,
&
cmd
,
&
stopped
,
lxcpath
,
NULL
);
if
(
ret
<
0
)
if
(
ret
<
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