Lines Matching refs:bmsafemap

610 SOFTDEP_TYPE(BMSAFEMAP, bmsafemap,
728 static int handle_written_bmsafemap(struct bmsafemap *, struct buf *, int);
762 static void initiate_write_bmsafemap(struct bmsafemap *, struct buf *);
853 struct bmsafemap **);
854 static struct bmsafemap *bmsafemap_lookup(struct mount *, struct buf *,
855 int cg, struct bmsafemap *);
914 static int bmsafemap_backgroundwrite(struct bmsafemap *, struct buf *);
4107 struct bmsafemap *bmsafemap; in handle_written_jnewblk() local
4129 bmsafemap = newblk->nb_bmsafemap; in handle_written_jnewblk()
4131 LIST_INSERT_HEAD(&bmsafemap->sm_newblkhd, newblk, in handle_written_jnewblk()
5236 struct bmsafemap *bmsafemap; in softdep_setup_inomapdep() local
5273 bmsafemap = malloc(sizeof(struct bmsafemap), in softdep_setup_inomapdep()
5275 workitem_alloc(&bmsafemap->sm_list, D_BMSAFEMAP, mp); in softdep_setup_inomapdep()
5280 bmsafemap = bmsafemap_lookup(mp, bp, ino_to_cg(fs, newinum), bmsafemap); in softdep_setup_inomapdep()
5282 LIST_INSERT_HEAD(&bmsafemap->sm_jaddrefhd, jaddref, ja_bmdeps); in softdep_setup_inomapdep()
5287 LIST_INSERT_HEAD(&bmsafemap->sm_inodedephd, inodedep, id_deps); in softdep_setup_inomapdep()
5289 inodedep->id_bmsafemap = bmsafemap; in softdep_setup_inomapdep()
5307 struct bmsafemap *bmsafemap; in softdep_setup_blkmapdep() local
5361 newblk->nb_bmsafemap = bmsafemap = bmsafemap_lookup(mp, bp, in softdep_setup_blkmapdep()
5365 LIST_INSERT_HEAD(&bmsafemap->sm_jnewblkhd, jnewblk, jn_deps); in softdep_setup_blkmapdep()
5368 LIST_INSERT_HEAD(&bmsafemap->sm_newblkhd, newblk, nb_deps); in softdep_setup_blkmapdep()
5370 newblk->nb_bmsafemap = bmsafemap; in softdep_setup_blkmapdep()
5382 struct bmsafemap **bmsafemapp) in bmsafemap_find()
5384 struct bmsafemap *bmsafemap; in bmsafemap_find() local
5386 LIST_FOREACH(bmsafemap, bmsafemaphd, sm_hash) in bmsafemap_find()
5387 if (bmsafemap->sm_cg == cg) in bmsafemap_find()
5389 if (bmsafemap) { in bmsafemap_find()
5390 *bmsafemapp = bmsafemap; in bmsafemap_find()
5406 static struct bmsafemap *
5410 struct bmsafemap *newbmsafemap) in bmsafemap_lookup()
5413 struct bmsafemap *bmsafemap, *collision; in bmsafemap_lookup() local
5428 if (bmsafemap_find(bmsafemaphd, cg, &bmsafemap) == 1) { in bmsafemap_lookup()
5431 return (bmsafemap); in bmsafemap_lookup()
5434 bmsafemap = newbmsafemap; in bmsafemap_lookup()
5437 bmsafemap = malloc(sizeof(struct bmsafemap), in bmsafemap_lookup()
5439 workitem_alloc(&bmsafemap->sm_list, D_BMSAFEMAP, mp); in bmsafemap_lookup()
5442 bmsafemap->sm_buf = bp; in bmsafemap_lookup()
5443 LIST_INIT(&bmsafemap->sm_inodedephd); in bmsafemap_lookup()
5444 LIST_INIT(&bmsafemap->sm_inodedepwr); in bmsafemap_lookup()
5445 LIST_INIT(&bmsafemap->sm_newblkhd); in bmsafemap_lookup()
5446 LIST_INIT(&bmsafemap->sm_newblkwr); in bmsafemap_lookup()
5447 LIST_INIT(&bmsafemap->sm_jaddrefhd); in bmsafemap_lookup()
5448 LIST_INIT(&bmsafemap->sm_jnewblkhd); in bmsafemap_lookup()
5449 LIST_INIT(&bmsafemap->sm_freehd); in bmsafemap_lookup()
5450 LIST_INIT(&bmsafemap->sm_freewr); in bmsafemap_lookup()
5452 WORKITEM_FREE(bmsafemap, D_BMSAFEMAP); in bmsafemap_lookup()
5455 bmsafemap->sm_cg = cg; in bmsafemap_lookup()
5456 LIST_INSERT_HEAD(bmsafemaphd, bmsafemap, sm_hash); in bmsafemap_lookup()
5457 LIST_INSERT_HEAD(&ump->softdep_dirtycg, bmsafemap, sm_next); in bmsafemap_lookup()
5458 WORKLIST_INSERT(&bp->b_dep, &bmsafemap->sm_list); in bmsafemap_lookup()
5459 return (bmsafemap); in bmsafemap_lookup()
10991 struct bmsafemap *bmsafemap; in softdep_setup_blkfree() local
11016 bmsafemap = bmsafemap_lookup(mp, bp, dtog(fs, blkno), NULL); in softdep_setup_blkfree()
11029 WORKLIST_INSERT(&bmsafemap->sm_freehd, wk); in softdep_setup_blkfree()
11069 bmsafemap = bmsafemap_lookup(mp, bp, dtog(fs, blkno), NULL); in softdep_setup_blkfree()
11071 LIST_FOREACH(jnewblk, &bmsafemap->sm_jnewblkhd, jn_deps) { in softdep_setup_blkfree()
11162 struct bmsafemap *bmsafemap, in initiate_write_bmsafemap() argument
11177 if (bmsafemap->sm_state & IOSTARTED) in initiate_write_bmsafemap()
11179 bmsafemap->sm_state |= IOSTARTED; in initiate_write_bmsafemap()
11183 if (LIST_FIRST(&bmsafemap->sm_jaddrefhd) != NULL) { in initiate_write_bmsafemap()
11185 fs = VFSTOUFS(bmsafemap->sm_list.wk_mp)->um_fs; in initiate_write_bmsafemap()
11187 LIST_FOREACH(jaddref, &bmsafemap->sm_jaddrefhd, ja_bmdeps) { in initiate_write_bmsafemap()
11205 if (LIST_FIRST(&bmsafemap->sm_jnewblkhd) != NULL) { in initiate_write_bmsafemap()
11207 fs = VFSTOUFS(bmsafemap->sm_list.wk_mp)->um_fs; in initiate_write_bmsafemap()
11209 LIST_FOREACH(jnewblk, &bmsafemap->sm_jnewblkhd, jn_deps) { in initiate_write_bmsafemap()
11220 LIST_SWAP(&bmsafemap->sm_inodedephd, &bmsafemap->sm_inodedepwr, in initiate_write_bmsafemap()
11222 LIST_SWAP(&bmsafemap->sm_newblkhd, &bmsafemap->sm_newblkwr, in initiate_write_bmsafemap()
11224 LIST_SWAP(&bmsafemap->sm_freehd, &bmsafemap->sm_freewr, worklist, in initiate_write_bmsafemap()
12054 struct bmsafemap *bmsafemap, in bmsafemap_backgroundwrite() argument
12059 LOCK_OWNED(VFSTOUFS(bmsafemap->sm_list.wk_mp)); in bmsafemap_backgroundwrite()
12060 dirty = !LIST_EMPTY(&bmsafemap->sm_jaddrefhd) | in bmsafemap_backgroundwrite()
12061 !LIST_EMPTY(&bmsafemap->sm_jnewblkhd); in bmsafemap_backgroundwrite()
12069 initiate_write_bmsafemap(bmsafemap, bp); in bmsafemap_backgroundwrite()
12137 struct bmsafemap *bmsafemap, in handle_written_bmsafemap() argument
12154 if ((bmsafemap->sm_state & IOSTARTED) == 0) in handle_written_bmsafemap()
12156 ump = VFSTOUFS(bmsafemap->sm_list.wk_mp); in handle_written_bmsafemap()
12158 bmsafemap->sm_state &= ~IOSTARTED; in handle_written_bmsafemap()
12165 handle_jwork(&bmsafemap->sm_freewr); in handle_written_bmsafemap()
12167 LIST_CONCAT(&bmsafemap->sm_freehd, &bmsafemap->sm_freewr, in handle_written_bmsafemap()
12173 if (!LIST_EMPTY(&bmsafemap->sm_jaddrefhd)) { in handle_written_bmsafemap()
12175 fs = VFSTOUFS(bmsafemap->sm_list.wk_mp)->um_fs; in handle_written_bmsafemap()
12177 LIST_FOREACH_SAFE(jaddref, &bmsafemap->sm_jaddrefhd, in handle_written_bmsafemap()
12201 if (LIST_FIRST(&bmsafemap->sm_jnewblkhd) != NULL) { in handle_written_bmsafemap()
12203 fs = VFSTOUFS(bmsafemap->sm_list.wk_mp)->um_fs; in handle_written_bmsafemap()
12205 LIST_FOREACH_SAFE(jnewblk, &bmsafemap->sm_jnewblkhd, jn_deps, in handle_written_bmsafemap()
12224 LIST_CONCAT(&bmsafemap->sm_newblkhd, &bmsafemap->sm_newblkwr, in handle_written_bmsafemap()
12226 LIST_CONCAT(&bmsafemap->sm_freehd, &bmsafemap->sm_freewr, in handle_written_bmsafemap()
12232 while ((newblk = LIST_FIRST(&bmsafemap->sm_newblkwr))) { in handle_written_bmsafemap()
12247 while ((inodedep = LIST_FIRST(&bmsafemap->sm_inodedepwr)) != NULL) { in handle_written_bmsafemap()
12253 LIST_REMOVE(bmsafemap, sm_next); in handle_written_bmsafemap()
12254 if (chgs == 0 && LIST_EMPTY(&bmsafemap->sm_jaddrefhd) && in handle_written_bmsafemap()
12255 LIST_EMPTY(&bmsafemap->sm_jnewblkhd) && in handle_written_bmsafemap()
12256 LIST_EMPTY(&bmsafemap->sm_newblkhd) && in handle_written_bmsafemap()
12257 LIST_EMPTY(&bmsafemap->sm_inodedephd) && in handle_written_bmsafemap()
12258 LIST_EMPTY(&bmsafemap->sm_freehd)) { in handle_written_bmsafemap()
12259 LIST_REMOVE(bmsafemap, sm_hash); in handle_written_bmsafemap()
12260 WORKITEM_FREE(bmsafemap, D_BMSAFEMAP); in handle_written_bmsafemap()
12263 LIST_INSERT_HEAD(&ump->softdep_dirtycg, bmsafemap, sm_next); in handle_written_bmsafemap()
12869 struct bmsafemap *bmsafemap; in sync_cgs() local
12870 struct bmsafemap *sentinel; in sync_cgs()
12881 for (bmsafemap = LIST_NEXT(sentinel, sm_next); bmsafemap != NULL; in sync_cgs()
12882 bmsafemap = LIST_NEXT(sentinel, sm_next)) { in sync_cgs()
12884 if (bmsafemap->sm_cg == -1 || in sync_cgs()
12885 (LIST_EMPTY(&bmsafemap->sm_freehd) && in sync_cgs()
12886 LIST_EMPTY(&bmsafemap->sm_freewr))) { in sync_cgs()
12888 LIST_INSERT_AFTER(bmsafemap, sentinel, sm_next); in sync_cgs()
12895 bp = getdirtybuf(bmsafemap->sm_buf, LOCK_PTR(ump), waitfor); in sync_cgs()
12899 LIST_INSERT_AFTER(bmsafemap, sentinel, sm_next); in sync_cgs()
14328 struct bmsafemap *bmsafemap; in softdep_count_dependencies() local
14415 bmsafemap = WK_BMSAFEMAP(wk); in softdep_count_dependencies()
14416 if (LIST_FIRST(&bmsafemap->sm_jaddrefhd)) { in softdep_count_dependencies()
14422 if (LIST_FIRST(&bmsafemap->sm_jnewblkhd)) { in softdep_count_dependencies()