Lines Matching refs:jremref

626 SOFTDEP_TYPE(JREMREF, jremref, "Journal inode ref remove");
730 static void handle_written_jremref(struct jremref *);
739 static void jremref_write(struct jremref *, struct jseg *, uint8_t *);
778 static struct jremref *cancel_diradd_dotdot(struct inode *, struct dirrem *,
779 struct jremref *);
780 static struct jremref *cancel_mkdir_dotdot(struct inode *, struct dirrem *,
781 struct jremref *);
782 static void cancel_diradd(struct diradd *, struct dirrem *, struct jremref *,
783 struct jremref *, struct jremref *);
784 static void dirrem_journal(struct dirrem *, struct jremref *, struct jremref *,
785 struct jremref *);
795 static void free_jremref(struct jremref *);
805 static void journal_jremref(struct dirrem *, struct jremref *,
894 static struct jremref *newjremref(struct dirrem *, struct inode *,
3421 jremref_write(struct jremref *jremref, in jremref_write() argument
3429 inoref_write(&jremref->jr_ref, jseg, rec); in jremref_write()
4007 handle_written_jremref(struct jremref *jremref) in handle_written_jremref() argument
4014 jsegdep = inoref_jseg(&jremref->jr_ref); in handle_written_jremref()
4018 if (inodedep_lookup(jremref->jr_list.wk_mp, jremref->jr_ref.if_ino, in handle_written_jremref()
4021 TAILQ_REMOVE(&inodedep->id_inoreflst, &jremref->jr_ref, if_deps); in handle_written_jremref()
4025 dirrem = jremref->jr_dirrem; in handle_written_jremref()
4026 jremref->jr_dirrem = NULL; in handle_written_jremref()
4027 LIST_REMOVE(jremref, jr_deps); in handle_written_jremref()
4028 jsegdep->jd_state |= jremref->jr_state & MKDIR_PARENT; in handle_written_jremref()
4033 free_jremref(jremref); in handle_written_jremref()
4293 static struct jremref *
4300 struct jremref *jremref; in newjremref() local
4302 jremref = malloc(sizeof(*jremref), M_JREMREF, M_SOFTDEP_FLAGS); in newjremref()
4303 workitem_alloc(&jremref->jr_list, D_JREMREF, ITOVFS(dp)); in newjremref()
4304 jremref->jr_state = ATTACHED; in newjremref()
4305 newinoref(&jremref->jr_ref, ip->i_number, dp->i_number, diroff, in newjremref()
4307 jremref->jr_dirrem = dirrem; in newjremref()
4309 return (jremref); in newjremref()
4673 free_jremref(struct jremref *jremref) in free_jremref() argument
4676 if (jremref->jr_ref.if_jsegdep) in free_jremref()
4677 free_jsegdep(jremref->jr_ref.if_jsegdep); in free_jremref()
4678 if (jremref->jr_state & INPROGRESS) in free_jremref()
4680 WORKITEM_FREE(jremref, D_JREMREF); in free_jremref()
7421 struct jremref *jremref; in cancel_pagedep() local
7441 while ((jremref = LIST_FIRST(&dirrem->dm_jremrefhd)) != NULL) { in cancel_pagedep()
7442 jwait(&jremref->jr_list, MNT_WAIT); in cancel_pagedep()
9013 struct jremref *jremref, in cancel_diradd() argument
9014 struct jremref *dotremref, in cancel_diradd()
9015 struct jremref *dotdotremref) in cancel_diradd()
9027 if (jremref == NULL) { in cancel_diradd()
9046 free_jremref(jremref); in cancel_diradd()
9047 jremref = NULL; in cancel_diradd()
9080 if (jremref) in cancel_diradd()
9081 journal_jremref(dirrem, jremref, inodedep); in cancel_diradd()
9249 static struct jremref *
9252 struct jremref *jremref) in cancel_diradd_dotdot() argument
9259 return (jremref); in cancel_diradd_dotdot()
9262 return (jremref); in cancel_diradd_dotdot()
9263 cancel_diradd(dap, dirrem, jremref, NULL, NULL); in cancel_diradd_dotdot()
9279 static struct jremref *
9282 struct jremref *jremref) in cancel_mkdir_dotdot() argument
9293 return (jremref); in cancel_mkdir_dotdot()
9296 return (jremref); in cancel_mkdir_dotdot()
9310 journal_jremref(dirrem, jremref, inodedep); in cancel_mkdir_dotdot()
9311 jremref = NULL; in cancel_mkdir_dotdot()
9318 return (jremref); in cancel_mkdir_dotdot()
9323 struct jremref *jremref, in journal_jremref() argument
9328 if (inodedep_lookup(jremref->jr_list.wk_mp, in journal_jremref()
9329 jremref->jr_ref.if_ino, 0, &inodedep) == 0) in journal_jremref()
9331 LIST_INSERT_HEAD(&dirrem->dm_jremrefhd, jremref, jr_deps); in journal_jremref()
9332 TAILQ_INSERT_TAIL(&inodedep->id_inoreflst, &jremref->jr_ref, if_deps); in journal_jremref()
9333 add_to_journal(&jremref->jr_list); in journal_jremref()
9339 struct jremref *jremref, in dirrem_journal() argument
9340 struct jremref *dotremref, in dirrem_journal()
9341 struct jremref *dotdotremref) in dirrem_journal()
9345 if (inodedep_lookup(jremref->jr_list.wk_mp, jremref->jr_ref.if_ino, 0, in dirrem_journal()
9348 journal_jremref(dirrem, jremref, inodedep); in dirrem_journal()
9372 struct jremref *jremref; in newdirrem() local
9373 struct jremref *dotremref; in newdirrem()
9374 struct jremref *dotdotremref; in newdirrem()
9413 jremref = dotremref = dotdotremref = NULL; in newdirrem()
9416 jremref = newjremref(dirrem, dp, ip, I_OFFSET(dp), in newdirrem()
9424 jremref = newjremref(dirrem, dp, ip, I_OFFSET(dp), in newdirrem()
9443 jremref = cancel_mkdir_dotdot(dp, dirrem, jremref); in newdirrem()
9463 if (jremref) in newdirrem()
9464 dirrem_journal(dirrem, jremref, dotremref, in newdirrem()
9491 cancel_diradd(dap, dirrem, jremref, dotremref, dotdotremref); in newdirrem()
10341 struct jremref *jremref; in initiate_write_filepage() local
10366 while ((jremref = LIST_FIRST(&dirrem->dm_jremrefhd)) != NULL) in initiate_write_filepage()
10367 jwait(&jremref->jr_list, MNT_WAIT); in initiate_write_filepage()