Lines Matching defs:newheader

254  * 'init_count' is used to initialize 'newheader->count' which inturn
2549 dns_slabheader_t *newheader, unsigned int options, bool loading,
2576 trust = newheader->trust;
2585 changed = add_changed(newheader, rbtversion DNS__DB_FLARG_PASS);
2587 dns_slabheader_destroy(&newheader);
2592 newheader_nx = NONEXISTENT(newheader) ? true : false;
2594 rdtype = DNS_TYPEPAIR_TYPE(newheader->type);
2595 covers = DNS_TYPEPAIR_COVERS(newheader->type);
2597 if (NEGATIVE(newheader)) {
2645 (newheader->type == sigtype &&
2663 dns_slabheader_destroy(&newheader);
2698 if (topheader->type == newheader->type ||
2723 dns_slabheader_destroy(&newheader);
2737 dns_slabheader_destroy(&newheader);
2756 * that is the union of 'newheader' and 'header'.
2772 newheader->ttl != header->ttl)
2775 } else if (newheader->ttl != header->ttl) {
2781 (unsigned char *)newheader,
2782 (unsigned int)(sizeof(*newheader)),
2797 dns_slabheader_destroy(&newheader);
2798 newheader = (dns_slabheader_t *)merged;
2799 dns_slabheader_reset(newheader,
2802 dns_slabheader_copycase(newheader, header);
2803 if (loading && RESIGN(newheader) &&
2805 resign_sooner(header, newheader))
2807 newheader->resign = header->resign;
2808 newheader->resign_lsb =
2818 dns_slabheader_destroy(&newheader);
2832 !newheader_nx && header->trust >= newheader->trust &&
2834 (unsigned char *)newheader,
2835 (unsigned int)(sizeof(*newheader)),
2843 if (header->ttl > newheader->ttl) {
2844 dns__rbtdb_setttl(header, newheader->ttl);
2858 newheader->noqname != NULL)
2860 header->noqname = newheader->noqname;
2861 newheader->noqname = NULL;
2864 newheader->closest != NULL)
2866 header->closest = newheader->closest;
2867 newheader->closest = NULL;
2869 dns_slabheader_destroy(&newheader);
2886 !newheader_nx && header->trust <= newheader->trust)
2888 if (newheader->ttl > header->ttl) {
2889 newheader->ttl = header->ttl;
2899 header->trust >= newheader->trust &&
2901 (unsigned char *)newheader,
2902 (unsigned int)(sizeof(*newheader))))
2908 if (header->ttl > newheader->ttl) {
2909 dns__rbtdb_setttl(header, newheader->ttl);
2923 newheader->noqname != NULL)
2925 header->noqname = newheader->noqname;
2926 newheader->noqname = NULL;
2929 newheader->closest != NULL)
2931 header->closest = newheader->closest;
2932 newheader->closest = NULL;
2934 dns_slabheader_destroy(&newheader);
2946 newheader->down = NULL;
2947 idx = RBTDB_HEADERNODE(newheader)->locknum;
2949 if (ZEROTTL(newheader)) {
2950 newheader->last_used =
2953 newheader, link);
2956 newheader, link);
2959 isc_heap_insert(rbtdb->heaps[idx], newheader);
2960 newheader->heap = rbtdb->heaps[idx];
2961 } else if (RESIGN(newheader)) {
2963 newheader);
2978 topheader_prev->next = newheader;
2980 rbtnode->data = newheader;
2982 newheader->next = topheader->next;
2990 idx = RBTDB_HEADERNODE(newheader)->locknum;
2993 isc_heap_insert(rbtdb->heaps[idx], newheader);
2994 newheader->heap = rbtdb->heaps[idx];
2995 if (ZEROTTL(newheader)) {
2996 newheader->last_used =
2999 newheader, link);
3002 newheader, link);
3004 } else if (RESIGN(newheader)) {
3006 newheader);
3012 topheader_prev->next = newheader;
3014 rbtnode->data = newheader;
3016 newheader->next = topheader->next;
3017 newheader->down = topheader;
3018 topheader->next = newheader;
3045 dns_slabheader_destroy(&newheader);
3049 idx = RBTDB_HEADERNODE(newheader)->locknum;
3051 isc_heap_insert(rbtdb->heaps[idx], newheader);
3052 newheader->heap = rbtdb->heaps[idx];
3053 if (ZEROTTL(newheader)) {
3054 ISC_LIST_APPEND(rbtdb->lru[idx], newheader,
3057 ISC_LIST_PREPEND(rbtdb->lru[idx], newheader,
3060 } else if (RESIGN(newheader)) {
3061 dns__zonerbt_resigninsert(rbtdb, idx, newheader);
3079 topheader_prev->next = newheader;
3081 rbtnode->data = newheader;
3083 newheader->next = topheader->next;
3084 newheader->down = topheader;
3085 topheader->next = newheader;
3094 INSIST(newheader->down == NULL);
3097 dns_slabheader_destroy(&newheader);
3101 if (prio_header(newheader)) {
3103 newheader->next = rbtnode->data;
3104 rbtnode->data = newheader;
3107 newheader->next = prioheader->next;
3108 prioheader->next = newheader;
3111 newheader->next = rbtnode->data;
3112 rbtnode->data = newheader;
3117 expireheader = newheader;
3119 if (NEGATIVE(newheader) &&
3120 !prio_header(newheader))
3127 expireheader = newheader;
3142 update_recordsandxfrsize(true, rbtversion, newheader,
3156 dns__rbtdb_bindrdataset(rbtdb, rbtnode, newheader, now,
3182 addnoqname(isc_mem_t *mctx, dns_slabheader_t *newheader, uint32_t maxrrperset,
3211 newheader->noqname = noqname;
3221 addclosest(isc_mem_t *mctx, dns_slabheader_t *newheader, uint32_t maxrrperset,
3250 newheader->closest = closest;
3272 dns_slabheader_t *newheader = NULL;
3330 newheader = (dns_slabheader_t *)region.base;
3331 *newheader = (dns_slabheader_t){
3338 dns_slabheader_reset(newheader, db, node);
3339 dns__rbtdb_setttl(newheader, rdataset->ttl + now);
3341 DNS_SLABHEADER_SETATTR(newheader, DNS_SLABHEADERATTR_ZEROTTL);
3343 atomic_init(&newheader->count,
3346 newheader->serial = rbtversion->serial;
3350 DNS_SLABHEADER_SETATTR(newheader,
3352 newheader->resign =
3356 newheader->resign_lsb = rdataset->resign & 0x1;
3359 newheader->serial = 1;
3361 DNS_SLABHEADER_SETATTR(newheader,
3365 DNS_SLABHEADER_SETATTR(newheader,
3369 DNS_SLABHEADER_SETATTR(newheader,
3373 DNS_SLABHEADER_SETATTR(newheader,
3377 result = addnoqname(rbtdb->common.mctx, newheader,
3380 dns_slabheader_destroy(&newheader);
3385 result = addclosest(rbtdb->common.mctx, newheader,
3388 dns_slabheader_destroy(&newheader);
3433 dns__cacherbt_overmem(rbtdb, newheader,
3440 DNS_SLABHEADER_SETATTR(newheader, DNS_SLABHEADERATTR_STATCOUNT);
3441 update_rrsetstats(rbtdb->rrsetstats, newheader->type,
3442 atomic_load_acquire(&newheader->attributes),
3483 newheader, options, false,
3511 dns_slabheader_t *header = NULL, *newheader = NULL;
3542 newheader = (dns_slabheader_t *)region.base;
3543 dns_slabheader_reset(newheader, db, node);
3544 dns__rbtdb_setttl(newheader, rdataset->ttl);
3545 newheader->type = DNS_TYPEPAIR_VALUE(rdataset->type, rdataset->covers);
3546 atomic_init(&newheader->attributes, 0);
3547 newheader->serial = rbtversion->serial;
3548 newheader->trust = 0;
3549 newheader->noqname = NULL;
3550 newheader->closest = NULL;
3551 atomic_init(&newheader->count,
3553 newheader->last_used = 0;
3554 newheader->node = rbtnode;
3555 newheader->db = (dns_db_t *)rbtdb;
3557 DNS_SLABHEADER_SETATTR(newheader, DNS_SLABHEADERATTR_RESIGN);
3558 newheader->resign =
3561 newheader->resign_lsb = rdataset->resign & 0x1;
3563 newheader->resign = 0;
3564 newheader->resign_lsb = 0;
3569 changed = add_changed(newheader, rbtversion DNS__DB_FLARG_PASS);
3571 dns_slabheader_destroy(&newheader);
3580 if (topheader->type == newheader->type) {
3600 if (newheader->ttl != header->ttl) {
3607 (unsigned char *)newheader,
3608 (unsigned int)(sizeof(*newheader)),
3614 dns_slabheader_destroy(&newheader);
3615 newheader = (dns_slabheader_t *)subresult;
3616 dns_slabheader_reset(newheader, db, node);
3617 dns_slabheader_copycase(newheader, header);
3620 newheader, DNS_SLABHEADERATTR_RESIGN);
3621 newheader->resign = header->resign;
3622 newheader->resign_lsb = header->resign_lsb;
3624 rbtdb, rbtnode->locknum, newheader);
3629 * header, not newheader.
3631 newheader->serial = rbtversion->serial;
3637 update_recordsandxfrsize(true, rbtversion, newheader,
3644 dns_slabheader_destroy(&newheader);
3645 newheader = dns_slabheader_new((dns_db_t *)rbtdb,
3647 dns__rbtdb_setttl(newheader, 0);
3648 newheader->type = topheader->type;
3649 atomic_init(&newheader->attributes,
3651 newheader->serial = rbtversion->serial;
3653 dns_slabheader_destroy(&newheader);
3658 * If we're here, we want to link newheader in front of
3665 topheader_prev->next = newheader;
3667 rbtnode->data = newheader;
3669 newheader->next = topheader->next;
3670 newheader->down = topheader;
3671 topheader->next = newheader;
3681 dns_slabheader_destroy(&newheader);
3690 dns__rbtdb_bindrdataset(rbtdb, rbtnode, newheader, 0,
3730 dns_slabheader_t *newheader = NULL;
3743 newheader = dns_slabheader_new(db, node);
3744 newheader->type = DNS_TYPEPAIR_VALUE(type, covers);
3745 dns__rbtdb_setttl(newheader, 0);
3746 atomic_init(&newheader->attributes, DNS_SLABHEADERATTR_NONEXISTENT);
3748 newheader->serial = rbtversion->serial;
3754 result = dns__rbtdb_add(rbtdb, rbtnode, nodename, rbtversion, newheader,