From 16a4b6f334e4e81615a71cf7930158fb1bee5a12 Mon Sep 17 00:00:00 2001 From: haozi007 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 --- 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 #include +#include + #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_ptrrwlock); } 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