freefile
static void handle_workitem_freefile(struct freefile *);
struct freefile *freefile;
freefile = kmalloc(sizeof(struct freefile), M_FREEFILE,
freefile->fx_list.wk_type = D_FREEFILE;
freefile->fx_list.wk_state = 0;
freefile->fx_mode = mode;
freefile->fx_oldinum = ino;
freefile->fx_devvp = ip->i_devvp;
freefile->fx_fs = ip->i_fs;
handle_workitem_freefile(freefile);
WORKLIST_INSERT(&inodedep->id_inowait, &freefile->fx_list);
handle_workitem_freefile(struct freefile *freefile)
error = inodedep_lookup(freefile->fx_fs, freefile->fx_oldinum, 0, &idp);
tip.i_devvp = freefile->fx_devvp;
tip.i_dev = freefile->fx_devvp->v_rdev;
tip.i_fs = freefile->fx_fs;
if ((error = ffs_freefile(&vp, freefile->fx_oldinum, freefile->fx_mode)) != 0)
WORKITEM_FREE(freefile, D_FREEFILE);
#define WK_FREEFILE(wk) ((struct freefile *)(wk))