bmsafemap
struct bmsafemap *bmsafemap;
bmsafemap = bmsafemap_lookup(bp);
LIST_INSERT_HEAD(&bmsafemap->sm_inodedephd, inodedep, id_deps);
struct bmsafemap *bmsafemap;
newblk->nb_bmsafemap = bmsafemap = bmsafemap_lookup(bp);
LIST_INSERT_HEAD(&bmsafemap->sm_newblkhd, newblk, nb_deps);
static struct bmsafemap *
struct bmsafemap *bmsafemap;
bmsafemap = kmalloc(sizeof(struct bmsafemap), M_BMSAFEMAP,
bmsafemap->sm_list.wk_type = D_BMSAFEMAP;
bmsafemap->sm_list.wk_state = 0;
bmsafemap->sm_buf = bp;
LIST_INIT(&bmsafemap->sm_allocdirecthd);
LIST_INIT(&bmsafemap->sm_allocindirhd);
LIST_INIT(&bmsafemap->sm_inodedephd);
LIST_INIT(&bmsafemap->sm_newblkhd);
WORKLIST_INSERT_BP(bp, &bmsafemap->sm_list);
return (bmsafemap);
struct bmsafemap *bmsafemap;
bmsafemap = newblk->nb_bmsafemap;
adp->ad_buf = bmsafemap->sm_buf;
LIST_INSERT_HEAD(&bmsafemap->sm_allocdirecthd, adp, ad_deps);
struct bmsafemap *bmsafemap;
bmsafemap = newblk->nb_bmsafemap;
aip->ai_buf = bmsafemap->sm_buf;
LIST_INSERT_HEAD(&bmsafemap->sm_allocindirhd,
static struct bmsafemap *bmsafemap_lookup(struct buf *);
struct bmsafemap *bmsafemap;
bmsafemap = WK_BMSAFEMAP(wk);
while ((newblk = LIST_FIRST(&bmsafemap->sm_newblkhd))) {
LIST_FIRST(&bmsafemap->sm_allocdirecthd))) {
LIST_FIRST(&bmsafemap->sm_allocindirhd))) {
LIST_FIRST(&bmsafemap->sm_inodedephd)) != NULL) {
WORKITEM_FREE(bmsafemap, D_BMSAFEMAP);
#define WK_BMSAFEMAP(wk) ((struct bmsafemap *)(wk))
struct bmsafemap *nb_bmsafemap; /* associated bmsafemap */