]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Refactor isc_stats_create() and its downstream users to return void
authorOndřej Surý <ondrej@isc.org>
Mon, 26 Jun 2023 08:58:30 +0000 (10:58 +0200)
committerOndřej Surý <ondrej@isc.org>
Thu, 27 Jul 2023 09:37:44 +0000 (11:37 +0200)
The isc_stats_create() can no longer return anything else than
ISC_R_SUCCESS.  Refactor isc_stats_create() and its variants in libdns,
libns and named to just return void.

17 files changed:
bin/delv/delv.c
bin/named/server.c
bin/named/zoneconf.c
lib/dns/adb.c
lib/dns/cache.c
lib/dns/dnstap.c
lib/dns/include/dns/stats.h
lib/dns/rbtdb.c
lib/dns/stats.c
lib/dns/zone.c
lib/isc/include/isc/stats.h
lib/isc/stats.c
lib/ns/include/ns/stats.h
lib/ns/server.c
lib/ns/stats.c
tests/dns/rdatasetstats_test.c
tests/isc/stats_test.c

index 6ae6af9183149278a58e739707e7107d6765af1d..d33facdec5067c7af39a23ff203ead32f581db3b 100644 (file)
@@ -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);
 
index c0a5cf59228ebf7c5f6f9ca0c8488d70d975785e..3c63b4d843ac803e990a1ba55c5e1d633024b5cd 100644 (file)
@@ -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");
index c12693517f7baaa9a92b12fc9c9d334a7f1c6025..358f114ebd045bba927af0d6078095491c98501d 100644 (file)
@@ -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);
index 70bf9ef03788015f00f447f160677f97a55cce60..d339bcafd1a455c8a84cf77e698ddf79fe71db0f 100644 (file)
@@ -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
index 6771de574cee5694b0ef030f7f547e04118fac41..10fc1ae6bf1fb73be93282af20fb20de0b8b385c 100644 (file)
@@ -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);
index e2fcc9ef97ee9f596b0043817751304bf0a85307..75dbee18e93a69473d1d7890609f78cf9a600658 100644 (file)
@@ -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) {
index 7a9f7143e2ef19797d295c14862c5d91e86d9eb0..ffa7e21ae1e252aacd3c65974bf93410a16692a0 100644 (file)
@@ -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
index 674d0b57710d41dd8c942048dfb5acdf74ff85c5..e3c0cae69539987e88719aae04f411d495c9af7c 100644 (file)
@@ -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);
index 4a8eb32f2463dca67e89fb33529ea2a9f3949ecf..1833c79f70e6dfad02765b2641dba861339ae6ff 100644 (file)
@@ -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);
 }
 
 /*%
index 8487d367d895c163487bc67d711835fe150d53d6..8dd5d661183b43c2a553d9b4fe0de1a1eef40b6d 100644 (file)
@@ -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
index 5bed7d52852c6bbc771f0e277c7c87857b429150..37d65e5f92cd666dc7786a618ff93e4ccbbd9a3d 100644 (file)
@@ -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
index f178914c8ddaa9427c5b414e23322e75e3d5dc30..a4b8ce185587b2866d8c76953502d33e8bae9e4a 100644 (file)
@@ -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
index c235384f48f945fef53fa104cd432fb4296093d2..d7e79443cf461a02d05628610b24439bba1e834a 100644 (file)
@@ -15,6 +15,9 @@
 
 /*! \file include/ns/stats.h */
 
+#include <isc/mem.h>
+#include <isc/stats.h>
+
 #include <ns/types.h>
 
 /*%
@@ -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
index f8f8a82c0e6ba3def54dc12fea4135f058c792f3..8ef62544682354196b53e8bd11fb6fed4e0f1e20 100644 (file)
@@ -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);
index de5b083b573861de30bd537ff68a107ecbe7f7c2..84dd0ab029c31d7b14bc3709f9d80fc47ebf7c11 100644 (file)
@@ -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);
 }
 
 /*%
index 9bfe6a05c2a9b59bdf2b1a5b0fc4eb3dc3cf5a82..8cfbebcc9ad17880b4fae915e93345c795ef6b87 100644 (file)
@@ -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++) {
index a4753236e508580293290851c329136e3e69f538..4bc541f33ced12521dfc2207c09f9d1b1af8edc9 100644 (file)
 /* 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. */