45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
|
|
From 8516efa4fda80d99b0376db6681fb6f31326061e Mon Sep 17 00:00:00 2001
|
||
|
|
From: Evan Hunt <each@isc.org>
|
||
|
|
Date: Wed, 4 May 2022 17:27:56 -0700
|
||
|
|
Subject: [PATCH] Fix the fetches-per-server quota calculation
|
||
|
|
|
||
|
|
Since commit bad5a523c2e, when the fetches-per-server quota
|
||
|
|
was increased or decreased, instead of the value being set to
|
||
|
|
the newly calculated quota, it was set to the *minimum* of
|
||
|
|
the new quota or 1 - which effectively meant it was always set to 1.
|
||
|
|
it should instead have been the maximum, to prevent the value from
|
||
|
|
ever dropping to zero.
|
||
|
|
|
||
|
|
(cherry picked from commit 694bc50273ddc01c571dd917415d24b42ca39de8)
|
||
|
|
Conflict: NA
|
||
|
|
Reference: https://gitlab.isc.org/isc-projects/bind9/-/commit/8516efa4fda80d99b0376db6681fb6f31326061e
|
||
|
|
---
|
||
|
|
lib/dns/adb.c | 4 ++--
|
||
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/lib/dns/adb.c b/lib/dns/adb.c
|
||
|
|
index d5ef99bb61..f86e5125e5 100644
|
||
|
|
--- a/lib/dns/adb.c
|
||
|
|
+++ b/lib/dns/adb.c
|
||
|
|
@@ -4324,7 +4324,7 @@ maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, bool timeout) {
|
||
|
|
uint_fast32_t new_quota =
|
||
|
|
adb->quota * quota_adj[--addr->entry->mode] / 10000;
|
||
|
|
atomic_store_release(&addr->entry->quota,
|
||
|
|
- ISC_MIN(1, new_quota));
|
||
|
|
+ ISC_MAX(1, new_quota));
|
||
|
|
log_quota(addr->entry,
|
||
|
|
"atr %0.2f, quota increased to %" PRIuFAST32,
|
||
|
|
addr->entry->atr, new_quota);
|
||
|
|
@@ -4334,7 +4334,7 @@ maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, bool timeout) {
|
||
|
|
uint_fast32_t new_quota =
|
||
|
|
adb->quota * quota_adj[++addr->entry->mode] / 10000;
|
||
|
|
atomic_store_release(&addr->entry->quota,
|
||
|
|
- ISC_MIN(1, new_quota));
|
||
|
|
+ ISC_MAX(1, new_quota));
|
||
|
|
log_quota(addr->entry,
|
||
|
|
"atr %0.2f, quota decreased to %" PRIuFAST32,
|
||
|
|
addr->entry->atr, new_quota);
|
||
|
|
--
|
||
|
|
2.23.0
|
||
|
|
|