diff --git a/bin/delv/delv.c b/bin/delv/delv.c index 6ae6af9183..d33facdec5 100644 --- a/bin/delv/delv.c +++ b/bin/delv/delv.c @@ -2167,11 +2167,11 @@ run_server(void *arg) { CHECK(dns_view_createresolver(view, loopmgr, 1, netmgr, 0, tlsctx_client_cache, dispatch, NULL)); - CHECK(isc_stats_create(mctx, &resstats, dns_resstatscounter_max)); + isc_stats_create(mctx, &resstats, dns_resstatscounter_max); dns_resolver_setstats(view->resolver, resstats); isc_stats_detach(&resstats); - CHECK(dns_rdatatypestats_create(mctx, &resquerystats)); + dns_rdatatypestats_create(mctx, &resquerystats); dns_resolver_setquerystats(view->resolver, resquerystats); dns_stats_detach(&resquerystats); diff --git a/bin/named/server.c b/bin/named/server.c index c0a5cf5922..3c63b4d843 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -1791,27 +1791,20 @@ cleanup: return (result); } -static isc_result_t +static void setquerystats(dns_zone_t *zone, isc_mem_t *mctx, dns_zonestat_level_t level) { - isc_result_t result; isc_stats_t *zoneqrystats; dns_zone_setstatlevel(zone, level); zoneqrystats = NULL; if (level == dns_zonestat_full) { - result = isc_stats_create(mctx, &zoneqrystats, - ns_statscounter_max); - if (result != ISC_R_SUCCESS) { - return (result); - } + isc_stats_create(mctx, &zoneqrystats, ns_statscounter_max); } dns_zone_setrequeststats(zone, zoneqrystats); if (zoneqrystats != NULL) { isc_stats_detach(&zoneqrystats); } - - return (ISC_R_SUCCESS); } static named_cache_t * @@ -1963,7 +1956,7 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na, dns_zone_setcheckdstype(zone, dns_checkdstype_no); dns_zone_setnotifytype(zone, dns_notifytype_no); dns_zone_setoption(zone, DNS_ZONEOPT_NOCHECKNS, true); - CHECK(setquerystats(zone, mctx, dns_zonestat_none)); /* XXXMPA */ + setquerystats(zone, mctx, dns_zonestat_none); CHECK(dns_view_addzone(view, zone)); isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, ISC_LOG_INFO, @@ -3548,7 +3541,7 @@ create_empty_zone(dns_zone_t *pzone, dns_name_t *name, dns_view_t *view, dns_zone_clearxfracl(zone); } - CHECK(setquerystats(zone, view->mctx, statlevel)); + setquerystats(zone, view->mctx, statlevel); if (db != NULL) { dns_db_closeversion(db, &version, true); CHECK(dns_zone_replacedb(zone, db, false)); @@ -4711,12 +4704,11 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, named_g_server->tlsctx_client_cache, dispatch4, dispatch6)); if (resstats == NULL) { - CHECK(isc_stats_create(mctx, &resstats, - dns_resstatscounter_max)); + isc_stats_create(mctx, &resstats, dns_resstatscounter_max); } dns_resolver_setstats(view->resolver, resstats); if (resquerystats == NULL) { - CHECK(dns_rdatatypestats_create(mctx, &resquerystats)); + dns_rdatatypestats_create(mctx, &resquerystats); } dns_resolver_setquerystats(view->resolver, resquerystats); @@ -6931,7 +6923,7 @@ add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) { dns_zone_setjournalsize(zone, 0); dns_zone_setstats(zone, named_g_server->zonestats); - CHECK(setquerystats(zone, mctx, dns_zonestat_none)); + setquerystats(zone, mctx, dns_zonestat_none); if (view->managed_keys != NULL) { dns_zone_detach(&view->managed_keys); @@ -10170,18 +10162,15 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) { server->sighup = isc_signal_new( named_g_loopmgr, named_server_reloadwanted, server, SIGHUP); - CHECKFATAL(isc_stats_create(server->mctx, &server->sockstats, - isc_sockstatscounter_max), - "isc_stats_create"); + isc_stats_create(server->mctx, &server->sockstats, + isc_sockstatscounter_max); isc_nm_setstats(named_g_netmgr, server->sockstats); - CHECKFATAL(isc_stats_create(named_g_mctx, &server->zonestats, - dns_zonestatscounter_max), - "dns_stats_create (zone)"); + isc_stats_create(named_g_mctx, &server->zonestats, + dns_zonestatscounter_max); - CHECKFATAL(isc_stats_create(named_g_mctx, &server->resolverstats, - dns_resstatscounter_max), - "dns_stats_create (resolver)"); + isc_stats_create(named_g_mctx, &server->resolverstats, + dns_resstatscounter_max); CHECKFATAL(named_controls_create(server, &server->controls), "named_controls_create"); diff --git a/bin/named/zoneconf.c b/bin/named/zoneconf.c index c12693517f..358f114ebd 100644 --- a/bin/named/zoneconf.c +++ b/bin/named/zoneconf.c @@ -1174,10 +1174,9 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, rcvquerystats = NULL; dnssecsignstats = NULL; if (statlevel == dns_zonestat_full) { - CHECK(isc_stats_create(mctx, &zoneqrystats, - ns_statscounter_max)); - CHECK(dns_rdatatypestats_create(mctx, &rcvquerystats)); - CHECK(dns_dnssecsignstats_create(mctx, &dnssecsignstats)); + isc_stats_create(mctx, &zoneqrystats, ns_statscounter_max); + dns_rdatatypestats_create(mctx, &rcvquerystats); + dns_dnssecsignstats_create(mctx, &dnssecsignstats); } dns_zone_setrequeststats(zone, zoneqrystats); dns_zone_setrcvquerystats(zone, rcvquerystats); diff --git a/lib/dns/adb.c b/lib/dns/adb.c index 70bf9ef037..d339bcafd1 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -1939,7 +1939,7 @@ destroy(dns_adb_t *adb) { RWUNLOCK(&adb->entries_lock, isc_rwlocktype_write); isc_rwlock_destroy(&adb->entries_lock); - isc_mem_destroy(&adb->hmctx); + isc_mem_detach(&adb->hmctx); isc_mutex_destroy(&adb->lock); isc_refcount_destroy(&adb->references); @@ -1964,7 +1964,6 @@ isc_result_t dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_loopmgr_t *loopmgr, dns_adb_t **newadb) { dns_adb_t *adb = NULL; - isc_result_t result; REQUIRE(mem != NULL); REQUIRE(view != NULL); @@ -2003,10 +2002,7 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_loopmgr_t *loopmgr, isc_mutex_init(&adb->lock); - result = isc_stats_create(adb->mctx, &adb->stats, dns_adbstats_max); - if (result != ISC_R_SUCCESS) { - goto free_lock; - } + isc_stats_create(adb->mctx, &adb->stats, dns_adbstats_max); set_adbstat(adb, 0, dns_adbstats_nnames); set_adbstat(adb, 0, dns_adbstats_nentries); @@ -2017,25 +2013,6 @@ dns_adb_create(isc_mem_t *mem, dns_view_t *view, isc_loopmgr_t *loopmgr, adb->magic = DNS_ADB_MAGIC; *newadb = adb; return (ISC_R_SUCCESS); - -free_lock: - isc_mutex_destroy(&adb->lock); - - isc_rwlock_destroy(&adb->entries_lock); - isc_hashmap_destroy(&adb->entries); - INSIST(ISC_LIST_EMPTY(adb->entries_lru)); - - isc_rwlock_destroy(&adb->names_lock); - isc_hashmap_destroy(&adb->names); - INSIST(ISC_LIST_EMPTY(adb->names_lru)); - - isc_mem_destroy(&adb->hmctx); - - dns_resolver_detach(&adb->res); - dns_view_weakdetach(&adb->view); - isc_mem_putanddetach(&adb->mctx, adb, sizeof(dns_adb_t)); - - return (result); } void diff --git a/lib/dns/cache.c b/lib/dns/cache.c index 6771de574c..10fc1ae6bf 100644 --- a/lib/dns/cache.c +++ b/lib/dns/cache.c @@ -142,11 +142,7 @@ dns_cache_create(isc_loopmgr_t *loopmgr, dns_rdataclass_t rdclass, isc_refcount_init(&cache->references, 1); - result = isc_stats_create(mctx, &cache->stats, - dns_cachestatscounter_max); - if (result != ISC_R_SUCCESS) { - goto cleanup_lock; - } + isc_stats_create(mctx, &cache->stats, dns_cachestatscounter_max); /* * Create the database @@ -175,7 +171,6 @@ cleanup_db: dns_db_detach(&cache->db); cleanup_stats: isc_stats_detach(&cache->stats); -cleanup_lock: isc_mutex_destroy(&cache->lock); isc_mem_free(mctx, cache->name); isc_mem_detach(&cache->hmctx); diff --git a/lib/dns/dnstap.c b/lib/dns/dnstap.c index e2fcc9ef97..75dbee18e9 100644 --- a/lib/dns/dnstap.c +++ b/lib/dns/dnstap.c @@ -168,7 +168,7 @@ dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const char *path, isc_mutex_init(&env->reopen_lock); env->path = isc_mem_strdup(env->mctx, path); isc_refcount_init(&env->refcount, 1); - CHECK(isc_stats_create(env->mctx, &env->stats, dns_dnstapcounter_max)); + isc_stats_create(env->mctx, &env->stats, dns_dnstapcounter_max); fwopt = fstrm_writer_options_init(); if (fwopt == NULL) { diff --git a/lib/dns/include/dns/stats.h b/lib/dns/include/dns/stats.h index 7a9f7143e2..ffa7e21ae1 100644 --- a/lib/dns/include/dns/stats.h +++ b/lib/dns/include/dns/stats.h @@ -258,7 +258,7 @@ typedef void (*dns_rcodestats_dumper_t)(dns_rcode_t, uint64_t, void *); ISC_LANG_BEGINDECLS -isc_result_t +void dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters); /*%< * Create a statistics counter structure of general type. It counts a general @@ -270,14 +270,9 @@ dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ -isc_result_t +void dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp); /*%< * Create a statistics counter structure per rdatatype. @@ -286,14 +281,9 @@ dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ -isc_result_t +void dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp); /*%< * Create a statistics counter structure per RRset. @@ -302,14 +292,9 @@ dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ -isc_result_t +void dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp); /*%< * Create a statistics counter structure per opcode. @@ -318,14 +303,9 @@ dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ -isc_result_t +void dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp); /*%< * Create a statistics counter structure per assigned rcode. @@ -334,14 +314,9 @@ dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ -isc_result_t +void dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp); /*%< * Create a statistics counter structure per assigned DNSKEY id. @@ -350,11 +325,6 @@ dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ void diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index 674d0b5771..e3c0cae695 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -3800,10 +3800,7 @@ dns__rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, sizeof(rbtdb_nodelock_t)); if (IS_CACHE(rbtdb)) { - result = dns_rdatasetstats_create(mctx, &rbtdb->rrsetstats); - if (result != ISC_R_SUCCESS) { - goto cleanup_node_locks; - } + dns_rdatasetstats_create(mctx, &rbtdb->rrsetstats); rbtdb->lru = isc_mem_get(mctx, rbtdb->node_lock_count * sizeof(dns_slabheaderlist_t)); @@ -3955,10 +3952,6 @@ dns__rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, return (ISC_R_SUCCESS); -cleanup_node_locks: - isc_mem_put(mctx, rbtdb->node_locks, - rbtdb->node_lock_count * sizeof(rbtdb_nodelock_t)); - cleanup_tree_lock: TREE_DESTROYLOCK(&rbtdb->tree_lock); RBTDB_DESTROYLOCK(&rbtdb->lock); diff --git a/lib/dns/stats.c b/lib/dns/stats.c index 4a8eb32f24..1833c79f70 100644 --- a/lib/dns/stats.c +++ b/lib/dns/stats.c @@ -164,44 +164,31 @@ dns_stats_detach(dns_stats_t **statsp) { /*% * Create methods */ -static isc_result_t +static void create_stats(isc_mem_t *mctx, dns_statstype_t type, int ncounters, dns_stats_t **statsp) { - dns_stats_t *stats; - isc_result_t result; - - stats = isc_mem_get(mctx, sizeof(*stats)); + dns_stats_t *stats = isc_mem_get(mctx, sizeof(*stats)); stats->counters = NULL; isc_refcount_init(&stats->references, 1); - result = isc_stats_create(mctx, &stats->counters, ncounters); - if (result != ISC_R_SUCCESS) { - goto clean_mutex; - } + isc_stats_create(mctx, &stats->counters, ncounters); stats->magic = DNS_STATS_MAGIC; stats->type = type; stats->mctx = NULL; isc_mem_attach(mctx, &stats->mctx); *statsp = stats; - - return (ISC_R_SUCCESS); - -clean_mutex: - isc_mem_put(mctx, stats, sizeof(*stats)); - - return (result); } -isc_result_t +void dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp, int ncounters) { REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, dns_statstype_general, ncounters, statsp)); + create_stats(mctx, dns_statstype_general, ncounters, statsp); } -isc_result_t +void dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { REQUIRE(statsp != NULL && *statsp == NULL); @@ -209,34 +196,34 @@ dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { * Create rdtype statistics for the first 255 RRtypes, * plus one additional for other RRtypes. */ - return (create_stats(mctx, dns_statstype_rdtype, - (RDTYPECOUNTER_MAXTYPE + 1), statsp)); + create_stats(mctx, dns_statstype_rdtype, (RDTYPECOUNTER_MAXTYPE + 1), + statsp); } -isc_result_t +void dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp) { REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, dns_statstype_rdataset, - (RDTYPECOUNTER_MAXVAL + 1), statsp)); + create_stats(mctx, dns_statstype_rdataset, (RDTYPECOUNTER_MAXVAL + 1), + statsp); } -isc_result_t +void dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, dns_statstype_opcode, 16, statsp)); + create_stats(mctx, dns_statstype_opcode, 16, statsp); } -isc_result_t +void dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp) { REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, dns_statstype_rcode, dns_rcode_badcookie + 1, - statsp)); + create_stats(mctx, dns_statstype_rcode, dns_rcode_badcookie + 1, + statsp); } -isc_result_t +void dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp) { REQUIRE(statsp != NULL && *statsp == NULL); @@ -244,9 +231,8 @@ dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp) { * Create two counters per key, one is the key id, the other two are * the actual counters for creating and refreshing signatures. */ - return (create_stats(mctx, dns_statstype_dnssec, - dnssecsign_num_keys * dnssecsign_block_size, - statsp)); + create_stats(mctx, dns_statstype_dnssec, + dnssecsign_num_keys * dnssecsign_block_size, statsp); } /*% diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 8487d367d8..8dd5d66118 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -1082,7 +1082,6 @@ inc_stats(dns_zone_t *zone, isc_statscounter_t counter) { isc_result_t dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, unsigned int tid) { - isc_result_t result; isc_time_t now; dns_zone_t *zone = NULL; @@ -1157,11 +1156,8 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, unsigned int tid) { zone->notify = r; zone->defaultkasp = NULL; - result = isc_stats_create(mctx, &zone->gluecachestats, - dns_gluecachestatscounter_max); - if (result != ISC_R_SUCCESS) { - goto free_refs; - } + isc_stats_create(mctx, &zone->gluecachestats, + dns_gluecachestatscounter_max); zone->magic = ZONE_MAGIC; @@ -1170,15 +1166,6 @@ dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, unsigned int tid) { *zonep = zone; return (ISC_R_SUCCESS); - -free_refs: - isc_refcount_decrement0(&zone->references); - isc_refcount_destroy(&zone->references); - isc_refcount_destroy(&zone->irefs); - ZONEDB_DESTROYLOCK(&zone->dblock); - isc_mutex_destroy(&zone->lock); - isc_mem_putanddetach(&zone->mctx, zone, sizeof(*zone)); - return (result); } static void diff --git a/lib/isc/include/isc/stats.h b/lib/isc/include/isc/stats.h index 5bed7d5285..37d65e5f92 100644 --- a/lib/isc/include/isc/stats.h +++ b/lib/isc/include/isc/stats.h @@ -115,7 +115,7 @@ ISC_LANG_BEGINDECLS */ typedef void (*isc_stats_dumper_t)(isc_statscounter_t, uint64_t, void *); -isc_result_t +void isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters); /*%< * Create a statistics counter structure of general type. It counts a general @@ -125,11 +125,6 @@ isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters); *\li 'mctx' must be a valid memory context. * *\li 'statsp' != NULL && '*statsp' == NULL. - * - * Returns: - *\li ISC_R_SUCCESS -- all ok - * - *\li anything else -- failure */ void diff --git a/lib/isc/stats.c b/lib/isc/stats.c index f178914c8d..a4b8ce1855 100644 --- a/lib/isc/stats.c +++ b/lib/isc/stats.c @@ -37,29 +37,6 @@ struct isc_stats { isc__atomic_statcounter_t *counters; }; -static isc_result_t -create_stats(isc_mem_t *mctx, int ncounters, isc_stats_t **statsp) { - isc_stats_t *stats; - size_t counters_alloc_size; - - REQUIRE(statsp != NULL && *statsp == NULL); - - stats = isc_mem_get(mctx, sizeof(*stats)); - counters_alloc_size = sizeof(isc__atomic_statcounter_t) * ncounters; - stats->counters = isc_mem_get(mctx, counters_alloc_size); - isc_refcount_init(&stats->references, 1); - for (int i = 0; i < ncounters; i++) { - atomic_init(&stats->counters[i], 0); - } - stats->mctx = NULL; - isc_mem_attach(mctx, &stats->mctx); - stats->ncounters = ncounters; - stats->magic = ISC_STATS_MAGIC; - *statsp = stats; - - return (ISC_R_SUCCESS); -} - void isc_stats_attach(isc_stats_t *stats, isc_stats_t **statsp) { REQUIRE(ISC_STATS_VALID(stats)); @@ -94,11 +71,23 @@ isc_stats_ncounters(isc_stats_t *stats) { return (stats->ncounters); } -isc_result_t +void isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters) { REQUIRE(statsp != NULL && *statsp == NULL); - return (create_stats(mctx, ncounters, statsp)); + isc_stats_t *stats = isc_mem_get(mctx, sizeof(*stats)); + size_t counters_alloc_size = sizeof(isc__atomic_statcounter_t) * + ncounters; + stats->counters = isc_mem_get(mctx, counters_alloc_size); + isc_refcount_init(&stats->references, 1); + for (int i = 0; i < ncounters; i++) { + atomic_init(&stats->counters[i], 0); + } + stats->mctx = NULL; + isc_mem_attach(mctx, &stats->mctx); + stats->ncounters = ncounters; + stats->magic = ISC_STATS_MAGIC; + *statsp = stats; } void diff --git a/lib/ns/include/ns/stats.h b/lib/ns/include/ns/stats.h index c235384f48..d7e79443cf 100644 --- a/lib/ns/include/ns/stats.h +++ b/lib/ns/include/ns/stats.h @@ -15,6 +15,9 @@ /*! \file include/ns/stats.h */ +#include +#include + #include /*% @@ -118,7 +121,7 @@ ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp); void ns_stats_detach(ns_stats_t **statsp); -isc_result_t +void ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp); void diff --git a/lib/ns/server.c b/lib/ns/server.c index f8f8a82c0e..8ef6254468 100644 --- a/lib/ns/server.c +++ b/lib/ns/server.c @@ -39,7 +39,6 @@ isc_result_t ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview, ns_server_t **sctxp) { ns_server_t *sctx; - isc_result_t result; REQUIRE(sctxp != NULL && *sctxp == NULL); @@ -65,13 +64,13 @@ ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview, ISC_LIST_INIT(sctx->http_quotas); isc_mutex_init(&sctx->http_quotas_lock); - CHECKFATAL(ns_stats_create(mctx, ns_statscounter_max, &sctx->nsstats)); + ns_stats_create(mctx, ns_statscounter_max, &sctx->nsstats); - CHECKFATAL(dns_rdatatypestats_create(mctx, &sctx->rcvquerystats)); + dns_rdatatypestats_create(mctx, &sctx->rcvquerystats); - CHECKFATAL(dns_opcodestats_create(mctx, &sctx->opcodestats)); + dns_opcodestats_create(mctx, &sctx->opcodestats); - CHECKFATAL(dns_rcodestats_create(mctx, &sctx->rcodestats)); + dns_rcodestats_create(mctx, &sctx->rcodestats); isc_histomulti_create(mctx, DNS_SIZEHISTO_SIGBITSIN, &sctx->udpinstats4); diff --git a/lib/ns/stats.c b/lib/ns/stats.c index de5b083b57..84dd0ab029 100644 --- a/lib/ns/stats.c +++ b/lib/ns/stats.c @@ -58,34 +58,21 @@ ns_stats_detach(ns_stats_t **statsp) { } } -isc_result_t +void ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp) { - ns_stats_t *stats; - isc_result_t result; - REQUIRE(statsp != NULL && *statsp == NULL); - stats = isc_mem_get(mctx, sizeof(*stats)); + ns_stats_t *stats = isc_mem_get(mctx, sizeof(*stats)); stats->counters = NULL; isc_refcount_init(&stats->references, 1); - result = isc_stats_create(mctx, &stats->counters, ncounters); - if (result != ISC_R_SUCCESS) { - goto clean_mem; - } + isc_stats_create(mctx, &stats->counters, ncounters); stats->magic = NS_STATS_MAGIC; stats->mctx = NULL; isc_mem_attach(mctx, &stats->mctx); *statsp = stats; - - return (ISC_R_SUCCESS); - -clean_mem: - isc_mem_put(mctx, stats, sizeof(*stats)); - - return (result); } /*% diff --git a/tests/dns/rdatasetstats_test.c b/tests/dns/rdatasetstats_test.c index 9bfe6a05c2..8cfbebcc9a 100644 --- a/tests/dns/rdatasetstats_test.c +++ b/tests/dns/rdatasetstats_test.c @@ -188,16 +188,12 @@ verify_ancient_counters(dns_rdatastatstype_t which, uint64_t value, void *arg) { * active -> stale -> ancient. */ static void -rdatasetstats(void **state, bool servestale) { +rdatasetstats(void **state ISC_ATTR_UNUSED, bool servestale) { unsigned int i; unsigned int from = 0; dns_stats_t *stats = NULL; - isc_result_t result; - UNUSED(state); - - result = dns_rdatasetstats_create(mctx, &stats); - assert_int_equal(result, ISC_R_SUCCESS); + dns_rdatasetstats_create(mctx, &stats); /* First 255 types. */ for (i = 1; i <= 255; i++) { diff --git a/tests/isc/stats_test.c b/tests/isc/stats_test.c index a4753236e5..4bc541f33c 100644 --- a/tests/isc/stats_test.c +++ b/tests/isc/stats_test.c @@ -32,12 +32,8 @@ /* test stats */ ISC_RUN_TEST_IMPL(isc_stats_basic) { isc_stats_t *stats = NULL; - isc_result_t result; - UNUSED(state); - - result = isc_stats_create(mctx, &stats, 4); - assert_int_equal(result, ISC_R_SUCCESS); + isc_stats_create(mctx, &stats, 4); assert_int_equal(isc_stats_ncounters(stats), 4); /* Default all 0. */