Lines Matching defs:tree
111 isc_uint64_t tree;
658 /* Locks the tree structure (prevents nodes appearing/disappearing) */
660 /* Locks for individual tree nodes */
710 dns_rbt_t * tree;
909 * If 'paused' is ISC_TRUE, then the tree lock is not being held.
1249 * pick the next tree to (start to) destroy
1251 treep = &rbtdb->tree;
2006 result = dns_rbt_deletenode(rbtdb->tree, node, ISC_FALSE);
2017 * tree before deleting from the main tree.
2049 result = dns_rbt_deletenode(rbtdb->tree, node, ISC_FALSE);
2094 * to wait for the tree write lock.
2096 * The caller must hold a tree write lock and bucketnum'th node (write) lock.
2108 * Since we're holding a tree write lock, it should be
2147 * happens to hold a write lock on the tree, it's a good chance to purge dead
2274 * Attempt to switch to a write lock on the tree. If this fails,
2281 * the node lock before acquiring the tree write lock because
2392 * Prune the tree by recursively cleaning-up single leaves. In the worst
2393 * case, the number of iteration is the number of tree levels, which is at
2896 * We acquire a tree write lock here in order to make
2973 result = dns_rbt_addnode(rbtdb->tree, &foundname, &node);
3001 result = dns_rbt_addnode(rbtdb->tree, &foundname,
3014 findnodeintree(dns_rbtdb_t *rbtdb, dns_rbt_t *tree, dns_name_t *name,
3022 INSIST(tree == rbtdb->tree || tree == rbtdb->nsec3);
3026 result = dns_rbt_findnode(tree, name, NULL, &node, NULL,
3042 result = dns_rbt_addnode(tree, name, &node);
3051 if (tree == rbtdb->tree) {
3062 if (tree == rbtdb->nsec3)
3070 if (tree == rbtdb->nsec3)
3082 if (create && rbtdb->rpzs != NULL && tree == rbtdb->tree) {
3118 return (findnodeintree(rbtdb, rbtdb->tree, name, create, nodep));
3651 * Caller must be holding the tree lock and MUST NOT be holding
3725 result = dns_rbt_findnode(rbtdb->tree, wname,
3867 * It is the first node sought in the NSEC tree.
3884 * name in the NSEC tree implies that the first
3885 * node checked in the main tree had an
3887 * Try the previous node in the NSEC tree.
3903 * tree for the name of a third or earlier NSEC node in
3904 * the main tree. Previous trips through the NSEC tree
3905 * must have found nodes in the main tree with NSEC
3916 * Construct the name to seek in the main tree.
3923 result = dns_rbt_findnode(search->rbtdb->tree, target, NULL,
3930 * There should always be a node in the main tree with the
3931 * same name as the node in the auxiliary NSEC tree, except for
3932 * nodes in the auxiliary tree that are awaiting deletion.
3952 dns_rdataset_t *sigrdataset, dns_rbt_t *tree,
3968 if (tree == search->rbtdb->nsec3) {
3979 * Use the auxiliary tree only starting with the second node in the
4116 result = dns_rbtnodechain_last(&search->chain, tree,
4156 dns_rbt_t *tree;
4197 * Search down from the root of the tree. If, while going down, we
4201 tree = (options & DNS_DBFIND_FORCENSEC3) != 0 ? search.rbtdb->nsec3 :
4202 search.rbtdb->tree;
4203 result = dns_rbt_findnode(tree, name, foundname, &node,
4247 rdataset, sigrdataset, tree,
4503 search.rbtdb->tree,
4810 * Caller must be holding the tree lock.
5092 * Search down from the root of the tree. If, while going down, we
5096 result = dns_rbt_findnode(search.rbtdb->tree, name, foundname, &node,
5400 * Search down from the root of the tree.
5402 result = dns_rbt_findnode(search.rbtdb->tree, name, foundname, &node,
5588 * Caller must hold a tree lock.
6881 * Add to the auxiliary NSEC tree if we're adding an NSEC record.
6890 * If we're adding a delegation type, adding to the auxiliary NSEC tree,
6892 * the tree. In the latter case the lock does not necessarily have to
6923 * If we've been holding a write lock on the tree just for
7240 * load a non-NSEC3 node in the main tree and optionally to the auxiliary NSEC
7249 noderesult = dns_rbt_addnode(rbtdb->tree, name, &node);
7260 tmpresult = dns_rbt_deletenode(rbtdb->tree, node,
7279 * Add a node to the auxiliary NSEC tree for an old node
7288 * Build the auxiliary tree for NSECs as we go.
7289 * This tree speeds searches for closest NSECs that would otherwise
7292 * Add nodes to the auxiliary tree after corresponding nodes have
7293 * been added to the main tree.
7325 tmpresult = dns_rbt_deletenode(rbtdb->tree, node, ISC_FALSE);
7540 dns_rbt_t *tree = NULL, *nsec = NULL, *nsec3 = NULL;
7572 if (header->tree != 0) {
7574 (off_t) header->tree,
7578 NULL, &tree);
7582 result = dns_rbt_findnode(tree, &rbtdb->common.origin, NULL,
7619 if (tree != NULL) {
7620 dns_rbt_destroy(&rbtdb->tree);
7621 rbtdb->tree = tree;
7638 if (tree != NULL)
7639 dns_rbt_destroy(&tree);
7858 * RBT's used in the rbtdb: tree, nsec, and nsec3, and including NodeDump
7876 header.tree = (isc_uint64_t) tree_location;
7930 CHECK(dns_rbt_serialize_tree(rbtfile, rbtdb->tree, rbt_datawriter,
8020 count = dns_rbt_nodecount(rbtdb->tree);
8036 size = dns_rbt_hashsize(rbtdb->tree);
8601 result = dns_rbt_create(mctx, delete_callback, rbtdb, &rbtdb->tree);
8634 result = dns_rbt_addnode(rbtdb->tree, &rbtdb->common.origin,
8658 * Add an apex node to the NSEC3 tree so that NSEC3 searches
8660 * record in the tree.
9288 * Note that "%d node of %d in tree" can report things like
9289 * "flush_deletions: 59 nodes of 41 in tree". This means
9295 "flush_deletions: %d nodes of %d in tree",
9297 dns_rbt_nodecount(rbtdb->tree));
9400 rbtdb->tree, name, origin);
9417 result = ISC_R_NOMORE; /* The tree is empty. */
9459 result = dns_rbtnodechain_last(rbtdbiter->current, rbtdb->tree,
9471 result = ISC_R_NOMORE; /* The tree is empty. */
9510 result = dns_rbt_findnode(rbtdb->tree, name, NULL,
9519 result = dns_rbt_findnode(rbtdb->tree, name, NULL,
9579 result = dns_rbtnodechain_last(rbtdbiter->current, rbtdb->tree,