2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 10:10:06 +00:00

Pass 'mctx' instead of 'db' to dns_slabheader_new()

The slabheader doesn't directly attach or link to 'db' anymore.  Pass
only the memory context needed to create the slab header to make the
lack of relation ship more prominent.

Also don't call dns_slabheader_reset() from dns_slabheader_new(), it has
no added value.
This commit is contained in:
Ondřej Surý 2025-08-05 18:05:52 +02:00 committed by Evan Hunt
parent 14d2bbbfdf
commit 2f81952658
4 changed files with 9 additions and 9 deletions

View File

@ -295,14 +295,14 @@ void
dns_slabheader_reset(dns_slabheader_t *h, dns_dbnode_t *node); dns_slabheader_reset(dns_slabheader_t *h, dns_dbnode_t *node);
/*%< /*%<
* Reset an rdataslab header 'h' so it can be used to store data in * Reset an rdataslab header 'h' so it can be used to store data in
* database 'db' and node 'node'. * database node 'node'.
*/ */
dns_slabheader_t * dns_slabheader_t *
dns_slabheader_new(dns_db_t *db, dns_dbnode_t *node); dns_slabheader_new(isc_mem_t *mctx, dns_dbnode_t *node);
/*%< /*%<
* Allocate memory for an rdataslab header and initialize it for use * Allocate memory for an rdataslab header and initialize it for use
* in database 'db'/node 'node'. * in database node 'node'.
*/ */
void void

View File

@ -3163,7 +3163,7 @@ qpcache_deleterdataset(dns_db_t *db, dns_dbnode_t *node,
return ISC_R_NOTIMPLEMENTED; return ISC_R_NOTIMPLEMENTED;
} }
newheader = dns_slabheader_new(db, node); newheader = dns_slabheader_new(db->mctx, node);
newheader->typepair = DNS_TYPEPAIR_VALUE(type, covers); newheader->typepair = DNS_TYPEPAIR_VALUE(type, covers);
setttl(newheader, 0); setttl(newheader, 0);
atomic_init(&newheader->attributes, attributes); atomic_init(&newheader->attributes, attributes);

View File

@ -5026,7 +5026,7 @@ qpzone_subtractrdataset(dns_db_t *db, dns_dbnode_t *dbnode,
* add a nonexistent header instead. * add a nonexistent header instead.
*/ */
dns_slabheader_destroy(&newheader); dns_slabheader_destroy(&newheader);
newheader = dns_slabheader_new((dns_db_t *)qpdb, newheader = dns_slabheader_new(db->mctx,
(dns_dbnode_t *)node); (dns_dbnode_t *)node);
newheader->ttl = 0; newheader->ttl = 0;
newheader->typepair = topheader->typepair; newheader->typepair = topheader->typepair;
@ -5110,7 +5110,7 @@ qpzone_deleterdataset(dns_db_t *db, dns_dbnode_t *dbnode,
return ISC_R_NOTIMPLEMENTED; return ISC_R_NOTIMPLEMENTED;
} }
newheader = dns_slabheader_new(db, (dns_dbnode_t *)node); newheader = dns_slabheader_new(db->mctx, (dns_dbnode_t *)node);
newheader->typepair = DNS_TYPEPAIR_VALUE(type, covers); newheader->typepair = DNS_TYPEPAIR_VALUE(type, covers);
newheader->ttl = 0; newheader->ttl = 0;
atomic_init(&newheader->attributes, DNS_SLABHEADERATTR_NONEXISTENT); atomic_init(&newheader->attributes, DNS_SLABHEADERATTR_NONEXISTENT);

View File

@ -886,14 +886,14 @@ dns_slabheader_reset(dns_slabheader_t *h, dns_dbnode_t *node) {
} }
dns_slabheader_t * dns_slabheader_t *
dns_slabheader_new(dns_db_t *db, dns_dbnode_t *node) { dns_slabheader_new(isc_mem_t *mctx, dns_dbnode_t *node) {
dns_slabheader_t *h = NULL; dns_slabheader_t *h = NULL;
h = isc_mem_get(db->mctx, sizeof(*h)); h = isc_mem_get(mctx, sizeof(*h));
*h = (dns_slabheader_t){ *h = (dns_slabheader_t){
.link = ISC_LINK_INITIALIZER, .link = ISC_LINK_INITIALIZER,
.node = node,
}; };
dns_slabheader_reset(h, node);
return h; return h;
} }