Lines Matching defs:dap

7205 		struct diradd *dap;
7207 LIST_FOREACH(dap, &pagedep->pd_pendinghd, da_pdlist)
7208 if (dap->da_offset > blkoff)
7210 dap, dap->da_offset, blkoff);
7212 LIST_FOREACH(dap, &pagedep->pd_diraddhd[i], da_pdlist)
7213 if (dap->da_offset > blkoff)
7215 dap, dap->da_offset, blkoff);
7490 struct diradd *dap;
7508 while ((dap = LIST_FIRST(&pagedep->pd_pendinghd)) != NULL)
7509 free_diradd(dap, NULL);
8329 setup_newdir(dap, newinum, dinum, newdirbp, mkdirp)
8330 struct diradd *dap;
8346 mp = dap->da_list.wk_mp;
8355 mkdir1->md_diradd = dap;
8360 mkdir2->md_diradd = dap;
8415 dap->da_state &= ~MKDIR_PARENT;
8462 struct diradd *dap;
8490 dap = malloc(sizeof(struct diradd), M_DIRADD,
8492 workitem_alloc(&dap->da_list, D_DIRADD, mp);
8493 dap->da_offset = offset;
8494 dap->da_newinum = newinum;
8495 dap->da_state = ATTACHED;
8496 LIST_INIT(&dap->da_jwork);
8508 * the dap state to wait for them. Otherwise it's COMPLETE and
8512 dap->da_state |= DEPCOMPLETE;
8515 dap->da_state |= MKDIR_BODY | MKDIR_PARENT;
8516 mkdir1 = setup_newdir(dap, newinum, dp->i_number, newdirbp,
8528 dap->da_pagedep = pagedep;
8529 LIST_INSERT_HEAD(&pagedep->pd_diraddhd[DIRADDHASH(offset)], dap,
8545 jaddref->ja_diradd = dap;
8548 diradd_inode_written(dap, inodedep);
8550 WORKLIST_INSERT(&inodedep->id_bufwait, &dap->da_list);
8586 inodedep->id_mkdiradd = dap;
8588 merge_diradd(inodedep, dap);
8637 struct diradd *dap;
8670 dap = diradd_lookup(pagedep, oldoffset);
8671 if (dap) {
8672 dap->da_offset = newoffset;
8675 if ((dap->da_state & ALLCOMPLETE) != ALLCOMPLETE &&
8677 LIST_REMOVE(dap, da_pdlist);
8679 dap, da_pdlist);
8743 complete_diradd(dap)
8744 struct diradd *dap;
8748 if ((dap->da_state & ALLCOMPLETE) == ALLCOMPLETE) {
8749 if (dap->da_state & DIRCHG)
8750 pagedep = dap->da_previous->dm_pagedep;
8752 pagedep = dap->da_pagedep;
8753 LIST_REMOVE(dap, da_pdlist);
8754 LIST_INSERT_HEAD(&pagedep->pd_pendinghd, dap, da_pdlist);
8763 cancel_diradd(dap, dirrem, jremref, dotremref, dotdotremref)
8764 struct diradd *dap;
8781 free_diradd(dap, NULL);
8788 if (inodedep_lookup(dap->da_list.wk_mp, dap->da_newinum,
8795 if (jaddref->ja_diradd != dap)
8809 if ((dap->da_state & (MKDIR_PARENT | MKDIR_BODY)) != 0) {
8810 ump = VFSTOUFS(dap->da_list.wk_mp);
8812 if (mkdir->md_diradd != dap)
8839 jwork_move(&dirrem->dm_jwork, &dap->da_jwork);
8840 free_diradd(dap, &dirrem->dm_jwork);
8848 free_diradd(dap, wkhd)
8849 struct diradd *dap;
8858 ump = VFSTOUFS(dap->da_list.wk_mp);
8860 LIST_REMOVE(dap, da_pdlist);
8861 if (dap->da_state & ONWORKLIST)
8862 WORKLIST_REMOVE(&dap->da_list);
8863 if ((dap->da_state & DIRCHG) == 0) {
8864 pagedep = dap->da_pagedep;
8866 dirrem = dap->da_previous;
8873 if (inodedep_lookup(pagedep->pd_list.wk_mp, dap->da_newinum,
8875 if (inodedep->id_mkdiradd == dap)
8877 if ((dap->da_state & (MKDIR_PARENT | MKDIR_BODY)) != 0) {
8881 if (mkdir->md_diradd != dap)
8883 dap->da_state &=
8891 if ((dap->da_state & (MKDIR_PARENT | MKDIR_BODY)) == 0)
8894 if ((dap->da_state & (MKDIR_PARENT | MKDIR_BODY)) != 0)
8902 handle_jwork(&dap->da_jwork);
8903 WORKITEM_FREE(dap, D_DIRADD);
8990 struct diradd *dap;
8992 LIST_FOREACH(dap, &pagedep->pd_diraddhd[DIRADDHASH(offset)], da_pdlist)
8993 if (dap->da_offset == offset)
8994 return (dap);
8995 LIST_FOREACH(dap, &pagedep->pd_pendinghd, da_pdlist)
8996 if (dap->da_offset == offset)
8997 return (dap);
9014 struct diradd *dap;
9019 dap = diradd_lookup(pagedep, DOTDOT_OFFSET);
9020 if (dap == NULL)
9022 cancel_diradd(dap, dirrem, jremref, NULL, NULL);
9048 struct diradd *dap;
9054 dap = inodedep->id_mkdiradd;
9055 if (dap == NULL || (dap->da_state & MKDIR_PARENT) == 0)
9060 if (mkdir->md_diradd == dap && mkdir->md_state & MKDIR_PARENT)
9131 struct diradd *dap;
9219 dap = diradd_lookup(pagedep, offset);
9220 if (dap == NULL) {
9233 if ((dap->da_state & ATTACHED) == 0)
9235 if (dap->da_newinum != ip->i_number)
9237 (uintmax_t)ip->i_number, (uintmax_t)dap->da_newinum);
9243 if ((dap->da_state & DIRCHG) != 0) {
9244 *prevdirremp = dap->da_previous;
9245 dap->da_state &= ~DIRCHG;
9246 dap->da_pagedep = pagedep;
9253 cancel_diradd(dap, dirrem, jremref, dotremref, dotdotremref);
9293 struct diradd *dap = NULL;
9311 dap = malloc(sizeof(struct diradd),
9313 workitem_alloc(&dap->da_list, D_DIRADD, mp);
9314 dap->da_state = DIRCHG | ATTACHED | DEPCOMPLETE;
9315 dap->da_offset = offset;
9316 dap->da_newinum = newinum;
9317 LIST_INIT(&dap->da_jwork);
9380 dap->da_previous = dirrem;
9383 dap->da_previous = prevdirrem;
9385 dap->da_state &= ~DIRCHG;
9386 dap->da_pagedep = pagedep;
9407 jaddref->ja_diradd = dap;
9409 dap, da_pdlist);
9412 dap->da_state |= COMPLETE;
9413 LIST_INSERT_HEAD(&pagedep->pd_pendinghd, dap, da_pdlist);
9414 WORKLIST_INSERT(&inodedep->id_pendinghd, &dap->da_list);
9417 dap, da_pdlist);
9418 WORKLIST_INSERT(&inodedep->id_bufwait, &dap->da_list);
9426 merge_diradd(inodedep, dap);
10094 struct diradd *dap;
10121 LIST_FOREACH(dap, &pagedep->pd_diraddhd[i], da_pdlist) {
10123 ((char *)bp->b_data + dap->da_offset);
10124 if (ep->d_ino != dap->da_newinum)
10128 (uintmax_t)dap->da_newinum);
10129 if (dap->da_state & DIRCHG)
10130 ep->d_ino = dap->da_previous->dm_oldinum;
10133 dap->da_state &= ~ATTACHED;
10134 dap->da_state |= UNDONE;
11752 diradd_inode_written(dap, inodedep)
11753 struct diradd *dap;
11757 dap->da_state |= COMPLETE;
11758 complete_diradd(dap);
11759 WORKLIST_INSERT(&inodedep->id_pendinghd, &dap->da_list);
11990 struct diradd *dap;
11995 dap = mkdir->md_diradd;
11996 dap->da_state &= ~(mkdir->md_state & (MKDIR_PARENT | MKDIR_BODY));
11997 if ((dap->da_state & (MKDIR_PARENT | MKDIR_BODY)) == 0) {
11998 dap->da_state |= DEPCOMPLETE;
11999 complete_diradd(dap);
12062 struct diradd *dap, *nextdap;
12088 while ((dap = LIST_FIRST(&pagedep->pd_pendinghd)) != NULL)
12089 free_diradd(dap, NULL);
12095 for (dap = LIST_FIRST(&pagedep->pd_diraddhd[i]); dap;
12096 dap = nextdap) {
12097 nextdap = LIST_NEXT(dap, da_pdlist);
12098 if (dap->da_state & ATTACHED)
12101 ((char *)bp->b_data + dap->da_offset);
12102 ep->d_ino = dap->da_newinum;
12103 dap->da_state &= ~UNDONE;
12104 dap->da_state |= ATTACHED;
12111 if ((dap->da_state & ALLCOMPLETE) == ALLCOMPLETE) {
12112 LIST_REMOVE(dap, da_pdlist);
12113 LIST_INSERT_HEAD(&pagedep->pd_pendinghd, dap,
12361 struct diradd *dap;
12403 dap = WK_DIRADD(wk);
12408 if (dap->da_state & DIRCHG)
12409 pagedep = dap->da_previous->dm_pagedep;
12411 pagedep = dap->da_pagedep;
12414 if ((dap->da_state & (MKDIR_BODY | COMPLETE)) != COMPLETE)
12416 if ((dap->da_state & MKDIR_PARENT) ||
12480 dap = WK_DIRADD(wk);
12481 if (dap->da_state & DIRCHG)
12482 pagedep = dap->da_previous->dm_pagedep;
12484 pagedep = dap->da_pagedep;
13029 struct diradd *dap;
13040 while ((dap = LIST_FIRST(diraddhdp)) != NULL) {
13045 if (dap->da_state & MKDIR_PARENT) {
13053 if (dap != LIST_FIRST(diraddhdp))
13066 LIST_REMOVE(dap, da_pdlist);
13067 LIST_INSERT_HEAD(&unfinished, dap, da_pdlist);
13075 inum = dap->da_newinum;
13089 if (dap->da_state & MKDIR_BODY) {
13100 if (error == 0 && dap == LIST_FIRST(diraddhdp))
13109 if (dap != LIST_FIRST(diraddhdp))
13111 if (dap->da_state & MKDIR_BODY) {
13115 "inodedep %p dap %p vp %p",
13116 inodedep, dap, vp);
13145 if (dap != LIST_FIRST(diraddhdp))
13153 if (dap == LIST_FIRST(diraddhdp)) {
13168 if (dap == LIST_FIRST(diraddhdp)) {
13171 "inodedep %p ino %ju dap %p",
13172 inodedep, (uintmax_t)inum, dap);
13177 while ((dap = LIST_FIRST(&unfinished)) != NULL) {
13178 LIST_REMOVE(dap, da_pdlist);
13179 LIST_INSERT_HEAD(diraddhdp, dap, da_pdlist);
13968 struct diradd *dap;
14037 LIST_FOREACH(dap, &pagedep->pd_diraddhd[i], da_pdlist) {
14469 db_printf("mkdir: %p state 0x%X dap %p state 0x%X",