Lines Matching refs:currfnp
2282 fnnode_t *currfnp; /* currently examined node in the tree */ in unmount_subtree() local
2299 currfnp = lastfnp = rootfnp; in unmount_subtree()
2302 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2303 while (currfnp != rootfnp || rootfnp->fn_unmount_ref_time < timestamp) { in unmount_subtree()
2304 curvp = fntovn(currfnp); in unmount_subtree()
2306 (void *)currfnp, currfnp->fn_name)); in unmount_subtree()
2313 if (currfnp->fn_unmount_ref_time == timestamp && in unmount_subtree()
2314 currfnp != lastfnp) { in unmount_subtree()
2315 (void) try_unmount_node(currfnp, force); in unmount_subtree()
2316 lastfnp = currfnp; in unmount_subtree()
2317 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2328 if (currfnp->fn_unmount_ref_time >= timestamp || in unmount_subtree()
2330 mutex_exit(&currfnp->fn_lock); in unmount_subtree()
2335 rw_enter(&currfnp->fn_parent->fn_rwlock, RW_READER); in unmount_subtree()
2336 if ((nextfnp = currfnp->fn_next) != NULL) { in unmount_subtree()
2338 rw_exit(&currfnp->fn_parent->fn_rwlock); in unmount_subtree()
2340 currfnp = nextfnp; in unmount_subtree()
2341 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2344 rw_exit(&currfnp->fn_parent->fn_rwlock); in unmount_subtree()
2350 nextfnp = currfnp->fn_parent; in unmount_subtree()
2353 currfnp = nextfnp; in unmount_subtree()
2354 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2362 if (currfnp->fn_unmount_ref_time < timestamp) in unmount_subtree()
2363 currfnp->fn_unmount_ref_time = timestamp; in unmount_subtree()
2377 if (!rw_tryenter(&currfnp->fn_rwlock, RW_READER)) { in unmount_subtree()
2378 mutex_exit(&currfnp->fn_lock); in unmount_subtree()
2379 rw_enter(&currfnp->fn_rwlock, RW_READER); in unmount_subtree()
2380 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2382 if (currfnp->fn_flags & MF_INPROG) { in unmount_subtree()
2383 rw_exit(&currfnp->fn_rwlock); in unmount_subtree()
2386 mutex_exit(&currfnp->fn_lock); in unmount_subtree()
2393 if ((nextfnp = currfnp->fn_trigger) != NULL) { in unmount_subtree()
2395 rw_exit(&currfnp->fn_rwlock); in unmount_subtree()
2397 currfnp = nextfnp; in unmount_subtree()
2398 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2402 if ((nextfnp = currfnp->fn_dirents) != NULL) { in unmount_subtree()
2404 rw_exit(&currfnp->fn_rwlock); in unmount_subtree()
2406 currfnp = nextfnp; in unmount_subtree()
2407 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2410 rw_exit(&currfnp->fn_rwlock); in unmount_subtree()
2430 currfnp = vntofn(newvp); in unmount_subtree()
2431 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2435 mutex_enter(&currfnp->fn_lock); in unmount_subtree()
2442 return (try_unmount_node(currfnp, force)); in unmount_subtree()