commands: handle older clients gracefully

parent 7184e9d2
......@@ -502,11 +502,16 @@ 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 pidfd;
int ret, stopped;
struct lxc_cmd_rr cmd = {
.req = {
.cmd = LXC_CMD_GET_INIT_PIDFD,
},
.rsp = {
.data = INT_TO_PTR(-EBADF),
.ret = ENOSYS,
},
};
ret = lxc_cmd(name, &cmd, &stopped, lxcpath, NULL);
......@@ -514,9 +519,13 @@ int lxc_cmd_get_init_pidfd(const char *name, const char *lxcpath)
return log_debug_errno(-1, errno, "Failed to process init pidfd command");
if (cmd.rsp.ret < 0)
return log_debug_errno(-EBADF, errno, "Failed to receive init pidfd");
return syserrno_set(cmd.rsp.ret, "Failed to receive init pidfd");
return PTR_TO_INT(cmd.rsp.data);
pidfd = PTR_TO_INT(cmd.rsp.data);
if (pidfd < 0)
return syserrno_set(pidfd, "Failed to receive init pidfd");
return pidfd;
}
static int lxc_cmd_get_init_pidfd_callback(int fd, struct lxc_cmd_req *req,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment