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:
parent
14d2bbbfdf
commit
2f81952658
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user