Cleanup: always count ns_statscounter_recursclients

The ns_statscounter_recursclients counter was previously only
incremented or decremented if client->recursionquota was non-NULL.
This was harmless, because that value should always be non-NULL if
recursion is enabled, but it made the code slightly confusing.

(cherry picked from commit 0201eab655)
This commit is contained in:
Evan Hunt 2022-05-05 14:57:16 -07:00
parent fa8b33ce56
commit 60e25826c6

View file

@ -2530,10 +2530,11 @@ prefetch_done(isc_task_t *task, isc_event_t *event) {
*/
if (client->recursionquota != NULL) {
isc_quota_detach(&client->recursionquota);
ns_stats_decrement(client->sctx->nsstats,
ns_statscounter_recursclients);
}
ns_stats_decrement(client->sctx->nsstats,
ns_statscounter_recursclients);
free_devent(client, &event, &devent);
isc_nmhandle_detach(&client->prefetchhandle);
}
@ -2561,8 +2562,6 @@ query_prefetch(ns_client_t *client, dns_name_t *qname,
&client->recursionquota);
switch (result) {
case ISC_R_SUCCESS:
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
break;
case ISC_R_SOFTQUOTA:
isc_quota_detach(&client->recursionquota);
@ -2572,6 +2571,9 @@ query_prefetch(ns_client_t *client, dns_name_t *qname,
}
}
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
tmprdataset = ns_client_newrdataset(client);
if (tmprdataset == NULL) {
return;
@ -2778,8 +2780,6 @@ query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t type) {
&client->recursionquota);
switch (result) {
case ISC_R_SUCCESS:
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
break;
case ISC_R_SOFTQUOTA:
isc_quota_detach(&client->recursionquota);
@ -2789,6 +2789,9 @@ query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t type) {
}
}
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
tmprdataset = ns_client_newrdataset(client);
if (tmprdataset == NULL) {
return;
@ -6249,10 +6252,11 @@ fetch_callback(isc_task_t *task, isc_event_t *event) {
if (client->recursionquota != NULL) {
isc_quota_detach(&client->recursionquota);
ns_stats_decrement(client->sctx->nsstats,
ns_statscounter_recursclients);
}
ns_stats_decrement(client->sctx->nsstats,
ns_statscounter_recursclients);
LOCK(&client->manager->reclock);
if (ISC_LINK_LINKED(client, rlink)) {
ISC_LIST_UNLINK(client->manager->recursing, client, rlink);
@ -6386,11 +6390,6 @@ check_recursionquota(ns_client_t *client) {
if (client->recursionquota == NULL) {
result = isc_quota_attach(&client->sctx->recursionquota,
&client->recursionquota);
if (result == ISC_R_SUCCESS || result == ISC_R_SOFTQUOTA) {
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
}
if (result == ISC_R_SOFTQUOTA) {
isc_stdtime_t now;
isc_stdtime_get(&now);
@ -6473,6 +6472,9 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
return (result);
}
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
/*
* Invoke the resolver.
*/
@ -6763,10 +6765,11 @@ query_hookresume(isc_task_t *task, isc_event_t *event) {
if (client->recursionquota != NULL) {
isc_quota_detach(&client->recursionquota);
ns_stats_decrement(client->sctx->nsstats,
ns_statscounter_recursclients);
}
ns_stats_decrement(client->sctx->nsstats,
ns_statscounter_recursclients);
LOCK(&client->manager->reclock);
if (ISC_LINK_LINKED(client, rlink)) {
ISC_LIST_UNLINK(client->manager->recursing, client, rlink);
@ -6902,6 +6905,9 @@ ns_query_hookasync(query_ctx_t *qctx, ns_query_starthookasync_t runasync,
goto cleanup;
}
ns_stats_increment(client->sctx->nsstats,
ns_statscounter_recursclients);
saved_qctx = isc_mem_get(client->mctx, sizeof(*saved_qctx));
qctx_save(qctx, saved_qctx);
result = runasync(saved_qctx, client->mctx, arg, client->task,