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