ipset-7.11-7.el9

- Fix for bad performance restoring large sets which are in use

Resolves: rhbz#2043008
This commit is contained in:
Phil Sutter 2022-01-31 16:47:07 +01:00
parent ab9d7d6766
commit 54a680f4c5
2 changed files with 11 additions and 2 deletions

View File

@ -3,7 +3,7 @@
Name: ipset Name: ipset
Version: 7.11 Version: 7.11
Release: 6%{?dist} Release: 7%{?dist}
Summary: Manage Linux IP sets Summary: Manage Linux IP sets
License: GPLv2 License: GPLv2
@ -170,6 +170,9 @@ fi
%changelog %changelog
* Mon Jan 31 2022 Phil Sutter <psutter@redhat.com> - 7.11-7
- Fix for bad performance restoring large sets which are in use
* Mon Nov 08 2021 Phil Sutter <psutter@redhat.com> - 7.11-6 * Mon Nov 08 2021 Phil Sutter <psutter@redhat.com> - 7.11-6
- Sync ipset.service with RHEL8, fix the required package name - Sync ipset.service with RHEL8, fix the required package name

View File

@ -257,7 +257,13 @@ load() {
CLEAN_FILES="${CLEAN_FILES} ${mangled}" CLEAN_FILES="${CLEAN_FILES} ${mangled}"
chmod 600 "${mangled}" chmod 600 "${mangled}"
awk '/^(add|create) ('"${conflicts}"')/ { printf "%s ",$1; system("echo '${salt}'" $2 " | md5sum | head -c31"); $1=""; $2=""; print; next} {print}' "${merged}" > "${mangled}" cat "${merged}" > "${mangled}"
IFS='|'
for set in ${conflicts}; do
new_name=$(echo "${salt}${set}" | md5sum | head -c31)
echo "s/^(add|create) $set /\1 $new_name /"
done | sed -i -r -f - "${mangled}"
unset IFS
if ! ipset_restore "${mangled}"; then if ! ipset_restore "${mangled}"; then
err "Failed to restore configured sets" err "Failed to restore configured sets"
exit 1 exit 1