Lines Matching defs:argp

82 	__ham_insdel_args *argp;
97 ret = memp_fget(mpf, &argp->pgno, 0, &pagep);
107 } else if ((ret = memp_fget(mpf, &argp->pgno,
118 cmp_p = log_compare(&LSN(pagep), &argp->pagelsn);
129 op = OPCODE_OF(argp->opcode);
140 argp->ndx == (u_int32_t)H_NUMPAIRS(pagep)) {
141 __ham_putitem(pagep, &argp->key,
142 !redo || PAIR_ISKEYBIG(argp->opcode) ?
144 __ham_putitem(pagep, &argp->data,
145 !redo || PAIR_ISDATABIG(argp->opcode) ?
149 argp->ndx, &argp->key, &argp->data);
151 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
158 __ham_dpair(file_dbp, pagep, argp->ndx);
159 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
167 done: *lsnp = argp->prev_lsn;
191 __ham_newpage_args *argp;
205 ret = memp_fget(mpf, &argp->new_pgno, 0, &pagep);
216 } else if ((ret = memp_fget(mpf, &argp->new_pgno,
232 cmp_p = log_compare(&LSN(pagep), &argp->pagelsn);
235 if ((cmp_p == 0 && redo && argp->opcode == PUTOVFL) ||
236 (cmp_n == 0 && !redo && argp->opcode == DELOVFL)) {
238 P_INIT(pagep, file_dbp->pgsize, argp->new_pgno,
239 argp->prev_pgno, argp->next_pgno, 0, P_HASH);
241 } else if ((cmp_p == 0 && redo && argp->opcode == DELOVFL) ||
242 (cmp_n == 0 && !redo && argp->opcode == PUTOVFL)) {
254 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
260 ppage: if (argp->prev_pgno != PGNO_INVALID) {
261 ret = memp_fget(mpf, &argp->prev_pgno, 0, &pagep);
274 memp_fget(mpf, &argp->prev_pgno,
279 cmp_p = log_compare(&LSN(pagep), &argp->prevlsn);
282 if ((cmp_p == 0 && redo && argp->opcode == PUTOVFL) ||
283 (cmp_n == 0 && !redo && argp->opcode == DELOVFL)) {
285 pagep->next_pgno = argp->new_pgno;
287 } else if ((cmp_p == 0 && redo && argp->opcode == DELOVFL) ||
288 (cmp_n == 0 && !redo && argp->opcode == PUTOVFL)) {
290 pagep->next_pgno = argp->next_pgno;
299 LSN(pagep) = redo ? *lsnp : argp->prevlsn;
307 npage: if (argp->next_pgno != PGNO_INVALID) {
308 ret = memp_fget(mpf, &argp->next_pgno, 0, &pagep);
320 memp_fget(mpf, &argp->next_pgno,
325 cmp_p = log_compare(&LSN(pagep), &argp->nextlsn);
328 if ((cmp_p == 0 && redo && argp->opcode == PUTOVFL) ||
329 (cmp_n == 0 && !redo && argp->opcode == DELOVFL)) {
331 pagep->prev_pgno = argp->new_pgno;
333 } else if ((cmp_p == 0 && redo && argp->opcode == DELOVFL) ||
334 (cmp_n == 0 && !redo && argp->opcode == PUTOVFL)) {
336 pagep->prev_pgno = argp->prev_pgno;
345 LSN(pagep) = redo ? *lsnp : argp->nextlsn;
351 done: *lsnp = argp->prev_lsn;
377 __ham_replace_args *argp;
394 ret = memp_fget(mpf, &argp->pgno, 0, &pagep);
404 } else if ((ret = memp_fget(mpf, &argp->pgno,
414 cmp_p = log_compare(&LSN(pagep), &argp->pagelsn);
419 dbt.data = argp->newitem.data;
420 dbt.size = argp->newitem.size;
421 grow = argp->newitem.size - argp->olditem.size;
426 dbt.data = argp->olditem.data;
427 dbt.size = argp->olditem.size;
428 grow = argp->olditem.size - argp->newitem.size;
429 LSN(pagep) = argp->pagelsn;
437 file_dbp->pgsize, argp->ndx, argp->off, grow, &dbt);
438 if (argp->makedup) {
439 hk = P_ENTRY(pagep, argp->ndx);
450 done: *lsnp = argp->prev_lsn;
474 __ham_newpgno_args *argp;
499 cmp_p = log_compare(&hcp->hdr->lsn, &argp->metalsn);
502 if ((cmp_p == 0 && redo && argp->opcode == ALLOCPGNO) ||
503 (cmp_n == 0 && !redo && argp->opcode == DELPGNO)) {
505 hcp->hdr->last_freed = argp->free_pgno;
506 if (redo && argp->old_pgno != 0) /* Must be ALLOCPGNO */
509 } else if (cmp_p == 0 && redo && argp->opcode == DELPGNO) {
511 hcp->hdr->last_freed = argp->pgno;
513 } else if (cmp_n == 0 && !redo && argp->opcode == ALLOCPGNO) {
515 if (argp->old_pgno == 0)
516 hcp->hdr->last_freed = argp->pgno;
524 hcp->hdr->lsn = redo ? *lsnp : argp->metalsn;
530 ret = memp_fget(mpf, &argp->pgno, 0, &pagep);
541 } else if ((ret = memp_fget(mpf, &argp->pgno,
546 cmp_p = log_compare(&LSN(pagep), &argp->pagelsn);
549 if (cmp_p == 0 && redo && argp->opcode == ALLOCPGNO) {
551 P_INIT(pagep, file_dbp->pgsize, argp->pgno, PGNO_INVALID,
552 PGNO_INVALID, 0, argp->new_type);
554 } else if (cmp_n == 0 && !redo && argp->opcode == DELPGNO) {
556 P_INIT(pagep, file_dbp->pgsize, argp->pgno, PGNO_INVALID,
557 argp->old_pgno, 0, argp->old_type);
559 } else if ((cmp_p == 0 && redo && argp->opcode == DELPGNO) ||
560 (cmp_n == 0 && !redo && argp->opcode == ALLOCPGNO)) {
562 NEXT_PGNO(pagep) = argp->free_pgno;
567 LSN(pagep) = redo ? *lsnp : argp->pagelsn;
572 done: *lsnp = argp->prev_lsn;
597 __ham_splitmeta_args *argp;
622 cmp_p = log_compare(&hcp->hdr->lsn, &argp->metalsn);
627 hcp->hdr->max_bucket = argp->bucket + 1;
642 hcp->hdr->max_bucket = argp->bucket;
643 hcp->hdr->ovfl_point = argp->ovflpoint;
644 hcp->hdr->spares[hcp->hdr->ovfl_point] = argp->spares;
651 hcp->hdr->lsn = redo ? *lsnp : argp->metalsn;
655 done: *lsnp = argp->prev_lsn;
677 __ham_splitdata_args *argp;
691 ret = memp_fget(mpf, &argp->pgno, 0, &pagep);
701 } else if ((ret = memp_fget(mpf, &argp->pgno,
711 cmp_p = log_compare(&LSN(pagep), &argp->pagelsn);
725 if (argp->opcode == SPLITNEW)
727 memcpy(pagep, argp->pageimage.data,
728 argp->pageimage.size);
732 if (argp->opcode == SPLITOLD) {
734 memcpy(pagep, argp->pageimage.data,
735 argp->pageimage.size);
737 P_INIT(pagep, file_dbp->pgsize, argp->pgno,
739 LSN(pagep) = argp->pagelsn;
745 done: *lsnp = argp->prev_lsn;
768 __ham_ovfl_args *argp;
789 cmp_p = log_compare(&hcp->hdr->lsn, &argp->metalsn);
793 hcp->hdr->last_freed = argp->start_pgno;
794 hcp->hdr->spares[argp->ovflpoint] += argp->npages;
798 hcp->hdr->last_freed = argp->free_pgno;
799 hcp->hdr->spares[argp->ovflpoint] -= argp->npages;
800 hcp->hdr->lsn = argp->metalsn;
804 max_pgno = argp->start_pgno + argp->npages - 1;
806 for (pgno = argp->start_pgno; pgno <= max_pgno; pgno++) {
819 pgno == max_pgno ? argp->free_pgno : pgno + 1,
832 done: *lsnp = argp->prev_lsn;
855 __ham_copypage_args *argp;
876 ret = memp_fget(mpf, &argp->pgno, 0, &pagep);
887 } else if ((ret = memp_fget(mpf, &argp->pgno,
892 cmp_p = log_compare(&LSN(pagep), &argp->pagelsn);
896 memcpy(pagep, argp->page.data, argp->page.size);
901 P_INIT(pagep, hcp->hdr->pagesize, argp->pgno, PGNO_INVALID,
902 argp->next_pgno, 0, P_HASH);
903 LSN(pagep) = argp->pagelsn;
910 donext: ret = memp_fget(mpf, &argp->next_pgno, 0, &pagep);
921 } else if ((ret = memp_fget(mpf, &argp->next_pgno,
930 memcpy(pagep, argp->page.data, argp->page.size);
937 do_nn: if (argp->nnext_pgno == PGNO_INVALID)
940 ret = memp_fget(mpf, &argp->nnext_pgno, 0, &pagep);
950 } else if ((ret = memp_fget(mpf, &argp->nnext_pgno,
955 cmp_p = log_compare(&LSN(pagep), &argp->nnextlsn);
959 PREV_PGNO(pagep) = argp->pgno;
964 PREV_PGNO(pagep) = argp->next_pgno;
965 LSN(pagep) = argp->nnextlsn;
971 done: *lsnp = argp->prev_lsn;