freefile
handle_workitem_freefile(struct freefile *freefile)
ump = VFSTOUFS(freefile->fx_list.wk_mp);
error = inodedep_lookup(UFSTOVFS(ump), freefile->fx_oldinum, 0, &idp);
LIST_SWAP(&freefile->fx_jwork, &wkhd, worklist, wk_list);
if ((error = ffs_freefile(ump, fs, freefile->fx_devvp,
freefile->fx_oldinum, freefile->fx_mode, &wkhd)) != 0)
WORKITEM_FREE(freefile, D_FREEFILE);
static struct freefile *
struct freefile *freefile;
freefile = NULL;
if (freefile != NULL)
freefile = WK_FREEFILE(wk);
return (freefile);
struct freefile *freefile;
freefile = NULL;
freefile = handle_bufwait(inodedep, NULL);
if (freefile && !LIST_EMPTY(&wkhd)) {
WORKLIST_INSERT(&wkhd, &freefile->fx_list);
freefile = NULL;
if (freefile != NULL) {
add_to_worklist(&freefile->fx_list, 0);
SOFTDEP_TYPE(FREEFILE, freefile, "Inode deallocated");
static void handle_workitem_freefile(struct freefile *);
struct freefile *freefile;
freefile = malloc(sizeof(struct freefile),
workitem_alloc(&freefile->fx_list, D_FREEFILE, pvp->v_mount);
freefile->fx_mode = mode;
freefile->fx_oldinum = ino;
freefile->fx_devvp = ump->um_devvp;
LIST_INIT(&freefile->fx_jwork);
handle_bufwait(inodedep, &freefile->fx_jwork);
handle_workitem_freefile(freefile);
WORKLIST_INSERT(&inodedep->id_inowait, &freefile->fx_list);
static struct freefile *handle_bufwait(struct inodedep *, struct workhead *);
#define WK_FREEFILE(wk) ((struct freefile *)(wk))