Lines Matching refs:ump

135 softdep_setup_sbupdate(struct ufsmount *ump,  in softdep_setup_sbupdate()  argument
737 static void jseg_write(struct ufsmount *ump, struct jseg *, uint8_t *);
889 static int journal_unsuspend(struct ufsmount *ump);
946 #define LOCK_PTR(ump) (&(ump)->um_softdep->sd_fslock) argument
947 #define TRY_ACQUIRE_LOCK(ump) rw_try_wlock(&(ump)->um_softdep->sd_fslock) argument
948 #define ACQUIRE_LOCK(ump) rw_wlock(&(ump)->um_softdep->sd_fslock) argument
949 #define FREE_LOCK(ump) rw_wunlock(&(ump)->um_softdep->sd_fslock) argument
950 #define LOCK_OWNED(ump) rw_assert(&(ump)->um_softdep->sd_fslock, \ argument
1139 struct ufsmount *ump; in workitem_free() local
1153 ump = VFSTOUFS(item->wk_mp); in workitem_free()
1154 LOCK_OWNED(ump); in workitem_free()
1155 KASSERT(ump->softdep_deps > 0, in workitem_free()
1157 ump->um_fs->fs_fsmnt)); in workitem_free()
1158 if (--ump->softdep_deps == 0 && ump->softdep_req) in workitem_free()
1159 wakeup(&ump->softdep_deps); in workitem_free()
1162 ump->um_fs->fs_fsmnt, TYPENAME(item->wk_type))); in workitem_free()
1163 KASSERT(ump->softdep_curdeps[item->wk_type] > 0, in workitem_free()
1165 ump->um_fs->fs_fsmnt, TYPENAME(item->wk_type))); in workitem_free()
1167 ump->softdep_curdeps[item->wk_type] -= 1; in workitem_free()
1177 struct ufsmount *ump; in workitem_alloc() local
1183 ump = VFSTOUFS(mp); in workitem_alloc()
1190 ACQUIRE_LOCK(ump); in workitem_alloc()
1191 ump->softdep_curdeps[type] += 1; in workitem_alloc()
1192 ump->softdep_deps++; in workitem_alloc()
1193 ump->softdep_accdeps++; in workitem_alloc()
1194 LIST_INSERT_HEAD(&ump->softdep_alldeps[type], item, wk_all); in workitem_alloc()
1195 FREE_LOCK(ump); in workitem_alloc()
1201 struct ufsmount *ump; in workitem_reassign() local
1203 ump = VFSTOUFS(item->wk_mp); in workitem_reassign()
1204 LOCK_OWNED(ump); in workitem_reassign()
1205 KASSERT(ump->softdep_curdeps[item->wk_type] > 0, in workitem_reassign()
1208 ump->softdep_curdeps[item->wk_type] -= 1; in workitem_reassign()
1209 ump->softdep_curdeps[newtype] += 1; in workitem_reassign()
1222 LIST_INSERT_HEAD(&ump->softdep_alldeps[newtype], item, wk_all); in workitem_reassign()
1504 struct ufsmount *ump; in softdep_flush() local
1510 ump = VFSTOUFS(mp); in softdep_flush()
1512 ACQUIRE_LOCK(ump); in softdep_flush()
1513 ump->softdep_flags &= ~FLUSH_STARTING; in softdep_flush()
1514 wakeup(&ump->softdep_flushtd); in softdep_flush()
1515 FREE_LOCK(ump); in softdep_flush()
1527 ACQUIRE_LOCK(ump); in softdep_flush()
1528 if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0) in softdep_flush()
1529 msleep(&ump->softdep_flushtd, LOCK_PTR(ump), PVM, in softdep_flush()
1531 ump->softdep_flags &= ~FLUSH_CLEANUP; in softdep_flush()
1535 if ((ump->softdep_flags & FLUSH_EXIT) == 0) { in softdep_flush()
1536 FREE_LOCK(ump); in softdep_flush()
1539 ump->softdep_flags &= ~FLUSH_EXIT; in softdep_flush()
1540 cleanups = ump->um_softdep->sd_cleanups; in softdep_flush()
1541 FREE_LOCK(ump); in softdep_flush()
1542 wakeup(&ump->softdep_flags); in softdep_flush()
1557 struct ufsmount *ump; in worklist_speedup() local
1559 ump = VFSTOUFS(mp); in worklist_speedup()
1560 LOCK_OWNED(ump); in worklist_speedup()
1561 if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0) in worklist_speedup()
1562 ump->softdep_flags |= FLUSH_CLEANUP; in worklist_speedup()
1563 wakeup(&ump->softdep_flushtd); in worklist_speedup()
1567 softdep_send_speedup(struct ufsmount *ump, in softdep_send_speedup() argument
1573 if ((ump->um_flags & UM_CANSPEEDUP) == 0) in softdep_send_speedup()
1580 g_vfs_strategy(ump->um_bo, bp); in softdep_send_speedup()
1586 softdep_speedup(struct ufsmount *ump) in softdep_speedup() argument
1591 LOCK_OWNED(ump); in softdep_speedup()
1592 worklist_speedup(ump->um_mountp); in softdep_speedup()
1603 if ((altump = sdp->sd_ump) == ump) in softdep_speedup()
1650 struct ufsmount *ump; in add_to_worklist() local
1652 ump = VFSTOUFS(wk->wk_mp); in add_to_worklist()
1653 LOCK_OWNED(ump); in add_to_worklist()
1658 if (ump->softdep_on_worklist == 0) { in add_to_worklist()
1659 LIST_INSERT_HEAD(&ump->softdep_workitem_pending, wk, wk_list); in add_to_worklist()
1660 ump->softdep_worklist_tail = wk; in add_to_worklist()
1662 LIST_INSERT_HEAD(&ump->softdep_workitem_pending, wk, wk_list); in add_to_worklist()
1664 LIST_INSERT_AFTER(ump->softdep_worklist_tail, wk, wk_list); in add_to_worklist()
1665 ump->softdep_worklist_tail = wk; in add_to_worklist()
1667 ump->softdep_on_worklist += 1; in add_to_worklist()
1679 struct ufsmount *ump; in remove_from_worklist() local
1681 ump = VFSTOUFS(wk->wk_mp); in remove_from_worklist()
1682 if (ump->softdep_worklist_tail == wk) in remove_from_worklist()
1683 ump->softdep_worklist_tail = in remove_from_worklist()
1686 ump->softdep_on_worklist -= 1; in remove_from_worklist()
1701 struct ufsmount *ump; in wait_worklist() local
1703 ump = VFSTOUFS(wk->wk_mp); in wait_worklist()
1705 msleep(wk, LOCK_PTR(ump), PVM, wmesg, 0); in wait_worklist()
1721 struct ufsmount *ump; in softdep_process_worklist() local
1725 ump = VFSTOUFS(mp); in softdep_process_worklist()
1726 if (ump->um_softdep == NULL) in softdep_process_worklist()
1729 ACQUIRE_LOCK(ump); in softdep_process_worklist()
1733 while (ump->softdep_on_worklist > 0) { in softdep_process_worklist()
1744 FREE_LOCK(ump); in softdep_process_worklist()
1747 ACQUIRE_LOCK(ump); in softdep_process_worklist()
1758 journal_unsuspend(ump); in softdep_process_worklist()
1759 FREE_LOCK(ump); in softdep_process_worklist()
1773 struct ufsmount *ump; in process_removes() local
1778 ump = VFSTOUFS(mp); in process_removes()
1779 LOCK_OWNED(ump); in process_removes()
1802 FREE_LOCK(ump); in process_removes()
1807 ACQUIRE_LOCK(ump); in process_removes()
1822 struct ufsmount *ump; in process_truncates() local
1828 ump = VFSTOUFS(mp); in process_truncates()
1829 LOCK_OWNED(ump); in process_truncates()
1850 FREE_LOCK(ump); in process_truncates()
1852 ACQUIRE_LOCK(ump); in process_truncates()
1859 FREE_LOCK(ump); in process_truncates()
1866 ACQUIRE_LOCK(ump); in process_truncates()
1873 FREE_LOCK(ump); in process_truncates()
1876 ACQUIRE_LOCK(ump); in process_truncates()
1895 struct ufsmount *ump; in process_worklist_item() local
1907 ump = VFSTOUFS(mp); in process_worklist_item()
1908 LOCK_OWNED(ump); in process_worklist_item()
1912 LIST_INSERT_HEAD(&ump->softdep_workitem_pending, &sentinel, wk_list); in process_worklist_item()
1925 FREE_LOCK(ump); in process_worklist_item()
1958 ACQUIRE_LOCK(ump); in process_worklist_item()
1975 if (ump->softdep_worklist_tail == &sentinel) in process_worklist_item()
1976 ump->softdep_worklist_tail = in process_worklist_item()
1989 struct ufsmount *ump; in softdep_move_dependencies() local
1998 ump = VFSTOUFS(wk->wk_mp); in softdep_move_dependencies()
1999 ACQUIRE_LOCK(ump); in softdep_move_dependencies()
2011 FREE_LOCK(ump); in softdep_move_dependencies()
2025 struct ufsmount *ump; in softdep_flushworklist() local
2036 ump = VFSTOUFS(oldmnt); in softdep_flushworklist()
2037 devvp = ump->um_devvp; in softdep_flushworklist()
2053 struct ufsmount *ump; in softdep_waitidle() local
2058 ump = VFSTOUFS(mp); in softdep_waitidle()
2059 KASSERT(ump->um_softdep != NULL, in softdep_waitidle()
2061 devvp = ump->um_devvp; in softdep_waitidle()
2064 ACQUIRE_LOCK(ump); in softdep_waitidle()
2065 for (i = 0; i < SU_WAITIDLE_RETRIES && ump->softdep_deps != 0; i++) { in softdep_waitidle()
2066 ump->softdep_req = 1; in softdep_waitidle()
2068 ump->softdep_on_worklist == 0, in softdep_waitidle()
2070 msleep(&ump->softdep_deps, LOCK_PTR(ump), PVM | PDROP, in softdep_waitidle()
2075 ACQUIRE_LOCK(ump); in softdep_waitidle()
2079 ump->softdep_req = 0; in softdep_waitidle()
2080 if (i == SU_WAITIDLE_RETRIES && error == 0 && ump->softdep_deps != 0) { in softdep_waitidle()
2085 FREE_LOCK(ump); in softdep_waitidle()
2097 struct ufsmount *ump __unused; in softdep_flushfiles()
2104 ump = VFSTOUFS(oldmnt); in softdep_flushfiles()
2105 KASSERT(ump->um_softdep != NULL, in softdep_flushfiles()
2149 UFS_LOCK(ump); in softdep_flushfiles()
2151 if (ump->um_quotas[i] != NULLVP) in softdep_flushfiles()
2154 UFS_UNLOCK(ump); in softdep_flushfiles()
2201 #define PAGEDEP_HASH(ump, inum, lbn) \ argument
2202 (&(ump)->pagedep_hashtbl[((inum) + (lbn)) & (ump)->pagedep_hash_size])
2237 struct ufsmount *ump; in pagedep_lookup() local
2241 ump = VFSTOUFS(mp); in pagedep_lookup()
2242 LOCK_OWNED(ump); in pagedep_lookup()
2251 pagedephd = PAGEDEP_HASH(ump, ino, lbn); in pagedep_lookup()
2260 FREE_LOCK(ump); in pagedep_lookup()
2264 ACQUIRE_LOCK(ump); in pagedep_lookup()
2289 #define INODEDEP_HASH(ump, inum) \ argument
2290 (&(ump)->inodedep_hashtbl[(inum) & (ump)->inodedep_hash_size])
2323 struct ufsmount *ump; in inodedep_lookup() local
2326 ump = VFSTOUFS(mp); in inodedep_lookup()
2327 LOCK_OWNED(ump); in inodedep_lookup()
2328 fs = ump->um_fs; in inodedep_lookup()
2329 inodedephd = INODEDEP_HASH(ump, inum); in inodedep_lookup()
2340 if (softdep_excess_items(ump, D_INODEDEP)) in inodedep_lookup()
2343 FREE_LOCK(ump); in inodedep_lookup()
2347 ACQUIRE_LOCK(ump); in inodedep_lookup()
2381 #define NEWBLK_HASH(ump, inum) \ argument
2382 (&(ump)->newblk_hashtbl[(inum) & (ump)->newblk_hash_size])
2425 struct ufsmount *ump; in newblk_lookup() local
2427 ump = VFSTOUFS(mp); in newblk_lookup()
2428 LOCK_OWNED(ump); in newblk_lookup()
2429 newblkhd = NEWBLK_HASH(ump, newblkno); in newblk_lookup()
2434 if (softdep_excess_items(ump, D_NEWBLK) || in newblk_lookup()
2435 softdep_excess_items(ump, D_ALLOCDIRECT) || in newblk_lookup()
2436 softdep_excess_items(ump, D_ALLOCINDIR)) in newblk_lookup()
2439 FREE_LOCK(ump); in newblk_lookup()
2443 ACQUIRE_LOCK(ump); in newblk_lookup()
2462 #define INDIR_HASH(ump, blkno) \ argument
2463 (&(ump)->indir_hashtbl[(blkno) & (ump)->indir_hash_size])
2475 struct ufsmount *ump; in indirblk_lookup() local
2477 ump = VFSTOUFS(mp); in indirblk_lookup()
2478 wkhd = INDIR_HASH(ump, blkno); in indirblk_lookup()
2498 struct ufsmount *ump; in indirblk_insert() local
2500 ump = VFSTOUFS(freework->fw_list.wk_mp); in indirblk_insert()
2501 jblocks = ump->softdep_jblocks; in indirblk_insert()
2507 TAILQ_INSERT_HEAD(INDIR_HASH(ump, freework->fw_blkno), freework, in indirblk_insert()
2515 struct ufsmount *ump; in indirblk_remove() local
2517 ump = VFSTOUFS(freework->fw_list.wk_mp); in indirblk_remove()
2519 TAILQ_REMOVE(INDIR_HASH(ump, freework->fw_blkno), freework, fw_next); in indirblk_remove()
2582 struct ufsmount *ump; in softdep_mount() local
2588 ump = VFSTOUFS(mp); in softdep_mount()
2593 sdp->sd_ump = ump; in softdep_mount()
2623 ump->um_softdep = sdp; in softdep_mount()
2642 ACQUIRE_LOCK(ump); in softdep_mount()
2643 ump->softdep_flags |= FLUSH_STARTING; in softdep_mount()
2644 FREE_LOCK(ump); in softdep_mount()
2646 &ump->softdep_flushtd, 0, 0, "softdepflush", "%s worker", in softdep_mount()
2648 ACQUIRE_LOCK(ump); in softdep_mount()
2652 ump->softdep_flags &= ~FLUSH_STARTING; in softdep_mount()
2653 FREE_LOCK(ump); in softdep_mount()
2657 while ((ump->softdep_flags & FLUSH_STARTING) != 0) { in softdep_mount()
2658 msleep(&ump->softdep_flushtd, LOCK_PTR(ump), PVM, "sdstart", in softdep_mount()
2661 FREE_LOCK(ump); in softdep_mount()
2699 struct ufsmount *ump; in softdep_unmount() local
2702 ump = VFSTOUFS(mp); in softdep_unmount()
2703 KASSERT(ump->um_softdep != NULL, in softdep_unmount()
2712 journal_unmount(ump); in softdep_unmount()
2718 if (ump->softdep_flushtd != NULL) { in softdep_unmount()
2719 ACQUIRE_LOCK(ump); in softdep_unmount()
2720 ump->softdep_flags |= FLUSH_EXIT; in softdep_unmount()
2721 wakeup(&ump->softdep_flushtd); in softdep_unmount()
2722 while ((ump->softdep_flags & FLUSH_EXIT) != 0) { in softdep_unmount()
2723 msleep(&ump->softdep_flags, LOCK_PTR(ump), PVM, in softdep_unmount()
2726 KASSERT((ump->softdep_flags & FLUSH_EXIT) == 0, in softdep_unmount()
2728 FREE_LOCK(ump); in softdep_unmount()
2734 ums = ump->um_softdep; in softdep_unmount()
2738 ump->um_softdep = NULL; in softdep_unmount()
2741 ("ump %p ums %p on_journal %d", ump, ums, ums->sd_on_journal)); in softdep_unmount()
2743 ("ump %p ums %p on_worklist %d", ump, ums, ums->sd_on_worklist)); in softdep_unmount()
2745 ("ump %p ums %p deps %d", ump, ums, ums->sd_deps)); in softdep_unmount()
2759 ("Unmount %s: Dep type %s != 0 (%jd)", ump->um_fs->fs_fsmnt, in softdep_unmount()
2763 ump->um_fs->fs_fsmnt, in softdep_unmount()
2908 struct ufsmount *ump; in journal_mount() local
2916 ump = VFSTOUFS(mp); in journal_mount()
2917 ump->softdep_journal_tail = NULL; in journal_mount()
2918 ump->softdep_on_journal = 0; in journal_mount()
2919 ump->softdep_accdeps = 0; in journal_mount()
2920 ump->softdep_req = 0; in journal_mount()
2921 ump->softdep_jblocks = NULL; in journal_mount()
2946 ump->softdep_jblocks = jblocks; in journal_mount()
2971 journal_unmount(struct ufsmount *ump) in journal_unmount() argument
2974 if (ump->softdep_jblocks) in journal_unmount()
2975 jblocks_destroy(ump->softdep_jblocks); in journal_unmount()
2976 ump->softdep_jblocks = NULL; in journal_unmount()
2987 struct ufsmount *ump; in add_to_journal() local
2989 ump = VFSTOUFS(wk->wk_mp); in add_to_journal()
2990 LOCK_OWNED(ump); in add_to_journal()
2995 if (LIST_EMPTY(&ump->softdep_journal_pending)) { in add_to_journal()
2996 ump->softdep_jblocks->jb_age = ticks; in add_to_journal()
2997 LIST_INSERT_HEAD(&ump->softdep_journal_pending, wk, wk_list); in add_to_journal()
2999 LIST_INSERT_AFTER(ump->softdep_journal_tail, wk, wk_list); in add_to_journal()
3000 ump->softdep_journal_tail = wk; in add_to_journal()
3001 ump->softdep_on_journal += 1; in add_to_journal()
3012 struct ufsmount *ump; in remove_from_journal() local
3014 ump = VFSTOUFS(wk->wk_mp); in remove_from_journal()
3015 LOCK_OWNED(ump); in remove_from_journal()
3020 LIST_FOREACH(wkn, &ump->softdep_journal_pending, wk_list) in remove_from_journal()
3033 if (ump->softdep_journal_tail == wk) in remove_from_journal()
3034 ump->softdep_journal_tail = in remove_from_journal()
3037 ump->softdep_on_journal -= 1; in remove_from_journal()
3046 journal_space(struct ufsmount *ump, int thresh) in journal_space() argument
3051 jblocks = ump->softdep_jblocks; in journal_space()
3062 ump->softdep_curdeps[D_INODEDEP] > limit / stat_flush_threads) in journal_space()
3068 avail = (ump->softdep_on_journal * JREC_SIZE) / DEV_BSIZE; in journal_space()
3075 journal_suspend(struct ufsmount *ump) in journal_suspend() argument
3081 mp = UFSTOVFS(ump); in journal_suspend()
3085 jblocks = ump->softdep_jblocks; in journal_suspend()
3092 mp->mnt_susp_owner = ump->softdep_flushtd; in journal_suspend()
3102 journal_unsuspend(struct ufsmount *ump) in journal_unsuspend() argument
3107 mp = UFSTOVFS(ump); in journal_unsuspend()
3108 jblocks = ump->softdep_jblocks; in journal_unsuspend()
3111 journal_space(ump, jblocks->jb_min)) { in journal_unsuspend()
3113 FREE_LOCK(ump); in journal_unsuspend()
3116 ACQUIRE_LOCK(ump); in journal_unsuspend()
3123 journal_check_space(struct ufsmount *ump) in journal_check_space() argument
3127 LOCK_OWNED(ump); in journal_check_space()
3129 if (journal_space(ump, 0) == 0) { in journal_check_space()
3130 softdep_speedup(ump); in journal_check_space()
3131 mp = UFSTOVFS(ump); in journal_check_space()
3132 FREE_LOCK(ump); in journal_check_space()
3134 ffs_sbupdate(ump, MNT_WAIT, 0); in journal_check_space()
3135 ACQUIRE_LOCK(ump); in journal_check_space()
3136 if (journal_space(ump, 1) == 0) in journal_check_space()
3137 journal_suspend(ump); in journal_check_space()
3156 struct ufsmount *ump; in softdep_prealloc() local
3170 ump = VFSTOUFS(vp->v_mount); in softdep_prealloc()
3171 ACQUIRE_LOCK(ump); in softdep_prealloc()
3172 if (journal_space(ump, 0)) { in softdep_prealloc()
3173 FREE_LOCK(ump); in softdep_prealloc()
3177 FREE_LOCK(ump); in softdep_prealloc()
3186 ACQUIRE_LOCK(ump); in softdep_prealloc()
3189 journal_check_space(ump); in softdep_prealloc()
3190 FREE_LOCK(ump); in softdep_prealloc()
3201 softdep_prerename_vnode(struct ufsmount *ump, struct vnode *vp) in softdep_prerename_vnode() argument
3211 ACQUIRE_LOCK(ump); in softdep_prerename_vnode()
3214 FREE_LOCK(ump); in softdep_prerename_vnode()
3230 struct ufsmount *ump; in softdep_prerename() local
3233 ump = VFSTOUFS(fdvp->v_mount); in softdep_prerename()
3235 if (journal_space(ump, 0)) in softdep_prerename()
3243 error = softdep_prerename_vnode(ump, fdvp); in softdep_prerename()
3249 error = softdep_prerename_vnode(ump, fvp); in softdep_prerename()
3256 error = softdep_prerename_vnode(ump, tdvp); in softdep_prerename()
3264 error = softdep_prerename_vnode(ump, tvp); in softdep_prerename()
3270 ACQUIRE_LOCK(ump); in softdep_prerename()
3271 softdep_speedup(ump); in softdep_prerename()
3272 process_worklist_item(UFSTOVFS(ump), 2, LK_NOWAIT); in softdep_prerename()
3273 journal_check_space(ump); in softdep_prerename()
3274 FREE_LOCK(ump); in softdep_prerename()
3295 struct ufsmount *ump; in softdep_prelink() local
3301 ump = VFSTOUFS(dvp->v_mount); in softdep_prelink()
3309 if (journal_space(ump, 0) || (vp != NULL && IS_SNAPSHOT(VTOI(vp)))) in softdep_prelink()
3347 ACQUIRE_LOCK(ump); in softdep_prelink()
3350 FREE_LOCK(ump); in softdep_prelink()
3360 ACQUIRE_LOCK(ump); in softdep_prelink()
3364 softdep_speedup(ump); in softdep_prelink()
3366 process_worklist_item(UFSTOVFS(ump), 2, LK_NOWAIT); in softdep_prelink()
3367 journal_check_space(ump); in softdep_prelink()
3368 FREE_LOCK(ump); in softdep_prelink()
3379 jseg_write(struct ufsmount *ump, in jseg_write() argument
3389 rec->jsr_blocks = jseg->js_size / ump->um_devvp->v_bufobj.bo_bsize; in jseg_write()
3391 rec->jsr_time = ump->um_fs->fs_mtime; in jseg_write()
3531 struct ufsmount *ump; in softdep_flushjournal() local
3535 ump = VFSTOUFS(mp); in softdep_flushjournal()
3536 jblocks = ump->softdep_jblocks; in softdep_flushjournal()
3537 ACQUIRE_LOCK(ump); in softdep_flushjournal()
3538 while (ump->softdep_on_journal) { in softdep_flushjournal()
3542 FREE_LOCK(ump); in softdep_flushjournal()
3553 struct ufsmount *ump; in softdep_synchronize_completed() local
3564 ump = VFSTOUFS(jseg->js_list.wk_mp); in softdep_synchronize_completed()
3565 ACQUIRE_LOCK(ump); in softdep_synchronize_completed()
3583 FREE_LOCK(ump); in softdep_synchronize_completed()
3595 struct ufsmount *ump, in softdep_synchronize() argument
3602 bp->bio_offset = ump->um_cp->provider->mediasize; in softdep_synchronize()
3606 g_io_request(bp, ump->um_cp); in softdep_synchronize()
3618 struct ufsmount *ump; in softdep_process_journal() local
3635 ump = VFSTOUFS(mp); in softdep_process_journal()
3636 if (ump->um_softdep == NULL || ump->um_softdep->sd_jblocks == NULL) in softdep_process_journal()
3641 LOCK_OWNED(ump); in softdep_process_journal()
3642 fs = ump->um_fs; in softdep_process_journal()
3643 jblocks = ump->softdep_jblocks; in softdep_process_journal()
3644 devbsize = ump->um_devvp->v_bufobj.bo_bsize; in softdep_process_journal()
3656 cnt = ump->softdep_on_journal; in softdep_process_journal()
3682 softdep_speedup(ump); in softdep_process_journal()
3683 msleep(jblocks, LOCK_PTR(ump), PRIBIO, "jblocks", hz); in softdep_process_journal()
3685 FREE_LOCK(ump); in softdep_process_journal()
3697 ACQUIRE_LOCK(ump); in softdep_process_journal()
3705 cnt = ump->softdep_on_journal; in softdep_process_journal()
3709 FREE_LOCK(ump); in softdep_process_journal()
3711 ACQUIRE_LOCK(ump); in softdep_process_journal()
3762 jseg_write(ump, jseg, data); in softdep_process_journal()
3771 if (LIST_EMPTY(&ump->softdep_journal_pending)) in softdep_process_journal()
3774 while ((wk = LIST_FIRST(&ump->softdep_journal_pending)) in softdep_process_journal()
3780 jseg_write(ump, jseg, data); in softdep_process_journal()
3834 FREE_LOCK(ump); in softdep_process_journal()
3836 pbgetvp(ump->um_devvp, bp); in softdep_process_journal()
3845 ACQUIRE_LOCK(ump); in softdep_process_journal()
3854 softdep_synchronize(bio, ump, in softdep_process_journal()
3864 if (journal_unsuspend(ump)) in softdep_process_journal()
3866 FREE_LOCK(ump); in softdep_process_journal()
3868 ffs_sbupdate(ump, MNT_WAIT, 0); in softdep_process_journal()
3869 ACQUIRE_LOCK(ump); in softdep_process_journal()
4395 newfreework(struct ufsmount *ump, in newfreework() argument
4416 freework->fw_ref = (MOUNTEDSUJ(UFSTOVFS(ump)) == 0 || in newfreework()
4417 lbn >= -UFS_NXADDR) ? 0 : NINDIR(ump->um_fs) + 1; in newfreework()
4422 ACQUIRE_LOCK(ump); in newfreework()
4425 FREE_LOCK(ump); in newfreework()
5309 struct ufsmount *ump; in softdep_setup_blkmapdep() local
5314 ump = VFSTOUFS(mp); in softdep_setup_blkmapdep()
5315 fs = ump->um_fs; in softdep_setup_blkmapdep()
5358 ACQUIRE_LOCK(ump); in softdep_setup_blkmapdep()
5372 FREE_LOCK(ump); in softdep_setup_blkmapdep()
5375 #define BMSAFEMAP_HASH(ump, cg) \ argument
5376 (&(ump)->bmsafemap_hashtbl[(cg) & (ump)->bmsafemap_hash_size])
5415 struct ufsmount *ump; in bmsafemap_lookup() local
5417 ump = VFSTOUFS(mp); in bmsafemap_lookup()
5418 LOCK_OWNED(ump); in bmsafemap_lookup()
5427 bmsafemaphd = BMSAFEMAP_HASH(ump, cg); in bmsafemap_lookup()
5436 FREE_LOCK(ump); in bmsafemap_lookup()
5440 ACQUIRE_LOCK(ump); in bmsafemap_lookup()
5457 LIST_INSERT_HEAD(&ump->softdep_dirtycg, bmsafemap, sm_next); in bmsafemap_lookup()
5812 struct ufsmount *ump; in newfreefrag() local
5817 ump = ITOUMP(ip); in newfreefrag()
5818 fs = ump->um_fs; in newfreefrag()
5823 workitem_alloc(&freefrag->ff_list, D_FREEFRAG, UFSTOVFS(ump)); in newfreefrag()
5832 if (MOUNTEDSUJ(UFSTOVFS(ump))) { in newfreefrag()
5850 struct ufsmount *ump = VFSTOUFS(freefrag->ff_list.wk_mp); in handle_workitem_freefrag() local
5862 ACQUIRE_LOCK(ump); in handle_workitem_freefrag()
5873 FREE_LOCK(ump); in handle_workitem_freefrag()
5874 ffs_blkfree(ump, ump->um_fs, ump->um_devvp, freefrag->ff_blkno, in handle_workitem_freefrag()
5877 ACQUIRE_LOCK(ump); in handle_workitem_freefrag()
5879 FREE_LOCK(ump); in handle_workitem_freefrag()
5904 struct ufsmount *ump; in softdep_setup_allocext() local
5908 ump = VFSTOUFS(mp); in softdep_setup_allocext()
5935 ACQUIRE_LOCK(ump); in softdep_setup_allocext()
5986 FREE_LOCK(ump); in softdep_setup_allocext()
5999 FREE_LOCK(ump); in softdep_setup_allocext()
6089 struct ufsmount *ump; in softdep_setup_allocindir_page() local
6092 ump = VFSTOUFS(mp); in softdep_setup_allocindir_page()
6113 FREE_LOCK(ump); in softdep_setup_allocindir_page()
6132 struct ufsmount *ump; in softdep_setup_allocindir_meta() local
6135 ump = ITOUMP(ip); in softdep_setup_allocindir_meta()
6136 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_setup_allocindir_meta()
6144 inodedep_lookup(UFSTOVFS(ump), ip->i_number, DEPALLOC, &inodedep); in softdep_setup_allocindir_meta()
6148 FREE_LOCK(ump); in softdep_setup_allocindir_meta()
6179 struct ufsmount *ump; in indirdep_lookup() local
6184 ump = VFSTOUFS(mp); in indirdep_lookup()
6185 LOCK_OWNED(ump); in indirdep_lookup()
6188 fs = ump->um_fs; in indirdep_lookup()
6205 FREE_LOCK(ump); in indirdep_lookup()
6225 getblk(ump->um_devvp, bp->b_blkno, bp->b_bcount, 0, 0, 0); in indirdep_lookup()
6229 ACQUIRE_LOCK(ump); in indirdep_lookup()
6263 struct ufsmount *ump; in setup_allocindir_phase2() local
6266 ump = VFSTOUFS(mp); in setup_allocindir_phase2()
6267 LOCK_OWNED(ump); in setup_allocindir_phase2()
6268 fs = ump->um_fs; in setup_allocindir_phase2()
6353 struct ufsmount *ump; in setup_freedirect() local
6361 ump = ITOUMP(ip); in setup_freedirect()
6362 frags = sblksize(ump->um_fs, ip->i_size, i); in setup_freedirect()
6363 frags = numfrags(ump->um_fs, frags); in setup_freedirect()
6364 newfreework(ump, freeblks, NULL, i, blkno, frags, 0, needj); in setup_freedirect()
6374 struct ufsmount *ump; in setup_freeext() local
6382 ump = ITOUMP(ip); in setup_freeext()
6383 frags = sblksize(ump->um_fs, ip->i_din2->di_extsize, i); in setup_freeext()
6384 frags = numfrags(ump->um_fs, frags); in setup_freeext()
6385 newfreework(ump, freeblks, NULL, -1 - i, blkno, frags, 0, needj); in setup_freeext()
6396 struct ufsmount *ump; in setup_freeindir() local
6403 ump = ITOUMP(ip); in setup_freeindir()
6404 newfreework(ump, freeblks, NULL, lbn, blkno, ump->um_fs->fs_frag, in setup_freeindir()
6480 struct ufsmount *ump; in setup_trunc_indir() local
6493 ump = VFSTOUFS(mp); in setup_trunc_indir()
6499 error = ffs_breadz(ump, ITOV(ip), lbn, blkptrtodb(ump, blkno), in setup_trunc_indir()
6504 lbnadd = lbn_offset(ump->um_fs, level); in setup_trunc_indir()
6510 if (off + 1 == NINDIR(ump->um_fs)) in setup_trunc_indir()
6512 freework = newfreework(ump, freeblks, NULL, lbn, blkno, 0, off + 1, 0); in setup_trunc_indir()
6518 ACQUIRE_LOCK(ump); in setup_trunc_indir()
6530 if (newblk_lookup(mp, dbtofsb(ump->um_fs, bp->b_blkno), 0, in setup_trunc_indir()
6537 FREE_LOCK(ump); in setup_trunc_indir()
6579 struct ufsmount *ump; in complete_trunc_indir() local
6584 ump = VFSTOUFS(freework->fw_list.wk_mp); in complete_trunc_indir()
6585 LOCK_OWNED(ump); in complete_trunc_indir()
6596 LOCK_PTR(ump)) == 0) in complete_trunc_indir()
6598 ACQUIRE_LOCK(ump); in complete_trunc_indir()
6654 FREE_LOCK(ump); in complete_trunc_indir()
6656 ACQUIRE_LOCK(ump); in complete_trunc_indir()
6756 struct ufsmount *ump; in softdep_journal_freeblocks() local
6766 ump = ITOUMP(ip); in softdep_journal_freeblocks()
6767 mp = UFSTOVFS(ump); in softdep_journal_freeblocks()
6768 fs = ump->um_fs; in softdep_journal_freeblocks()
6779 ACQUIRE_LOCK(ump); in softdep_journal_freeblocks()
6791 FREE_LOCK(ump); in softdep_journal_freeblocks()
6851 newfreework(ump, freeblks, NULL, lastlbn, in softdep_journal_freeblocks()
6889 UFS_LOCK(ump); in softdep_journal_freeblocks()
6891 UFS_UNLOCK(ump); in softdep_journal_freeblocks()
6902 error = ffs_breadz(ump, ump->um_devvp, dbn, dbn, (int)fs->fs_bsize, in softdep_journal_freeblocks()
6911 if (ump->um_fstype == UFS1) { in softdep_journal_freeblocks()
6919 ACQUIRE_LOCK(ump); in softdep_journal_freeblocks()
6971 FREE_LOCK(ump); in softdep_journal_freeblocks()
7007 } else if (!ffs_fsfail_cleanup(ump, error)) { in softdep_journal_freeblocks()
7012 ACQUIRE_LOCK(ump); in softdep_journal_freeblocks()
7028 FREE_LOCK(ump); in softdep_journal_freeblocks()
7042 struct ufsmount *ump; in softdep_journal_fsync() local
7044 ump = ITOUMP(ip); in softdep_journal_fsync()
7045 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_journal_fsync()
7051 workitem_alloc(&jfsync->jfs_list, D_JFSYNC, UFSTOVFS(ump)); in softdep_journal_fsync()
7054 ACQUIRE_LOCK(ump); in softdep_journal_fsync()
7057 FREE_LOCK(ump); in softdep_journal_fsync()
7100 struct ufsmount *ump; in softdep_setup_freeblocks() local
7109 ump = ITOUMP(ip); in softdep_setup_freeblocks()
7110 mp = UFSTOVFS(ump); in softdep_setup_freeblocks()
7116 fs = ump->um_fs; in softdep_setup_freeblocks()
7117 if ((error = bread(ump->um_devvp, in softdep_setup_freeblocks()
7120 if (!ffs_fsfail_cleanup(ump, error)) in softdep_setup_freeblocks()
7154 UFS_LOCK(ump); in softdep_setup_freeblocks()
7156 UFS_UNLOCK(ump); in softdep_setup_freeblocks()
7163 if (ump->um_fstype == UFS1) { in softdep_setup_freeblocks()
7178 ACQUIRE_LOCK(ump); in softdep_setup_freeblocks()
7217 FREE_LOCK(ump); in softdep_setup_freeblocks()
7220 ACQUIRE_LOCK(ump); in softdep_setup_freeblocks()
7232 FREE_LOCK(ump); in softdep_setup_freeblocks()
7506 struct ufsmount *ump; in deallocate_dependencies() local
7508 ump = softdep_bp_to_mp(bp); in deallocate_dependencies()
7509 if (ump == NULL) in deallocate_dependencies()
7511 ACQUIRE_LOCK(ump); in deallocate_dependencies()
7525 FREE_LOCK(ump); in deallocate_dependencies()
7560 FREE_LOCK(ump); in deallocate_dependencies()
7787 struct ufsmount *ump; in softdep_freefile() local
7789 ump = ITOUMP(ip); in softdep_freefile()
7790 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_freefile()
7800 freefile->fx_devvp = ump->um_devvp; in softdep_freefile()
7802 UFS_LOCK(ump); in softdep_freefile()
7803 ump->um_fs->fs_pendinginodes += 1; in softdep_freefile()
7804 UFS_UNLOCK(ump); in softdep_freefile()
7817 ACQUIRE_LOCK(ump); in softdep_freefile()
7849 FREE_LOCK(ump); in softdep_freefile()
7856 FREE_LOCK(ump); in softdep_freefile()
7972 struct ufsmount *ump; in freework_freeblock() local
7978 ump = VFSTOUFS(freework->fw_list.wk_mp); in freework_freeblock()
7979 LOCK_OWNED(ump); in freework_freeblock()
7988 fs = ump->um_fs; in freework_freeblock()
8019 FREE_LOCK(ump); in freework_freeblock()
8020 freeblks_free(ump, freeblks, btodb(bsize)); in freework_freeblock()
8024 ffs_blkfree(ump, fs, freeblks->fb_devvp, freework->fw_blkno, bsize, in freework_freeblock()
8026 ACQUIRE_LOCK(ump); in freework_freeblock()
8065 struct ufsmount *ump; in handle_workitem_indirblk() local
8069 ump = VFSTOUFS(freeblks->fb_list.wk_mp); in handle_workitem_indirblk()
8070 fs = ump->um_fs; in handle_workitem_indirblk()
8080 FREE_LOCK(ump); in handle_workitem_indirblk()
8083 ACQUIRE_LOCK(ump); in handle_workitem_indirblk()
8130 struct ufsmount *ump; in handle_workitem_freeblocks() local
8136 ump = VFSTOUFS(freeblks->fb_list.wk_mp); in handle_workitem_freeblocks()
8137 key = ffs_blkrelease_start(ump, freeblks->fb_devvp, freeblks->fb_inum); in handle_workitem_freeblocks()
8138 ACQUIRE_LOCK(ump); in handle_workitem_freeblocks()
8155 FREE_LOCK(ump); in handle_workitem_freeblocks()
8156 freework = newfreework(ump, freeblks, NULL, in handle_workitem_freeblocks()
8158 ump->um_fs->fs_frag, 0, 0); in handle_workitem_freeblocks()
8159 ACQUIRE_LOCK(ump); in handle_workitem_freeblocks()
8187 FREE_LOCK(ump); in handle_workitem_freeblocks()
8188 ffs_blkrelease_finish(ump, key); in handle_workitem_freeblocks()
8201 freeblks_free(struct ufsmount *ump, in freeblks_free() argument
8208 UFS_LOCK(ump); in freeblks_free()
8214 fs = ump->um_fs; in freeblks_free()
8217 UFS_UNLOCK(ump); in freeblks_free()
8232 struct ufsmount *ump; in handle_complete_freeblocks() local
8235 ump = VFSTOUFS(freeblks->fb_list.wk_mp); in handle_complete_freeblocks()
8236 fs = ump->um_fs; in handle_complete_freeblocks()
8264 UFS_LOCK(ump); in handle_complete_freeblocks()
8266 UFS_UNLOCK(ump); in handle_complete_freeblocks()
8271 quotaadj(freeblks->fb_quota, ump, -spare); in handle_complete_freeblocks()
8274 ACQUIRE_LOCK(ump); in handle_complete_freeblocks()
8289 FREE_LOCK(ump); in handle_complete_freeblocks()
8316 struct ufsmount *ump; in indir_trunc() local
8326 ump = VFSTOUFS(mp); in indir_trunc()
8327 fs = ump->um_fs; in indir_trunc()
8361 error = ffs_breadz(ump, freeblks->fb_devvp, dbn, dbn, in indir_trunc()
8366 ACQUIRE_LOCK(ump); in indir_trunc()
8383 FREE_LOCK(ump); in indir_trunc()
8398 FREE_LOCK(ump); in indir_trunc()
8400 if (ump->um_fstype == UFS1) { in indir_trunc()
8412 needj = MOUNTEDSUJ(UFSTOVFS(ump)) != 0; in indir_trunc()
8423 key = ffs_blkrelease_start(ump, freeblks->fb_devvp, freeblks->fb_inum); in indir_trunc()
8441 nfreework = newfreework(ump, freeblks, freework, in indir_trunc()
8464 ffs_blkfree(ump, fs, freeblks->fb_devvp, nb, in indir_trunc()
8469 ffs_blkrelease_finish(ump, key); in indir_trunc()
8479 freeblks_free(ump, freeblks, freedblocks); in indir_trunc()
8485 ACQUIRE_LOCK(ump); in indir_trunc()
8493 FREE_LOCK(ump); in indir_trunc()
8503 ffs_blkfree(ump, fs, freeblks->fb_devvp, dbn, fs->fs_bsize, in indir_trunc()
8508 ACQUIRE_LOCK(ump); in indir_trunc()
8510 FREE_LOCK(ump); in indir_trunc()
8593 struct ufsmount *ump; in setup_newdir() local
8597 ump = VFSTOUFS(mp); in setup_newdir()
8621 LIST_INSERT_HEAD(&ump->softdep_mkdirlisthd, mkdir1, md_mkdirs); in setup_newdir()
8660 LIST_INSERT_HEAD(&ump->softdep_mkdirlisthd, mkdir2, md_mkdirs); in setup_newdir()
8669 LIST_INSERT_HEAD(&ump->softdep_mkdirlisthd, mkdir2, md_mkdirs); in setup_newdir()
8719 struct ufsmount *ump; in softdep_setup_directory_add() local
8724 ump = VFSTOUFS(mp); in softdep_setup_directory_add()
8737 fs = ump->um_fs; in softdep_setup_directory_add()
8763 ACQUIRE_LOCK(ump); in softdep_setup_directory_add()
8846 FREE_LOCK(ump); in softdep_setup_directory_add()
8856 FREE_LOCK(ump); in softdep_setup_directory_add()
8864 FREE_LOCK(ump); in softdep_setup_directory_add()
8890 struct ufsmount *ump; in softdep_change_directoryentry_offset() local
8895 ump = VFSTOUFS(mp); in softdep_change_directoryentry_offset()
8913 lbn = lblkno(ump->um_fs, I_OFFSET(dp)); in softdep_change_directoryentry_offset()
8914 offset = blkoff(ump->um_fs, I_OFFSET(dp)); in softdep_change_directoryentry_offset()
8917 ACQUIRE_LOCK(ump); in softdep_change_directoryentry_offset()
8939 FREE_LOCK(ump); in softdep_change_directoryentry_offset()
8953 struct ufsmount *ump; in merge_diradd() local
8960 ump = VFSTOUFS(inodedep->id_list.wk_mp); in merge_diradd()
8961 for (mkdir = LIST_FIRST(&ump->softdep_mkdirlisthd); mkdir; in merge_diradd()
9020 struct ufsmount *ump; in cancel_diradd() local
9057 ump = VFSTOUFS(dap->da_list.wk_mp); in cancel_diradd()
9058 LIST_FOREACH(mkdir, &ump->softdep_mkdirlisthd, md_mkdirs) { in cancel_diradd()
9100 struct ufsmount *ump; in free_diradd() local
9102 ump = VFSTOUFS(dap->da_list.wk_mp); in free_diradd()
9103 LOCK_OWNED(ump); in free_diradd()
9122 for (mkdir = LIST_FIRST(&ump->softdep_mkdirlisthd); mkdir; in free_diradd()
9176 struct ufsmount *ump; in softdep_setup_remove() local
9179 ump = ITOUMP(ip); in softdep_setup_remove()
9180 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_setup_remove()
9192 if (inodedep_lookup(UFSTOVFS(ump), ip->i_number, 0, &inodedep) == 0) in softdep_setup_remove()
9212 FREE_LOCK(ump); in softdep_setup_remove()
9219 FREE_LOCK(ump); in softdep_setup_remove()
9286 struct ufsmount *ump; in cancel_mkdir_dotdot() local
9297 ump = VFSTOUFS(inodedep->id_list.wk_mp); in cancel_mkdir_dotdot()
9298 for (mkdir = LIST_FIRST(&ump->softdep_mkdirlisthd); mkdir; in cancel_mkdir_dotdot()
9376 struct ufsmount *ump; in newdirrem() local
9384 ump = ITOUMP(dp); in newdirrem()
9393 ACQUIRE_LOCK(ump); in newdirrem()
9394 if (!IS_SNAPSHOT(ip) && softdep_excess_items(ump, D_DIRREM)) in newdirrem()
9395 schedule_cleanup(UFSTOVFS(ump)); in newdirrem()
9397 FREE_LOCK(ump); in newdirrem()
9427 ACQUIRE_LOCK(ump); in newdirrem()
9428 lbn = lblkno(ump->um_fs, I_OFFSET(dp)); in newdirrem()
9429 offset = blkoff(ump->um_fs, I_OFFSET(dp)); in newdirrem()
9430 pagedep_lookup(UFSTOVFS(ump), bp, dp->i_number, lbn, DEPALLOC, in newdirrem()
9537 struct ufsmount *ump; in softdep_setup_directory_change() local
9540 ump = VFSTOUFS(mp); in softdep_setup_directory_change()
9541 offset = blkoff(ump->um_fs, I_OFFSET(dp)); in softdep_setup_directory_change()
9591 FREE_LOCK(ump); in softdep_setup_directory_change()
9665 FREE_LOCK(ump); in softdep_setup_directory_change()
9679 struct ufsmount *ump; in softdep_change_linkcnt() local
9681 ump = ITOUMP(ip); in softdep_change_linkcnt()
9682 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_change_linkcnt()
9684 ACQUIRE_LOCK(ump); in softdep_change_linkcnt()
9685 inodedep_lookup(UFSTOVFS(ump), ip->i_number, DEPALLOC, &inodedep); in softdep_change_linkcnt()
9689 FREE_LOCK(ump); in softdep_change_linkcnt()
9698 struct ufsmount *ump, in softdep_setup_sbupdate() argument
9705 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_setup_sbupdate()
9713 workitem_alloc(&sbdep->sb_list, D_SBDEP, UFSTOVFS(ump)); in softdep_setup_sbupdate()
9715 sbdep->sb_ump = ump; in softdep_setup_sbupdate()
9716 ACQUIRE_LOCK(ump); in softdep_setup_sbupdate()
9718 FREE_LOCK(ump); in softdep_setup_sbupdate()
9726 first_unlinked_inodedep(struct ufsmount *ump) in first_unlinked_inodedep() argument
9731 LOCK_OWNED(ump); in first_unlinked_inodedep()
9732 for (inodedep = TAILQ_LAST(&ump->softdep_unlinked, inodedeplst); in first_unlinked_inodedep()
9818 struct ufsmount *ump; in unlinked_inodedep() local
9820 ump = VFSTOUFS(mp); in unlinked_inodedep()
9821 LOCK_OWNED(ump); in unlinked_inodedep()
9824 ump->um_fs->fs_fmod = 1; in unlinked_inodedep()
9828 TAILQ_INSERT_HEAD(&ump->softdep_unlinked, inodedep, id_unlinked); in unlinked_inodedep()
9839 struct ufsmount *ump; in clear_unlinked_inodedep() local
9850 ump = VFSTOUFS(inodedep->id_list.wk_mp); in clear_unlinked_inodedep()
9851 fs = ump->um_fs; in clear_unlinked_inodedep()
9855 LOCK_OWNED(ump); in clear_unlinked_inodedep()
9893 FREE_LOCK(ump); in clear_unlinked_inodedep()
9895 bp = getblk(ump->um_devvp, btodb(fs->fs_sblockloc), in clear_unlinked_inodedep()
9899 error = ffs_breadz(ump, ump->um_devvp, dbn, dbn, in clear_unlinked_inodedep()
9903 ACQUIRE_LOCK(ump); in clear_unlinked_inodedep()
9913 FREE_LOCK(ump); in clear_unlinked_inodedep()
9915 ACQUIRE_LOCK(ump); in clear_unlinked_inodedep()
9930 TAILQ_REMOVE(&ump->softdep_unlinked, inodedep, id_unlinked); in clear_unlinked_inodedep()
9931 FREE_LOCK(ump); in clear_unlinked_inodedep()
9941 softdep_setup_sbupdate(ump, bpfs, bp); in clear_unlinked_inodedep()
9961 ACQUIRE_LOCK(ump); in clear_unlinked_inodedep()
9967 FREE_LOCK(ump); in clear_unlinked_inodedep()
9968 bp = getblk(ump->um_devvp, btodb(fs->fs_sblockloc), in clear_unlinked_inodedep()
9973 softdep_setup_sbupdate(ump, bpfs, bp); in clear_unlinked_inodedep()
9980 ACQUIRE_LOCK(ump); in clear_unlinked_inodedep()
9990 TAILQ_REMOVE(&ump->softdep_unlinked, inodedep, id_unlinked); in clear_unlinked_inodedep()
10004 struct ufsmount *ump; in handle_workitem_remove() local
10015 ump = VFSTOUFS(mp); in handle_workitem_remove()
10022 ACQUIRE_LOCK(ump); in handle_workitem_remove()
10073 FREE_LOCK(ump); in handle_workitem_remove()
10101 FREE_LOCK(ump); in handle_workitem_remove()
10122 FREE_LOCK(ump); in handle_workitem_remove()
10127 FREE_LOCK(ump); in handle_workitem_remove()
10154 struct ufsmount *ump; in handle_workitem_freefile() local
10160 ump = VFSTOUFS(freefile->fx_list.wk_mp); in handle_workitem_freefile()
10161 fs = ump->um_fs; in handle_workitem_freefile()
10163 ACQUIRE_LOCK(ump); in handle_workitem_freefile()
10164 error = inodedep_lookup(UFSTOVFS(ump), freefile->fx_oldinum, 0, &idp); in handle_workitem_freefile()
10165 FREE_LOCK(ump); in handle_workitem_freefile()
10169 UFS_LOCK(ump); in handle_workitem_freefile()
10171 UFS_UNLOCK(ump); in handle_workitem_freefile()
10174 if ((error = ffs_freefile(ump, fs, freefile->fx_devvp, in handle_workitem_freefile()
10177 ACQUIRE_LOCK(ump); in handle_workitem_freefile()
10179 FREE_LOCK(ump); in handle_workitem_freefile()
10228 struct ufsmount *ump; in softdep_disk_io_initiation() local
10241 ump = softdep_bp_to_mp(bp); in softdep_disk_io_initiation()
10242 if (ump == NULL) in softdep_disk_io_initiation()
10246 ACQUIRE_LOCK(ump); in softdep_disk_io_initiation()
10329 FREE_LOCK(ump); in softdep_disk_io_initiation()
10408 struct ufsmount *ump; in initiate_write_inodeblock_ufs1() local
10420 ump = VFSTOUFS(inodedep->id_list.wk_mp); in initiate_write_inodeblock_ufs1()
10421 LOCK_OWNED(ump); in initiate_write_inodeblock_ufs1()
10442 FREE_LOCK(ump); in initiate_write_inodeblock_ufs1()
10445 ACQUIRE_LOCK(ump); in initiate_write_inodeblock_ufs1()
10580 struct ufsmount *ump; in initiate_write_inodeblock_ufs2() local
10592 ump = VFSTOUFS(inodedep->id_list.wk_mp); in initiate_write_inodeblock_ufs2()
10593 LOCK_OWNED(ump); in initiate_write_inodeblock_ufs2()
10615 FREE_LOCK(ump); in initiate_write_inodeblock_ufs2()
10618 ACQUIRE_LOCK(ump); in initiate_write_inodeblock_ufs2()
10714 if (!ffs_fsfail_cleanup(ump, 0) && in initiate_write_inodeblock_ufs2()
10722 if (!ffs_fsfail_cleanup(ump, 0) && in initiate_write_inodeblock_ufs2()
10900 struct ufsmount *ump; in initiate_write_indirdep() local
10916 ump = VFSTOUFS(indirdep->ir_list.wk_mp); in initiate_write_indirdep()
10917 LOCK_OWNED(ump); in initiate_write_indirdep()
10918 FREE_LOCK(ump); in initiate_write_indirdep()
10921 ACQUIRE_LOCK(ump); in initiate_write_indirdep()
10942 struct ufsmount *ump; in softdep_setup_inofree() local
10949 ump = VFSTOUFS(mp); in softdep_setup_inofree()
10950 ACQUIRE_LOCK(ump); in softdep_setup_inofree()
10951 KASSERT(doingrecovery || ffs_fsfail_cleanup(ump, 0) || in softdep_setup_inofree()
10953 ino % ump->um_fs->fs_ipg), in softdep_setup_inofree()
10973 FREE_LOCK(ump); in softdep_setup_inofree()
10993 struct ufsmount *ump; in softdep_setup_blkfree() local
11010 ump = VFSTOUFS(mp); in softdep_setup_blkfree()
11011 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_setup_blkfree()
11013 ACQUIRE_LOCK(ump); in softdep_setup_blkfree()
11015 fs = ump->um_fs; in softdep_setup_blkfree()
11036 if (!doingrecovery && !ffs_fsfail_cleanup(ump, 0)) { in softdep_setup_blkfree()
11093 FREE_LOCK(ump); in softdep_setup_blkfree()
11231 struct ufsmount *ump; in softdep_handle_error() local
11233 ump = softdep_bp_to_mp(bp); in softdep_handle_error()
11234 if (ump == NULL) in softdep_handle_error()
11237 if (ffs_fsfail_cleanup(ump, bp->b_error)) { in softdep_handle_error()
11263 struct ufsmount *ump; in softdep_disk_write_complete() local
11268 ump = softdep_bp_to_mp(bp); in softdep_disk_write_complete()
11269 KASSERT(LIST_EMPTY(&bp->b_dep) || ump != NULL, in softdep_disk_write_complete()
11272 if (ump == NULL) in softdep_disk_write_complete()
11283 ACQUIRE_LOCK(ump); in softdep_disk_write_complete()
11310 FREE_LOCK(ump); in softdep_disk_write_complete()
11408 FREE_LOCK(ump); in softdep_disk_write_complete()
12145 struct ufsmount *ump; in handle_written_bmsafemap() local
12156 ump = VFSTOUFS(bmsafemap->sm_list.wk_mp); in handle_written_bmsafemap()
12263 LIST_INSERT_HEAD(&ump->softdep_dirtycg, bmsafemap, sm_next); in handle_written_bmsafemap()
12443 struct ufsmount *ump; in softdep_load_inodeblock() local
12445 ump = ITOUMP(ip); in softdep_load_inodeblock()
12446 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_load_inodeblock()
12452 ACQUIRE_LOCK(ump); in softdep_load_inodeblock()
12453 if (inodedep_lookup(UFSTOVFS(ump), ip->i_number, 0, &inodedep) == 0) { in softdep_load_inodeblock()
12454 FREE_LOCK(ump); in softdep_load_inodeblock()
12460 (ump->um_flags & UM_FSFAIL_CLEANUP) != 0, in softdep_load_inodeblock()
12467 FREE_LOCK(ump); in softdep_load_inodeblock()
12488 struct ufsmount *ump; in softdep_update_inodeblock() local
12495 ump = ITOUMP(ip); in softdep_update_inodeblock()
12496 mp = UFSTOVFS(ump); in softdep_update_inodeblock()
12499 fs = ump->um_fs; in softdep_update_inodeblock()
12507 ACQUIRE_LOCK(ump); in softdep_update_inodeblock()
12510 FREE_LOCK(ump); in softdep_update_inodeblock()
12589 FREE_LOCK(ump); in softdep_update_inodeblock()
12594 FREE_LOCK(ump); in softdep_update_inodeblock()
12598 ibp = getdirtybuf(ibp, LOCK_PTR(ump), MNT_WAIT); in softdep_update_inodeblock()
12607 FREE_LOCK(ump); in softdep_update_inodeblock()
12610 FREE_LOCK(ump); in softdep_update_inodeblock()
12660 struct ufsmount *ump; in softdep_fsync() local
12675 ump = VFSTOUFS(mp); in softdep_fsync()
12676 fs = ump->um_fs; in softdep_fsync()
12679 ACQUIRE_LOCK(ump); in softdep_fsync()
12682 FREE_LOCK(ump); in softdep_fsync()
12740 FREE_LOCK(ump); in softdep_fsync()
12762 ACQUIRE_LOCK(ump); in softdep_fsync()
12775 FREE_LOCK(ump); in softdep_fsync()
12791 FREE_LOCK(ump); in softdep_fsync()
12803 if (!ffs_fsfail_cleanup(ump, error)) in softdep_fsync()
12805 ACQUIRE_LOCK(ump); in softdep_fsync()
12809 FREE_LOCK(ump); in softdep_fsync()
12871 struct ufsmount *ump; in sync_cgs() local
12877 ump = VFSTOUFS(mp); in sync_cgs()
12879 ACQUIRE_LOCK(ump); in sync_cgs()
12880 LIST_INSERT_HEAD(&ump->softdep_dirtycg, sentinel, sm_next); in sync_cgs()
12895 bp = getdirtybuf(bmsafemap->sm_buf, LOCK_PTR(ump), waitfor); in sync_cgs()
12902 FREE_LOCK(ump); in sync_cgs()
12907 ACQUIRE_LOCK(ump); in sync_cgs()
12912 FREE_LOCK(ump); in sync_cgs()
12968 struct ufsmount *ump; in softdep_sync_buf() local
12984 ump = VFSTOUFS(vp->v_mount); in softdep_sync_buf()
12985 ACQUIRE_LOCK(ump); in softdep_sync_buf()
13009 nbp = getdirtybuf(nbp, LOCK_PTR(ump), waitfor); in softdep_sync_buf()
13012 FREE_LOCK(ump); in softdep_sync_buf()
13015 ACQUIRE_LOCK(ump); in softdep_sync_buf()
13040 nbp = getdirtybuf(nbp, LOCK_PTR(ump), waitfor); in softdep_sync_buf()
13043 FREE_LOCK(ump); in softdep_sync_buf()
13046 ACQUIRE_LOCK(ump); in softdep_sync_buf()
13099 FREE_LOCK(ump); in softdep_sync_buf()
13115 struct ufsmount *ump; in flush_inodedep_deps() local
13131 ump = VFSTOUFS(mp); in flush_inodedep_deps()
13132 LOCK_OWNED(ump); in flush_inodedep_deps()
13136 FREE_LOCK(ump); in flush_inodedep_deps()
13137 ACQUIRE_LOCK(ump); in flush_inodedep_deps()
13179 struct ufsmount *ump; in flush_deplist() local
13184 ump = VFSTOUFS(adp->ad_list.wk_mp); in flush_deplist()
13185 LOCK_OWNED(ump); in flush_deplist()
13195 bp = getdirtybuf(bp, LOCK_PTR(ump), waitfor); in flush_deplist()
13201 FREE_LOCK(ump); in flush_deplist()
13206 ACQUIRE_LOCK(ump); in flush_deplist()
13222 struct ufsmount *ump; in flush_newblk_dep() local
13235 ump = VFSTOUFS(mp); in flush_newblk_dep()
13236 ACQUIRE_LOCK(ump); in flush_newblk_dep()
13244 FREE_LOCK(ump); in flush_newblk_dep()
13261 bp = getdirtybuf(bp, LOCK_PTR(ump), MNT_WAIT); in flush_newblk_dep()
13264 FREE_LOCK(ump); in flush_newblk_dep()
13268 ACQUIRE_LOCK(ump); in flush_newblk_dep()
13274 FREE_LOCK(ump); in flush_newblk_dep()
13281 ACQUIRE_LOCK(ump); in flush_newblk_dep()
13304 ACQUIRE_LOCK(ump); in flush_newblk_dep()
13321 struct ufsmount *ump; in flush_pagedep_deps() local
13330 ump = VFSTOUFS(mp); in flush_pagedep_deps()
13331 LOCK_OWNED(ump); in flush_pagedep_deps()
13339 FREE_LOCK(ump); in flush_pagedep_deps()
13342 ACQUIRE_LOCK(ump); in flush_pagedep_deps()
13369 if (inodedep_lookup(UFSTOVFS(ump), inum, 0, &inodedep) == 0) in flush_pagedep_deps()
13383 FREE_LOCK(ump); in flush_pagedep_deps()
13399 ACQUIRE_LOCK(ump); in flush_pagedep_deps()
13406 inodedep_lookup(UFSTOVFS(ump), inum, 0, in flush_pagedep_deps()
13424 if (inodedep_lookup(UFSTOVFS(ump), inum, 0, &inodedep) == 0) in flush_pagedep_deps()
13432 bp = getdirtybuf(bp, LOCK_PTR(ump), MNT_WAIT); in flush_pagedep_deps()
13435 FREE_LOCK(ump); in flush_pagedep_deps()
13438 ACQUIRE_LOCK(ump); in flush_pagedep_deps()
13448 FREE_LOCK(ump); in flush_pagedep_deps()
13457 ACQUIRE_LOCK(ump); in flush_pagedep_deps()
13464 inodedep_lookup(UFSTOVFS(ump), inum, 0, &inodedep); in flush_pagedep_deps()
13471 ACQUIRE_LOCK(ump); in flush_pagedep_deps()
13489 struct ufsmount *ump; in softdep_slowdown() local
13495 ump = VFSTOUFS(vp->v_mount); in softdep_slowdown()
13496 ACQUIRE_LOCK(ump); in softdep_slowdown()
13502 if (journal_space(ump, 0) == 0) in softdep_slowdown()
13515 ump->softdep_curdeps[D_DIRREM] < in softdep_slowdown()
13517 ump->softdep_curdeps[D_INODEDEP] < in softdep_slowdown()
13519 ump->softdep_curdeps[D_INDIRDEP] < in softdep_slowdown()
13521 ump->softdep_curdeps[D_FREEBLKS] < in softdep_slowdown()
13523 FREE_LOCK(ump); in softdep_slowdown()
13530 if (ump->softdep_curdeps[D_INDIRDEP] < in softdep_slowdown()
13532 softdep_speedup(ump); in softdep_slowdown()
13534 FREE_LOCK(ump); in softdep_slowdown()
13596 struct ufsmount *ump; in softdep_request_cleanup() local
13619 ump = VFSTOUFS(mp); in softdep_request_cleanup()
13620 mtx_assert(UFS_MTX(ump), MA_OWNED); in softdep_request_cleanup()
13621 UFS_UNLOCK(ump); in softdep_request_cleanup()
13624 UFS_LOCK(ump); in softdep_request_cleanup()
13631 ACQUIRE_LOCK(ump); in softdep_request_cleanup()
13634 FREE_LOCK(ump); in softdep_request_cleanup()
13669 UFS_LOCK(ump); in softdep_request_cleanup()
13676 softdep_send_speedup(ump, needed * fs->fs_bsize, in softdep_request_cleanup()
13678 if ((resource == FLUSH_BLOCKS_WAIT && ump->softdep_on_worklist > 0 && in softdep_request_cleanup()
13682 ACQUIRE_LOCK(ump); in softdep_request_cleanup()
13683 if (ump->softdep_on_worklist > 0 && in softdep_request_cleanup()
13684 process_worklist_item(UFSTOVFS(ump), in softdep_request_cleanup()
13685 ump->softdep_on_worklist, LK_NOWAIT) != 0) in softdep_request_cleanup()
13687 FREE_LOCK(ump); in softdep_request_cleanup()
13695 ACQUIRE_LOCK(ump); in softdep_request_cleanup()
13699 if ((ump->um_softdep->sd_flags & FLUSH_DI_ACTIVE) == 0) { in softdep_request_cleanup()
13700 ump->um_softdep->sd_flags |= FLUSH_DI_ACTIVE; in softdep_request_cleanup()
13701 FREE_LOCK(ump); in softdep_request_cleanup()
13703 ACQUIRE_LOCK(ump); in softdep_request_cleanup()
13704 ump->um_softdep->sd_flags &= ~FLUSH_DI_ACTIVE; in softdep_request_cleanup()
13705 wakeup(&ump->um_softdep->sd_flags); in softdep_request_cleanup()
13707 while ((ump->um_softdep->sd_flags & in softdep_request_cleanup()
13709 msleep(&ump->um_softdep->sd_flags, in softdep_request_cleanup()
13710 LOCK_PTR(ump), PVM, "ffsvina", hz); in softdep_request_cleanup()
13714 FREE_LOCK(ump); in softdep_request_cleanup()
13737 ACQUIRE_LOCK(ump); in softdep_request_cleanup()
13738 if ((ump->um_softdep->sd_flags & FLUSH_RC_ACTIVE) == 0) { in softdep_request_cleanup()
13739 ump->um_softdep->sd_flags |= FLUSH_RC_ACTIVE; in softdep_request_cleanup()
13740 FREE_LOCK(ump); in softdep_request_cleanup()
13741 failed_vnode = softdep_request_cleanup_flush(mp, ump); in softdep_request_cleanup()
13742 ACQUIRE_LOCK(ump); in softdep_request_cleanup()
13743 ump->um_softdep->sd_flags &= ~FLUSH_RC_ACTIVE; in softdep_request_cleanup()
13744 wakeup(&ump->um_softdep->sd_flags); in softdep_request_cleanup()
13745 FREE_LOCK(ump); in softdep_request_cleanup()
13746 if (ump->softdep_on_worklist > 0) { in softdep_request_cleanup()
13752 while ((ump->um_softdep->sd_flags & in softdep_request_cleanup()
13754 msleep(&ump->um_softdep->sd_flags, in softdep_request_cleanup()
13755 LOCK_PTR(ump), PVM, "ffsrca", hz); in softdep_request_cleanup()
13757 FREE_LOCK(ump); in softdep_request_cleanup()
13764 UFS_LOCK(ump); in softdep_request_cleanup()
13778 softdep_request_cleanup_flush(struct mount *mp, struct ufsmount *ump) in softdep_request_cleanup_flush() argument
13802 lvp = ump->um_devvp; in softdep_request_cleanup_flush()
13811 softdep_excess_items(struct ufsmount *ump, int item) in softdep_excess_items() argument
13816 ump->softdep_curdeps[item] > max_softdeps / in softdep_excess_items()
13823 struct ufsmount *ump; in schedule_cleanup() local
13826 ump = VFSTOUFS(mp); in schedule_cleanup()
13827 LOCK_OWNED(ump); in schedule_cleanup()
13828 FREE_LOCK(ump); in schedule_cleanup()
13851 struct ufsmount *ump; in softdep_ast_cleanup_proc() local
13862 ump = VFSTOUFS(mp); in softdep_ast_cleanup_proc()
13865 ACQUIRE_LOCK(ump); in softdep_ast_cleanup_proc()
13866 if (softdep_excess_items(ump, D_INODEDEP)) { in softdep_ast_cleanup_proc()
13870 if (softdep_excess_items(ump, D_DIRREM)) { in softdep_ast_cleanup_proc()
13874 FREE_LOCK(ump); in softdep_ast_cleanup_proc()
13875 if (softdep_excess_items(ump, D_NEWBLK) || in softdep_ast_cleanup_proc()
13876 softdep_excess_items(ump, D_ALLOCDIRECT) || in softdep_ast_cleanup_proc()
13877 softdep_excess_items(ump, D_ALLOCINDIR)) { in softdep_ast_cleanup_proc()
13906 struct ufsmount *ump; in request_cleanup() local
13908 ump = VFSTOUFS(mp); in request_cleanup()
13909 LOCK_OWNED(ump); in request_cleanup()
13923 if (ump->softdep_on_worklist > max_softdeps / 10) { in request_cleanup()
13934 if (softdep_speedup(ump) && in request_cleanup()
13975 FREE_LOCK(ump); in request_cleanup()
13985 ACQUIRE_LOCK(ump); in request_cleanup()
14013 struct ufsmount *ump; in check_clear_deps() local
14023 ump = VFSTOUFS(mp); in check_clear_deps()
14024 suj_susp = ump->um_softdep->sd_jblocks != NULL && in check_clear_deps()
14025 ump->softdep_jblocks->jb_suspended; in check_clear_deps()
14027 FREE_LOCK(ump); in check_clear_deps()
14028 softdep_send_speedup(ump, 0, BIO_SPEEDUP_TRIM | BIO_SPEEDUP_WRITE); in check_clear_deps()
14029 ACQUIRE_LOCK(ump); in check_clear_deps()
14069 struct ufsmount *ump; in clear_remove() local
14075 ump = VFSTOUFS(mp); in clear_remove()
14076 LOCK_OWNED(ump); in clear_remove()
14078 for (cnt = 0; cnt <= ump->pagedep_hash_size; cnt++) { in clear_remove()
14079 pagedephd = &ump->pagedep_hashtbl[ump->pagedep_nextclean++]; in clear_remove()
14080 if (ump->pagedep_nextclean > ump->pagedep_hash_size) in clear_remove()
14081 ump->pagedep_nextclean = 0; in clear_remove()
14088 FREE_LOCK(ump); in clear_remove()
14113 ACQUIRE_LOCK(ump); in clear_remove()
14128 struct ufsmount *ump; in clear_inodedeps() local
14134 ump = VFSTOUFS(mp); in clear_inodedeps()
14135 fs = ump->um_fs; in clear_inodedeps()
14136 LOCK_OWNED(ump); in clear_inodedeps()
14142 for (cnt = 0; cnt <= ump->inodedep_hash_size; cnt++) { in clear_inodedeps()
14143 inodedephd = &ump->inodedep_hashtbl[ump->inodedep_nextclean++]; in clear_inodedeps()
14144 if (ump->inodedep_nextclean > ump->inodedep_hash_size) in clear_inodedeps()
14145 ump->inodedep_nextclean = 0; in clear_inodedeps()
14168 FREE_LOCK(ump); in clear_inodedeps()
14172 ACQUIRE_LOCK(ump); in clear_inodedeps()
14180 ACQUIRE_LOCK(ump); in clear_inodedeps()
14201 ACQUIRE_LOCK(ump); in clear_inodedeps()
14209 struct ufsmount *ump; in softdep_buf_append() local
14215 ump = VFSTOUFS(wk->wk_mp); in softdep_buf_append()
14216 ACQUIRE_LOCK(ump); in softdep_buf_append()
14221 FREE_LOCK(ump); in softdep_buf_append()
14233 struct ufsmount *ump; in softdep_inode_append() local
14236 ump = ITOUMP(ip); in softdep_inode_append()
14237 KASSERT(MOUNTEDSOFTDEP(UFSTOVFS(ump)) != 0, in softdep_inode_append()
14239 fs = ump->um_fs; in softdep_inode_append()
14240 error = bread(ump->um_devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), in softdep_inode_append()
14255 struct ufsmount *ump; in softdep_freework() local
14261 ump = VFSTOUFS(wk->wk_mp); in softdep_freework()
14262 ACQUIRE_LOCK(ump); in softdep_freework()
14264 FREE_LOCK(ump); in softdep_freework()
14327 struct ufsmount *ump; in softdep_count_dependencies() local
14341 ump = softdep_bp_to_mp(bp); in softdep_count_dependencies()
14342 if (ump == NULL) in softdep_count_dependencies()
14345 ACQUIRE_LOCK(ump); in softdep_count_dependencies()
14476 FREE_LOCK(ump); in softdep_count_dependencies()
14555 struct ufsmount *ump; in softdep_check_suspend() local
14598 ump = VFSTOUFS(mp); in softdep_check_suspend()
14600 if (!TRY_ACQUIRE_LOCK(ump)) { in softdep_check_suspend()
14602 ACQUIRE_LOCK(ump); in softdep_check_suspend()
14603 FREE_LOCK(ump); in softdep_check_suspend()
14609 FREE_LOCK(ump); in softdep_check_suspend()
14622 for (inodedep = TAILQ_FIRST(&ump->softdep_unlinked); in softdep_check_suspend()
14642 if ((ump->um_flags & UM_FSFAIL_CLEANUP) != 0 && ump->softdep_deps > 0 && in softdep_check_suspend()
14643 ump->softdep_deps == ump->softdep_curdeps[D_INDIRDEP]) { in softdep_check_suspend()
14644 LIST_FOREACH_SAFE(wk, &ump->softdep_alldeps[D_INDIRDEP], in softdep_check_suspend()
14665 FREE_LOCK(ump); in softdep_check_suspend()
14667 while (!TRY_ACQUIRE_LOCK(ump)) { in softdep_check_suspend()
14669 ACQUIRE_LOCK(ump); in softdep_check_suspend()
14670 FREE_LOCK(ump); in softdep_check_suspend()
14687 ump->softdep_deps != unlinked || in softdep_check_suspend()
14688 softdep_accdepcnt != ump->softdep_accdeps || in softdep_check_suspend()
14693 FREE_LOCK(ump); in softdep_check_suspend()
14708 struct ufsmount *ump; in softdep_get_depcounts() local
14715 ump = VFSTOUFS(mp); in softdep_get_depcounts()
14716 ACQUIRE_LOCK(ump); in softdep_get_depcounts()
14717 *softdep_depsp = ump->softdep_deps; in softdep_get_depcounts()
14718 *softdep_accdepsp = ump->softdep_accdeps; in softdep_get_depcounts()
14719 FREE_LOCK(ump); in softdep_get_depcounts()
14767 extern void db_print_ffs(struct ufsmount *ump);
14769 db_print_ffs(struct ufsmount *ump) in db_print_ffs() argument
14771 db_printf("mp %p (%s) devvp %p\n", ump->um_mountp, in db_print_ffs()
14772 ump->um_mountp->mnt_stat.f_mntonname, ump->um_devvp); in db_print_ffs()
14773 db_printf(" fs %p ", ump->um_fs); in db_print_ffs()
14775 if (ump->um_softdep != NULL) { in db_print_ffs()
14777 ump->softdep_on_worklist, ump->softdep_deps, in db_print_ffs()
14778 ump->softdep_req); in db_print_ffs()
14898 struct ufsmount *ump; in DB_SHOW_COMMAND() local
14905 ump = (struct ufsmount *)addr; in DB_SHOW_COMMAND()
14906 for (cnt = 0; cnt < ump->inodedep_hash_size; cnt++) { in DB_SHOW_COMMAND()
14907 inodedephd = &ump->inodedep_hashtbl[cnt]; in DB_SHOW_COMMAND()