892 lines
37 KiB
Diff
892 lines
37 KiB
Diff
From 16a4b6f334e4e81615a71cf7930158fb1bee5a12 Mon Sep 17 00:00:00 2001
|
|
From: haozi007 <liuhao27@huawei.com>
|
|
Date: Wed, 6 Sep 2023 15:05:29 +0800
|
|
Subject: [PATCH 11/33] remove usage of strerror with user defined errno
|
|
|
|
Signed-off-by: haozi007 <liuhao27@huawei.com>
|
|
---
|
|
src/cmd/command_parser.c | 12 ++++++----
|
|
src/cmd/isula/base/create.c | 3 ++-
|
|
src/cmd/isula/isula_host_spec.c | 9 ++++---
|
|
src/cmd/isulad/main.c | 8 ++++---
|
|
src/cmd/options/opt_ulimit.c | 6 +++--
|
|
src/daemon/entry/cri/cni_network_plugin.cc | 9 ++++---
|
|
src/daemon/entry/cri/sysctl_tools.c | 14 +++++++----
|
|
.../v1/v1_cri_container_manager_service.cc | 4 ++--
|
|
.../v1/v1_cri_pod_sandbox_manager_service.cc | 3 ++-
|
|
src/daemon/executor/network_cb/network_cb.c | 6 +++--
|
|
src/daemon/modules/image/oci/oci_image.c | 6 +++--
|
|
.../oci/storage/image_store/image_store.c | 6 +++--
|
|
.../graphdriver/devmapper/deviceset.c | 19 +++++++++------
|
|
.../storage/layer_store/graphdriver/driver.c | 9 ++++---
|
|
.../graphdriver/overlay2/driver_overlay2.c | 17 ++++++++-----
|
|
.../oci/storage/layer_store/layer_store.c | 6 +++--
|
|
.../remote_layer_support/remote_support.c | 6 +++--
|
|
.../oci/storage/rootfs_store/rootfs_store.c | 6 +++--
|
|
.../modules/image/oci/storage/storage.c | 6 +++--
|
|
.../cni_operator/libcni/invoke/libcni_errno.c | 8 -------
|
|
.../cni_operator/libcni/invoke/libcni_errno.h | 2 --
|
|
.../cni_operator/libcni/libcni_cached.c | 3 ++-
|
|
.../modules/network/native/adaptor_native.c | 17 ++++++++-----
|
|
src/daemon/modules/plugin/plugin.c | 24 ++++++++++++-------
|
|
src/daemon/modules/service/service_network.c | 6 ++---
|
|
src/daemon/sandbox/sandbox.cc | 8 ++++---
|
|
src/utils/cutils/network_namespace.c | 3 ++-
|
|
src/utils/cutils/utils_file.c | 4 +++-
|
|
28 files changed, 144 insertions(+), 86 deletions(-)
|
|
|
|
diff --git a/src/cmd/command_parser.c b/src/cmd/command_parser.c
|
|
index ac353b40..1ad1d92b 100644
|
|
--- a/src/cmd/command_parser.c
|
|
+++ b/src/cmd/command_parser.c
|
|
@@ -546,7 +546,8 @@ int command_convert_u16(command_option_t *option, const char *arg)
|
|
}
|
|
ret = util_safe_u16(arg, option->data);
|
|
if (ret != 0) {
|
|
- COMMAND_ERROR("Invalid value \"%s\" for flag --%s: %s", arg, option->large, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid value \"%s\" for flag --%s", arg, option->large);
|
|
return EINVALIDARGS;
|
|
}
|
|
return 0;
|
|
@@ -561,7 +562,8 @@ int command_convert_llong(command_option_t *opt, const char *arg)
|
|
}
|
|
ret = util_safe_llong(arg, opt->data);
|
|
if (ret != 0) {
|
|
- COMMAND_ERROR("Invalid value \"%s\" for flag --%s: %s", arg, opt->large, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid value \"%s\" for flag --%s", arg, opt->large);
|
|
return EINVALIDARGS;
|
|
}
|
|
return 0;
|
|
@@ -575,7 +577,8 @@ int command_convert_uint(command_option_t *opt, const char *arg)
|
|
}
|
|
ret = util_safe_uint(arg, opt->data);
|
|
if (ret != 0) {
|
|
- COMMAND_ERROR("Invalid value \"%s\" for flag --%s: %s", arg, opt->large, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid value \"%s\" for flag --%s", arg, opt->large);
|
|
return EINVALIDARGS;
|
|
}
|
|
return 0;
|
|
@@ -590,7 +593,8 @@ int command_convert_int(command_option_t *option, const char *arg)
|
|
}
|
|
ret = util_safe_int(arg, option->data);
|
|
if (ret != 0) {
|
|
- COMMAND_ERROR("Invalid value \"%s\" for flag --%s: %s", arg, option->large, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid value \"%s\" for flag --%s", arg, option->large);
|
|
return EINVALIDARGS;
|
|
}
|
|
return 0;
|
|
diff --git a/src/cmd/isula/base/create.c b/src/cmd/isula/base/create.c
|
|
index aa90c5d6..cd0d4abd 100644
|
|
--- a/src/cmd/isula/base/create.c
|
|
+++ b/src/cmd/isula/base/create.c
|
|
@@ -2032,7 +2032,8 @@ static int create_check_hugetlbs(const struct client_arguments *args)
|
|
}
|
|
ret = util_parse_byte_size_string(limit, &limitvalue);
|
|
if (ret != 0) {
|
|
- COMMAND_ERROR("Invalid hugetlb limit:%s:%s", limit, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid hugetlb limit:%s", limit);
|
|
free(dup);
|
|
ret = -1;
|
|
goto out;
|
|
diff --git a/src/cmd/isula/isula_host_spec.c b/src/cmd/isula/isula_host_spec.c
|
|
index 9fa08bd2..6f39588d 100644
|
|
--- a/src/cmd/isula/isula_host_spec.c
|
|
+++ b/src/cmd/isula/isula_host_spec.c
|
|
@@ -66,7 +66,8 @@ static bool parse_restart_policy(const char *policy, host_config_restart_policy
|
|
}
|
|
nret = util_safe_int(dotpos, &(*rp)->maximum_retry_count);
|
|
if (nret != 0) {
|
|
- COMMAND_ERROR("Maximum retry count must be an integer: %s", strerror(-nret));
|
|
+ errno = -nret;
|
|
+ CMD_SYSERROR("Maximum retry count must be an integer");
|
|
goto cleanup;
|
|
}
|
|
}
|
|
@@ -724,7 +725,8 @@ static host_config_hugetlbs_element *pase_hugetlb_limit(const char *input)
|
|
|
|
ret = util_parse_byte_size_string(limit_value, &tconverted);
|
|
if (ret != 0 || tconverted < 0) {
|
|
- COMMAND_ERROR("Parse limit value: %s failed:%s", limit_value, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Parse limit value: %s failed", limit_value);
|
|
goto free_out;
|
|
}
|
|
limit = (uint64_t)tconverted;
|
|
@@ -733,7 +735,8 @@ static host_config_hugetlbs_element *pase_hugetlb_limit(const char *input)
|
|
tconverted = 0;
|
|
ret = util_parse_byte_size_string(pagesize, &tconverted);
|
|
if (ret != 0 || tconverted < 0) {
|
|
- COMMAND_ERROR("Parse pagesize error.Invalid hugepage size: %s: %s", pagesize, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Parse pagesize error.Invalid hugepage size: %s", pagesize);
|
|
goto free_out;
|
|
}
|
|
page = (uint64_t)tconverted;
|
|
diff --git a/src/cmd/isulad/main.c b/src/cmd/isulad/main.c
|
|
index 39cde6aa..8369f9e2 100644
|
|
--- a/src/cmd/isulad/main.c
|
|
+++ b/src/cmd/isulad/main.c
|
|
@@ -632,8 +632,9 @@ static int parse_time_duration(const char *value, unsigned int *seconds)
|
|
*(num_str + len - 1) = '\0';
|
|
ret = util_safe_uint(num_str, &tmp);
|
|
if (ret < 0) {
|
|
- ERROR("Illegal unsigned integer: %s", num_str);
|
|
- COMMAND_ERROR("Illegal unsigned integer:%s:%s", num_str, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Illegal unsigned integer: %s", num_str);
|
|
+ COMMAND_ERROR("Illegal unsigned integer:%s", num_str);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -1407,7 +1408,8 @@ static int create_mount_flock_file(const struct service_arguments *args)
|
|
// recreate mount flock file
|
|
// and make file uid/gid and permission correct
|
|
if (!util_force_remove_file(cleanpath, &err)) {
|
|
- ERROR("Failed to delete %s, error: %s. Please delete %s manually.", path, strerror(err), path);
|
|
+ errno = err;
|
|
+ SYSERROR("Failed to delete %s. Please delete %s manually.", path, path);
|
|
return -1;
|
|
}
|
|
}
|
|
diff --git a/src/cmd/options/opt_ulimit.c b/src/cmd/options/opt_ulimit.c
|
|
index 55912a16..6853c0d9 100644
|
|
--- a/src/cmd/options/opt_ulimit.c
|
|
+++ b/src/cmd/options/opt_ulimit.c
|
|
@@ -63,7 +63,8 @@ static int parse_soft_hard_ulimit(const char *val, char **limitvals, size_t limi
|
|
// parse soft
|
|
ret = util_safe_llong(limitvals[0], &converted);
|
|
if (ret < 0) {
|
|
- COMMAND_ERROR("Invalid ulimit soft value: \"%s\", parse int64 failed: %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid ulimit soft value: \"%s\", parse int64 failed", val);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -74,7 +75,8 @@ static int parse_soft_hard_ulimit(const char *val, char **limitvals, size_t limi
|
|
converted = 0;
|
|
ret = util_safe_llong(limitvals[1], &converted);
|
|
if (ret < 0) {
|
|
- COMMAND_ERROR("Invalid ulimit hard value: \"%s\", parse int64 failed: %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ CMD_SYSERROR("Invalid ulimit hard value: \"%s\", parse int64 failed", val);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
diff --git a/src/daemon/entry/cri/cni_network_plugin.cc b/src/daemon/entry/cri/cni_network_plugin.cc
|
|
index 1c7fea2e..c186d185 100644
|
|
--- a/src/daemon/entry/cri/cni_network_plugin.cc
|
|
+++ b/src/daemon/entry/cri/cni_network_plugin.cc
|
|
@@ -796,7 +796,8 @@ void CniNetworkPlugin::RLockNetworkMap(Errors &error)
|
|
int ret = pthread_rwlock_rdlock(&m_netsLock);
|
|
if (ret != 0) {
|
|
error.Errorf("Failed to get read lock");
|
|
- ERROR("Get read lock failed: %s", strerror(ret));
|
|
+ errno = ret;
|
|
+ SYSERROR("Get read lock failed");
|
|
}
|
|
}
|
|
|
|
@@ -805,7 +806,8 @@ void CniNetworkPlugin::WLockNetworkMap(Errors &error)
|
|
int ret = pthread_rwlock_wrlock(&m_netsLock);
|
|
if (ret != 0) {
|
|
error.Errorf("Failed to get write lock");
|
|
- ERROR("Get write lock failed: %s", strerror(ret));
|
|
+ errno = ret;
|
|
+ SYSERROR("Get write lock failed");
|
|
}
|
|
}
|
|
|
|
@@ -814,7 +816,8 @@ void CniNetworkPlugin::UnlockNetworkMap(Errors &error)
|
|
int ret = pthread_rwlock_unlock(&m_netsLock);
|
|
if (ret != 0) {
|
|
error.Errorf("Failed to unlock");
|
|
- ERROR("Unlock failed: %s", strerror(ret));
|
|
+ errno = ret;
|
|
+ SYSERROR("Unlock failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/entry/cri/sysctl_tools.c b/src/daemon/entry/cri/sysctl_tools.c
|
|
index 847c36e9..ac4fb226 100644
|
|
--- a/src/daemon/entry/cri/sysctl_tools.c
|
|
+++ b/src/daemon/entry/cri/sysctl_tools.c
|
|
@@ -22,6 +22,8 @@
|
|
#include <unistd.h>
|
|
#include <limits.h>
|
|
|
|
+#include <isula_libutils/log.h>
|
|
+
|
|
#include "utils.h"
|
|
|
|
int get_sysctl(const char *sysctl, char **err)
|
|
@@ -41,14 +43,16 @@ int get_sysctl(const char *sysctl, char **err)
|
|
ret = -1;
|
|
fd = util_open(fullpath, O_RDONLY, 0);
|
|
if (fd < 0) {
|
|
- if (asprintf(err, "Open %s failed: %s", sysctl, strerror(errno)) < 0) {
|
|
+ SYSWARN("Open %s failed", sysctl);
|
|
+ if (asprintf(err, "Open %s failed", sysctl) < 0) {
|
|
*err = util_strdup_s("Out of memory");
|
|
}
|
|
goto free_out;
|
|
}
|
|
rsize = util_read_nointr(fd, buff, sizeof(buff) - 1);
|
|
if (rsize <= 0) {
|
|
- if (asprintf(err, "Read file failed: %s", strerror(errno)) < 0) {
|
|
+ SYSWARN("Read file: %s failed", sysctl);
|
|
+ if (asprintf(err, "Read file: %s failed", sysctl) < 0) {
|
|
*err = util_strdup_s("Out of memory");
|
|
}
|
|
goto free_out;
|
|
@@ -93,14 +97,16 @@ int set_sysctl(const char *sysctl, int new_value, char **err)
|
|
ret = -1;
|
|
fd = util_open(fullpath, O_WRONLY, 0);
|
|
if (fd < 0) {
|
|
- if (asprintf(err, "Open %s failed: %s", sysctl, strerror(errno)) < 0) {
|
|
+ SYSWARN("Open %s failed", sysctl);
|
|
+ if (asprintf(err, "Open %s failed", sysctl) < 0) {
|
|
*err = util_strdup_s("Out of memory");
|
|
}
|
|
goto free_out;
|
|
}
|
|
rsize = util_write_nointr(fd, buff, strlen(buff));
|
|
if (rsize < 0 || (size_t)rsize != strlen(buff)) {
|
|
- if (asprintf(err, "Write new value failed: %s", strerror(errno)) < 0) {
|
|
+ SYSWARN("Write new value to %s failed", sysctl);
|
|
+ if (asprintf(err, "Write new value to %s failed", sysctl) < 0) {
|
|
*err = util_strdup_s("Out of memory");
|
|
}
|
|
goto free_out;
|
|
diff --git a/src/daemon/entry/cri/v1/v1_cri_container_manager_service.cc b/src/daemon/entry/cri/v1/v1_cri_container_manager_service.cc
|
|
index ecb7ffbd..daba21e4 100644
|
|
--- a/src/daemon/entry/cri/v1/v1_cri_container_manager_service.cc
|
|
+++ b/src/daemon/entry/cri/v1/v1_cri_container_manager_service.cc
|
|
@@ -497,8 +497,8 @@ void ContainerManagerService::CreateContainerLogSymlink(const std::string &conta
|
|
WARN("Deleted previously existing symlink file: %s", path);
|
|
}
|
|
if (symlink(realPath, path) != 0) {
|
|
- error.Errorf("failed to create symbolic link %s to the container log file %s for container %s: %s", path,
|
|
- realPath, containerID.c_str(), strerror(errno));
|
|
+ SYSERROR("failed to create symbolic link %s to the container log file %s for container %s", path, realPath, containerID.c_str());
|
|
+ error.Errorf("failed to create symbolic link %s to the container log file %s for container %s", path, realPath, containerID.c_str());
|
|
goto cleanup;
|
|
}
|
|
} else {
|
|
diff --git a/src/daemon/entry/cri/v1/v1_cri_pod_sandbox_manager_service.cc b/src/daemon/entry/cri/v1/v1_cri_pod_sandbox_manager_service.cc
|
|
index d57338c8..41a02c54 100644
|
|
--- a/src/daemon/entry/cri/v1/v1_cri_pod_sandbox_manager_service.cc
|
|
+++ b/src/daemon/entry/cri/v1/v1_cri_pod_sandbox_manager_service.cc
|
|
@@ -429,7 +429,8 @@ void PodSandboxManagerService::ClearCniNetwork(const std::shared_ptr<sandbox::Sa
|
|
|
|
// umount netns when cni removed network successfully
|
|
if (remove_network_namespace(sandboxKey.c_str()) != 0) {
|
|
- error.Errorf("Failed to umount directory %s:%s", sandboxKey.c_str(), strerror(errno));
|
|
+ SYSERROR("Failed to umount directory %s", sandboxKey.c_str());
|
|
+ error.Errorf("Failed to umount directory %s", sandboxKey.c_str());
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/executor/network_cb/network_cb.c b/src/daemon/executor/network_cb/network_cb.c
|
|
index e4f9ce3f..d0f361d0 100644
|
|
--- a/src/daemon/executor/network_cb/network_cb.c
|
|
+++ b/src/daemon/executor/network_cb/network_cb.c
|
|
@@ -43,7 +43,8 @@ static inline bool network_conflist_lock(enum lock_type type)
|
|
nret = pthread_rwlock_wrlock(&g_network_rwlock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock network list failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock network list failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -56,7 +57,8 @@ static inline void network_conflist_unlock()
|
|
|
|
nret = pthread_rwlock_unlock(&g_network_rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock network list failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock network list failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/image/oci/oci_image.c b/src/daemon/modules/image/oci/oci_image.c
|
|
index 40e9a88f..4a48016b 100644
|
|
--- a/src/daemon/modules/image/oci/oci_image.c
|
|
+++ b/src/daemon/modules/image/oci/oci_image.c
|
|
@@ -59,7 +59,8 @@ static inline bool oci_remote_lock(pthread_rwlock_t *remote_lock, bool writable)
|
|
nret = pthread_rwlock_rdlock(remote_lock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -72,7 +73,8 @@ static inline void oci_remote_unlock(pthread_rwlock_t *remote_lock)
|
|
|
|
nret = pthread_rwlock_unlock(remote_lock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock memory store failed");
|
|
}
|
|
}
|
|
#endif
|
|
diff --git a/src/daemon/modules/image/oci/storage/image_store/image_store.c b/src/daemon/modules/image/oci/storage/image_store/image_store.c
|
|
index e9adab1a..55e3bb97 100644
|
|
--- a/src/daemon/modules/image/oci/storage/image_store/image_store.c
|
|
+++ b/src/daemon/modules/image/oci/storage/image_store/image_store.c
|
|
@@ -94,7 +94,8 @@ static inline bool image_store_lock(enum lock_type type)
|
|
nret = pthread_rwlock_wrlock(&g_image_store->rwlock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -107,7 +108,8 @@ static inline void image_store_unlock()
|
|
|
|
nret = pthread_rwlock_unlock(&g_image_store->rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock memory store failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
|
|
index 81e53ea7..4f19c26d 100644
|
|
--- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
|
|
+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
|
|
@@ -107,8 +107,9 @@ static int handle_dm_min_free_space(char *val, struct device_set *devset)
|
|
int ret = util_parse_percent_string(val, &converted);
|
|
|
|
if (ret != 0 || converted >= 100) {
|
|
- ERROR("Invalid min free space: '%s': %s", val, strerror(-ret));
|
|
- isulad_set_error_message("Invalid min free space: '%s': %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid min free space: '%s'", val);
|
|
+ isulad_set_error_message("Invalid min free space: '%s'", val);
|
|
return -1;
|
|
}
|
|
devset->min_free_space_percent = (uint32_t)converted;
|
|
@@ -122,8 +123,9 @@ static int handle_dm_basesize(char *val, struct device_set *devset)
|
|
int ret = util_parse_byte_size_string(val, &converted);
|
|
|
|
if (ret != 0) {
|
|
- ERROR("Invalid size: '%s': %s", val, strerror(-ret));
|
|
- isulad_set_error_message("Invalid size: '%s': %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid size: '%s'", val);
|
|
+ isulad_set_error_message("Invalid size: '%s'", val);
|
|
return -1;
|
|
}
|
|
if (converted <= 0) {
|
|
@@ -2722,7 +2724,8 @@ static int determine_driver_capabilities(const char *version, struct device_set
|
|
|
|
ret = util_parse_byte_size_string(tmp_str[0], &major);
|
|
if (ret != 0) {
|
|
- ERROR("devmapper: invalid size: '%s': %s", tmp_str[0], strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("devmapper: invalid size: '%s'", tmp_str[0]);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -2742,7 +2745,8 @@ static int determine_driver_capabilities(const char *version, struct device_set
|
|
|
|
ret = util_parse_byte_size_string(tmp_str[1], &minor);
|
|
if (ret != 0) {
|
|
- ERROR("devmapper: invalid size: '%s': %s", tmp_str[1], strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("devmapper: invalid size: '%s'", tmp_str[1]);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -2915,7 +2919,8 @@ static int parse_storage_opt(const json_map_string_string *opts, uint64_t *size)
|
|
|
|
ret = util_parse_byte_size_string(opts->values[i], &converted);
|
|
if (ret != 0) {
|
|
- ERROR("Invalid size: '%s': %s", opts->values[i], strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid size: '%s'", opts->values[i]);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/driver.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/driver.c
|
|
index b83c63b1..b1790af1 100644
|
|
--- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/driver.c
|
|
+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/driver.c
|
|
@@ -86,7 +86,8 @@ static inline bool driver_rd_lock()
|
|
|
|
nret = pthread_rwlock_rdlock(&g_graphdriver->rwlock);
|
|
if (nret != 0) {
|
|
- ERROR("Lock driver memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock driver memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -99,7 +100,8 @@ static inline bool driver_wr_lock()
|
|
|
|
nret = pthread_rwlock_wrlock(&g_graphdriver->rwlock);
|
|
if (nret != 0) {
|
|
- ERROR("Lock driver memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock driver memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -112,7 +114,8 @@ static inline void driver_unlock()
|
|
|
|
nret = pthread_rwlock_unlock(&g_graphdriver->rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock driver memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock driver memory store failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c
|
|
index b177f594..3b27076c 100644
|
|
--- a/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c
|
|
+++ b/src/daemon/modules/image/oci/storage/layer_store/graphdriver/overlay2/driver_overlay2.c
|
|
@@ -134,7 +134,8 @@ static int overlay2_parse_options(struct graphdriver *driver, const char **optio
|
|
int64_t converted = 0;
|
|
ret = util_parse_byte_size_string(val, &converted);
|
|
if (ret != 0) {
|
|
- ERROR("Invalid size: '%s': %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid size: '%s'", val);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -143,7 +144,8 @@ static int overlay2_parse_options(struct graphdriver *driver, const char **optio
|
|
int64_t converted = 0;
|
|
ret = util_parse_byte_size_string(val, &converted);
|
|
if (ret != 0) {
|
|
- ERROR("Invalid size: '%s': %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid size: '%s'", val);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -152,7 +154,8 @@ static int overlay2_parse_options(struct graphdriver *driver, const char **optio
|
|
bool converted_bool = 0;
|
|
ret = util_str_to_bool(val, &converted_bool);
|
|
if (ret != 0) {
|
|
- ERROR("Invalid bool: '%s': %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid bool: '%s'", val);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -161,7 +164,8 @@ static int overlay2_parse_options(struct graphdriver *driver, const char **optio
|
|
bool converted_bool = 0;
|
|
ret = util_str_to_bool(val, &converted_bool);
|
|
if (ret != 0) {
|
|
- ERROR("Invalid bool: '%s': %s", val, strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid bool: '%s'", val);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -830,8 +834,9 @@ static int set_layer_quota(const char *dir, const json_map_string_string *opts,
|
|
int64_t converted = 0;
|
|
ret = util_parse_byte_size_string(opts->values[i], &converted);
|
|
if (ret != 0) {
|
|
- ERROR("Invalid size: '%s': %s", opts->values[i], strerror(-ret));
|
|
- isulad_set_error_message("Invalid quota size: '%s': %s", opts->values[i], strerror(-ret));
|
|
+ errno = -ret;
|
|
+ SYSERROR("Invalid size: '%s'", opts->values[i]);
|
|
+ isulad_set_error_message("Invalid quota size: '%s'", opts->values[i]);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
diff --git a/src/daemon/modules/image/oci/storage/layer_store/layer_store.c b/src/daemon/modules/image/oci/storage/layer_store/layer_store.c
|
|
index ddf3a62c..8d8384b8 100644
|
|
--- a/src/daemon/modules/image/oci/storage/layer_store/layer_store.c
|
|
+++ b/src/daemon/modules/image/oci/storage/layer_store/layer_store.c
|
|
@@ -98,7 +98,8 @@ static inline bool layer_store_lock(bool writable)
|
|
nret = pthread_rwlock_rdlock(&g_metadata.rwlock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -111,7 +112,8 @@ static inline void layer_store_unlock()
|
|
|
|
nret = pthread_rwlock_unlock(&g_metadata.rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock memory store failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/image/oci/storage/remote_layer_support/remote_support.c b/src/daemon/modules/image/oci/storage/remote_layer_support/remote_support.c
|
|
index 400678c4..1bac8dd5 100644
|
|
--- a/src/daemon/modules/image/oci/storage/remote_layer_support/remote_support.c
|
|
+++ b/src/daemon/modules/image/oci/storage/remote_layer_support/remote_support.c
|
|
@@ -39,7 +39,8 @@ static inline bool remote_refresh_lock(pthread_rwlock_t *remote_lock, bool writa
|
|
nret = pthread_rwlock_rdlock(remote_lock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -52,7 +53,8 @@ static inline void remote_refresh_unlock(pthread_rwlock_t *remote_lock)
|
|
|
|
nret = pthread_rwlock_unlock(remote_lock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock memory store failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/image/oci/storage/rootfs_store/rootfs_store.c b/src/daemon/modules/image/oci/storage/rootfs_store/rootfs_store.c
|
|
index 1c5d2d84..ee1e15d0 100644
|
|
--- a/src/daemon/modules/image/oci/storage/rootfs_store/rootfs_store.c
|
|
+++ b/src/daemon/modules/image/oci/storage/rootfs_store/rootfs_store.c
|
|
@@ -69,7 +69,8 @@ static inline bool rootfs_store_lock(enum lock_type type)
|
|
}
|
|
|
|
if (nret != 0) {
|
|
- ERROR("Lock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -82,7 +83,8 @@ static inline void rootfs_store_unlock()
|
|
|
|
nret = pthread_rwlock_unlock(&g_rootfs_store->rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock memory store failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/image/oci/storage/storage.c b/src/daemon/modules/image/oci/storage/storage.c
|
|
index d5e79207..aa442ecf 100644
|
|
--- a/src/daemon/modules/image/oci/storage/storage.c
|
|
+++ b/src/daemon/modules/image/oci/storage/storage.c
|
|
@@ -61,7 +61,8 @@ static inline bool storage_lock(pthread_rwlock_t *store_lock, bool writable)
|
|
nret = pthread_rwlock_rdlock(store_lock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock memory store failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -74,7 +75,8 @@ static inline void storage_unlock(pthread_rwlock_t *store_lock)
|
|
|
|
nret = pthread_rwlock_unlock(store_lock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock memory store failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock memory store failed");
|
|
}
|
|
}
|
|
|
|
diff --git a/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.c b/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.c
|
|
index efdcfbc7..977f9fbb 100644
|
|
--- a/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.c
|
|
+++ b/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.c
|
|
@@ -30,14 +30,6 @@ const char * const g_INVOKE_ERR_MSGS[] = {
|
|
"Success"
|
|
};
|
|
|
|
-const char *get_invoke_err_msg(int errcode)
|
|
-{
|
|
- if (errcode > (int)INK_ERR_MIN && errcode <= (int)INK_ERR_SUCCESS) {
|
|
- return g_INVOKE_ERR_MSGS[errcode - (int)INK_ERR_MIN];
|
|
- }
|
|
- return strerror(errcode);
|
|
-}
|
|
-
|
|
const char * const g_CNI_WELL_KNOWN_ERR_MSGS[] = {
|
|
/* 0 */
|
|
"Success",
|
|
diff --git a/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.h b/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.h
|
|
index 9f63e5f5..236bc6ef 100644
|
|
--- a/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.h
|
|
+++ b/src/daemon/modules/network/cni_operator/libcni/invoke/libcni_errno.h
|
|
@@ -43,8 +43,6 @@ enum CNI_CUSTOM_ERROR {
|
|
CUSTOM_ERR_MAX, // max flag
|
|
};
|
|
|
|
-const char *get_invoke_err_msg(int errcode);
|
|
-
|
|
enum CNI_WELL_KNOW_ERROR {
|
|
CNI_ERR_UNKNOW = 0,
|
|
CNI_ERR_INCOMPATIBLE_CNI_VERSION,
|
|
diff --git a/src/daemon/modules/network/cni_operator/libcni/libcni_cached.c b/src/daemon/modules/network/cni_operator/libcni/libcni_cached.c
|
|
index 63ee6e10..17de527e 100644
|
|
--- a/src/daemon/modules/network/cni_operator/libcni/libcni_cached.c
|
|
+++ b/src/daemon/modules/network/cni_operator/libcni/libcni_cached.c
|
|
@@ -276,7 +276,8 @@ int cni_cache_delete(const char *cache_dir, const char *net_name, const struct r
|
|
}
|
|
|
|
if (!util_force_remove_file(file_path, &get_err)) {
|
|
- ERROR("Failed to delete %s, error: %s", file_path, strerror(get_err));
|
|
+ errno = get_err;
|
|
+ SYSERROR("Failed to delete %s.", file_path);
|
|
}
|
|
|
|
free(file_path);
|
|
diff --git a/src/daemon/modules/network/native/adaptor_native.c b/src/daemon/modules/network/native/adaptor_native.c
|
|
index 8bc386d1..8d403442 100644
|
|
--- a/src/daemon/modules/network/native/adaptor_native.c
|
|
+++ b/src/daemon/modules/network/native/adaptor_native.c
|
|
@@ -86,7 +86,8 @@ static inline bool native_store_lock(enum lock_type type)
|
|
nret = pthread_rwlock_wrlock(&g_store.rwlock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock network list failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock network list failed");
|
|
return false;
|
|
}
|
|
|
|
@@ -99,7 +100,8 @@ static inline void native_store_unlock()
|
|
|
|
nret = pthread_rwlock_unlock(&g_store.rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock network list failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock network list failed");
|
|
}
|
|
}
|
|
|
|
@@ -113,7 +115,8 @@ static inline void native_network_lock(enum lock_type type, native_network *netw
|
|
nret = pthread_rwlock_wrlock(&network->rwlock);
|
|
}
|
|
if (nret != 0) {
|
|
- ERROR("Lock network list failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Lock network list failed");
|
|
}
|
|
}
|
|
|
|
@@ -123,7 +126,8 @@ static inline void native_network_unlock(native_network *network)
|
|
|
|
nret = pthread_rwlock_unlock(&network->rwlock);
|
|
if (nret != 0) {
|
|
- FATAL("Unlock network list failed: %s", strerror(nret));
|
|
+ errno = nret;
|
|
+ SYSERROR("Unlock network list failed");
|
|
}
|
|
}
|
|
|
|
@@ -1944,8 +1948,9 @@ int native_config_remove(const char *name, char **res_name)
|
|
WARN("Failed to get %s file path", network->conflist->list->name);
|
|
isulad_append_error_message("Failed to get %s file path. ", network->conflist->list->name);
|
|
} else if (!util_force_remove_file(path, &get_err)) {
|
|
- WARN("Failed to delete %s, error: %s", path, strerror(get_err));
|
|
- isulad_append_error_message("Failed to delete %s, error: %s. ", path, strerror(get_err));
|
|
+ errno = get_err;
|
|
+ SYSWARN("Failed to delete %s.", path);
|
|
+ isulad_append_error_message("Failed to delete %s.", path);
|
|
}
|
|
|
|
if (!map_remove(g_store.name_to_network, (void *)network->conflist->list->name)) {
|
|
diff --git a/src/daemon/modules/plugin/plugin.c b/src/daemon/modules/plugin/plugin.c
|
|
index b4d78dc9..c42cfd21 100644
|
|
--- a/src/daemon/modules/plugin/plugin.c
|
|
+++ b/src/daemon/modules/plugin/plugin.c
|
|
@@ -409,7 +409,8 @@ static void pm_rdlock(void)
|
|
|
|
errcode = pthread_rwlock_rdlock(&g_plugin_manager->pm_rwlock);
|
|
if (errcode != 0) {
|
|
- ERROR("Read lock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Read lock failed");
|
|
}
|
|
}
|
|
|
|
@@ -419,7 +420,8 @@ static void pm_wrlock(void)
|
|
|
|
errcode = pthread_rwlock_wrlock(&g_plugin_manager->pm_rwlock);
|
|
if (errcode != 0) {
|
|
- ERROR("Write lock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Write lock failed");
|
|
}
|
|
}
|
|
|
|
@@ -429,7 +431,8 @@ static void pm_unlock(void)
|
|
|
|
errcode = pthread_rwlock_unlock(&g_plugin_manager->pm_rwlock);
|
|
if (errcode != 0) {
|
|
- ERROR("Unlock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Unlock failed");
|
|
}
|
|
}
|
|
|
|
@@ -659,7 +662,8 @@ static void *plugin_manager_routine(void *arg)
|
|
|
|
errcode = pthread_detach(pthread_self());
|
|
if (errcode != 0) {
|
|
- ERROR("Detach thread failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Detach thread failed");
|
|
return NULL;
|
|
}
|
|
if (pm_init() < 0) {
|
|
@@ -716,7 +720,8 @@ static void plugin_rdlock(plugin_t *plugin)
|
|
|
|
errcode = pthread_rwlock_rdlock(&plugin->lock);
|
|
if (errcode != 0) {
|
|
- ERROR("Plugin read lock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Plugin read lock failed");
|
|
}
|
|
}
|
|
|
|
@@ -726,7 +731,8 @@ static void plugin_wrlock(plugin_t *plugin)
|
|
|
|
errcode = pthread_rwlock_wrlock(&plugin->lock);
|
|
if (errcode != 0) {
|
|
- ERROR("Plugin write lock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Plugin write lock failed");
|
|
}
|
|
}
|
|
|
|
@@ -736,7 +742,8 @@ static void plugin_unlock(plugin_t *plugin)
|
|
|
|
errcode = pthread_rwlock_unlock(&plugin->lock);
|
|
if (errcode != 0) {
|
|
- ERROR("Plugin unlock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Plugin unlock failed");
|
|
}
|
|
}
|
|
|
|
@@ -758,7 +765,8 @@ plugin_t *plugin_new(const char *name, const char *addr)
|
|
|
|
errcode = pthread_rwlock_init(&plugin->lock, NULL);
|
|
if (errcode != 0) {
|
|
- ERROR("Plugin init lock failed: %s", strerror(errcode));
|
|
+ errno = errcode;
|
|
+ SYSERROR("Plugin init lock failed");
|
|
goto bad;
|
|
}
|
|
plugin->name = util_strdup_s(name);
|
|
diff --git a/src/daemon/modules/service/service_network.c b/src/daemon/modules/service/service_network.c
|
|
index 5502bcbd..6754cf1a 100644
|
|
--- a/src/daemon/modules/service/service_network.c
|
|
+++ b/src/daemon/modules/service/service_network.c
|
|
@@ -962,7 +962,7 @@ static int do_update_internal_file(const char *id, const char *file_path,
|
|
ret = 0;
|
|
} else {
|
|
SYSERROR("Failed to write file %s", file_path);
|
|
- isulad_set_error_message("Failed to write file %s: %s", file_path, strerror(errno));
|
|
+ isulad_set_error_message("Failed to write file %s", file_path);
|
|
ret = -1;
|
|
}
|
|
|
|
@@ -1180,7 +1180,7 @@ static int do_drop_internal_file(const char *id, const char *file_path, const de
|
|
goto out;
|
|
} else {
|
|
SYSERROR("Failed to open %s", file_path);
|
|
- isulad_set_error_message("Failed to open %s: %s", file_path, strerror(errno));
|
|
+ isulad_set_error_message("Failed to open %s", file_path);
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
@@ -1213,7 +1213,7 @@ static int do_drop_internal_file(const char *id, const char *file_path, const de
|
|
ret = util_write_file(file_path, str, strlen(str), NETWORK_MOUNT_FILE_MODE);
|
|
if (ret != 0) {
|
|
SYSERROR("Failed to write file %s", file_path);
|
|
- isulad_set_error_message("Failed to write file %s: %s", file_path, strerror(errno));
|
|
+ isulad_set_error_message("Failed to write file %s", file_path);
|
|
goto out;
|
|
}
|
|
|
|
diff --git a/src/daemon/sandbox/sandbox.cc b/src/daemon/sandbox/sandbox.cc
|
|
index d3fc7eea..1723e95e 100644
|
|
--- a/src/daemon/sandbox/sandbox.cc
|
|
+++ b/src/daemon/sandbox/sandbox.cc
|
|
@@ -817,7 +817,8 @@ auto Sandbox::SaveState(Errors &error) -> bool
|
|
|
|
nret = util_atomic_write_file(path.c_str(), stateJson.c_str(), stateJson.length(), CONFIG_FILE_MODE, false);
|
|
if (nret != 0) {
|
|
- error.Errorf("Failed to write file %s: %s", path.c_str(), strerror(errno));
|
|
+ SYSERROR("Failed to write file %s");
|
|
+ error.Errorf("Failed to write file %s", path.c_str());
|
|
return false;
|
|
}
|
|
|
|
@@ -834,7 +835,7 @@ auto Sandbox::SaveNetworkSetting(Errors &error) -> bool
|
|
false);
|
|
if (nret != 0) {
|
|
SYSERROR("Failed to write file %s", path.c_str());
|
|
- error.Errorf("Failed to write file %s: %s", path.c_str(), strerror(errno));
|
|
+ error.Errorf("Failed to write file %s", path.c_str());
|
|
return false;
|
|
}
|
|
|
|
@@ -877,7 +878,8 @@ auto Sandbox::SaveMetadata(Errors &error) -> bool
|
|
|
|
nret = util_atomic_write_file(path.c_str(), metadataJson.c_str(), metadataJson.length(), CONFIG_FILE_MODE, false);
|
|
if (nret != 0) {
|
|
- error.Errorf("Failed to write file %s: %s", path.c_str(), strerror(errno));
|
|
+ SYSERROR("Failed to write file %s", path.c_str());
|
|
+ error.Errorf("Failed to write file %s", path.c_str());
|
|
return false;
|
|
}
|
|
return true;
|
|
diff --git a/src/utils/cutils/network_namespace.c b/src/utils/cutils/network_namespace.c
|
|
index 0e225d9b..c9838104 100644
|
|
--- a/src/utils/cutils/network_namespace.c
|
|
+++ b/src/utils/cutils/network_namespace.c
|
|
@@ -231,7 +231,8 @@ int remove_network_namespace_file(const char *netns_path)
|
|
}
|
|
|
|
if (!util_force_remove_file(netns_path, &get_err)) {
|
|
- ERROR("Failed to remove file %s, error: %s", netns_path, strerror(get_err));
|
|
+ errno = get_err;
|
|
+ SYSERROR("Failed to remove file %s", netns_path);
|
|
return -1;
|
|
}
|
|
|
|
diff --git a/src/utils/cutils/utils_file.c b/src/utils/cutils/utils_file.c
|
|
index bc22ee95..1a148b0b 100644
|
|
--- a/src/utils/cutils/utils_file.c
|
|
+++ b/src/utils/cutils/utils_file.c
|
|
@@ -1061,7 +1061,9 @@ char *look_path(const char *file, char **err)
|
|
if (en == 0) {
|
|
return util_strdup_s(file);
|
|
}
|
|
- if (asprintf(err, "find exec %s : %s", file, strerror(en)) < 0) {
|
|
+ errno = en;
|
|
+ SYSERROR("find exec %s failed", file);
|
|
+ if (asprintf(err, "find exec %s failed", file) < 0) {
|
|
*err = util_strdup_s("Out of memory");
|
|
}
|
|
return NULL;
|
|
--
|
|
2.40.1
|
|
|