lcr/0002-disable-lxc_keep-with-oci-image.patch

59 lines
2.0 KiB
Diff
Raw Normal View History

From 409f5bf06e782fe5cbcf01e463b114c973b33dcb Mon Sep 17 00:00:00 2001
From: gaohuatao <gaohuatao@huawei.com>
Date: Thu, 21 Oct 2021 12:11:00 +0800
Subject: [PATCH 2/2] disable lxc_keep with oci image
Signed-off-by: gaohuatao <gaohuatao@huawei.com>
---
src/lcrcontainer.h | 1 +
src/lcrcontainer_execute.c | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/src/lcrcontainer.h b/src/lcrcontainer.h
index ecf3655..062d681 100644
--- a/src/lcrcontainer.h
+++ b/src/lcrcontainer.h
@@ -201,6 +201,7 @@ struct lcr_start_request {
uint32_t start_timeout;
const char *container_pidfile;
const char *exit_fifo;
+ bool image_type_oci;
};
bool lcr_start(const struct lcr_start_request *request);
diff --git a/src/lcrcontainer_execute.c b/src/lcrcontainer_execute.c
index 4c8e0e6..d04a467 100644
--- a/src/lcrcontainer_execute.c
+++ b/src/lcrcontainer_execute.c
@@ -966,7 +966,9 @@ void execute_lxc_start(const char *name, const char *path, const struct lcr_star
{
// should check the size of params when add new params.
char *params[PARAM_NUM] = {NULL};
+ char buf[PARAM_NUM] = { 0 };
size_t i = 0;
+ int nret = 0;
if (lcr_util_check_inherited(true, -1) != 0) {
COMMAND_ERROR("Close inherited fds failed");
@@ -983,6 +985,17 @@ void execute_lxc_start(const char *name, const char *path, const struct lcr_star
add_array_kv(params, PARAM_NUM, &i, "--in-fifo", request->console_fifos[0]);
add_array_kv(params, PARAM_NUM, &i, "--out-fifo", request->console_fifos[1]);
add_array_kv(params, PARAM_NUM, &i, "--err-fifo", request->console_fifos[2]);
+
+ nret = snprintf(buf, sizeof(buf), "%s=true", LXC_IMAGE_OCI_KEY);
+ if (nret < 0 || (size_t)nret >= sizeof(buf)) {
+ COMMAND_ERROR("Format KEY=VAL of image type error");
+ exit(EXIT_FAILURE);
+ }
+
+ if (request->image_type_oci) {
+ add_array_kv(params, PARAM_NUM, &i, "-s", buf);
+ }
+
if (!request->tty) {
add_array_elem(params, PARAM_NUM, &i, "--disable-pty");
}
--
2.20.1