mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Don't skip the counting if fcount_incr() is called with force==true
The fcount_incr() was incorrectly skipping the accounting for the
fetches-per-zone if the force argument was set to true. We want to skip
the accounting only when the fetches-per-zone is completely disabled,
but for individual names we need to do the accounting even if we are
forcing the result to be success.
(cherry picked from commit a513d4c07f)
This commit is contained in:
parent
46caf5f4a4
commit
6df4fa58fd
1 changed files with 3 additions and 2 deletions
|
|
@ -1439,8 +1439,9 @@ fcount_incr(fetchctx_t *fctx, bool force) {
|
|||
REQUIRE(res != NULL);
|
||||
INSIST(fctx->counter == NULL);
|
||||
|
||||
/* Skip any counting if fetches-per-zone is disabled */
|
||||
spill = atomic_load_acquire(&res->zspill);
|
||||
if (force || spill == 0) {
|
||||
if (spill == 0) {
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
|
|
@ -1486,7 +1487,7 @@ fcount_incr(fetchctx_t *fctx, bool force) {
|
|||
|
||||
INSIST(spill > 0);
|
||||
LOCK(&counter->lock);
|
||||
if (++counter->count > spill) {
|
||||
if (!force && ++counter->count > spill) {
|
||||
counter->count--;
|
||||
INSIST(counter->count > 0);
|
||||
counter->dropped++;
|
||||
|
|
|
|||
Loading…
Reference in a new issue