systemd/backport-sysctl-use-ordered_hashmap_ensure_put.patch
zhangyao 63e96e76b3 sysctl: improve performance for applying glob pattern
(cherry picked from commit 691299304a7430f5259f934f97434e0ac1cdec93)
2025-02-17 14:09:57 +08:00

36 lines
1.4 KiB
Diff

From 350ffa9749f2ce5d62e4b66cc7418e25e6829963 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Wed, 17 Aug 2022 14:29:26 +0900
Subject: [PATCH] sysctl: use ordered_hashmap_ensure_put()
---
src/sysctl/sysctl.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
index de0e03ec9..dda112f45 100644
--- a/src/sysctl/sysctl.c
+++ b/src/sysctl/sysctl.c
@@ -254,9 +254,6 @@ static int parse_file(OrderedHashmap **sysctl_options, const char *path, bool ig
!test_prefix(p))
continue;
- if (ordered_hashmap_ensure_allocated(sysctl_options, &option_hash_ops) < 0)
- return log_oom();
-
existing = ordered_hashmap_get(*sysctl_options, p);
if (existing) {
if (streq_ptr(value, existing->value)) {
@@ -272,7 +269,7 @@ static int parse_file(OrderedHashmap **sysctl_options, const char *path, bool ig
if (!new_option)
return log_oom();
- k = ordered_hashmap_put(*sysctl_options, new_option->key, new_option);
+ k = ordered_hashmap_ensure_put(sysctl_options, &option_hash_ops, new_option->key, new_option);
if (k < 0)
return log_error_errno(k, "Failed to add sysctl variable %s to hashmap: %m", p);
--
2.33.0