Lines Matching defs:dfnp
369 fnnode_t *dfnp = NULL;
429 dfnp = vntofn(dvp);
435 AUTOFS_DPRINT((3, "auto_lookup: dvp=%p dfnp=%p\n", (void *)dvp,
436 (void *)dfnp));
442 mutex_enter(&dfnp->fn_lock);
443 if (dfnp->fn_flags & (MF_LOOKUP | MF_INPROG)) {
444 mutex_exit(&dfnp->fn_lock);
445 error = auto_wait4mount(dfnp);
453 mutex_exit(&dfnp->fn_lock);
472 rw_enter(&dfnp->fn_rwlock, RW_READER);
473 error = auto_search(dfnp, nm, &fnp, cred);
479 if (dfnp->fn_dirents) {
488 * the mount. 'dfnp' will be the mountpoint.
491 VN_HOLD(fntovn(dfnp));
492 fnp = dfnp;
497 * 'dfnp' is the root of the indirect AUTOFS.
499 if (rw_tryupgrade(&dfnp->fn_rwlock) == 0) {
507 rw_exit(&dfnp->fn_rwlock);
508 rw_enter(&dfnp->fn_rwlock, RW_WRITER);
509 error = auto_search(dfnp, nm, &fnp, cred);
512 ASSERT(RW_WRITE_HELD(&dfnp->fn_rwlock));
518 error = auto_enter(dfnp, nm, &fnp, kcred);
522 } else if ((dfnp->fn_dirents == NULL) &&
524 ((fntovn(dfnp->fn_parent))->v_flag & VROOT)) {
526 * dfnp is the actual 'mountpoint' of indirect map,
531 VN_HOLD(fntovn(dfnp));
532 fnp = dfnp;
534 searchnm = dfnp->fn_name;
539 rw_exit(&dfnp->fn_rwlock);
543 rw_exit(&dfnp->fn_rwlock);
561 rw_exit(&dfnp->fn_rwlock);
650 auto_log(dfnp->fn_globals->fng_verbose,
651 dfnp->fn_globals->fng_zoneid, CE_WARN,
1303 fnnode_t *dfnp = fnp->fn_parent;
1314 ASSERT(dfnp != NULL);
1315 ASSERT(rw_owner(&dfnp->fn_rwlock) != curthread);
1316 rw_enter(&dfnp->fn_rwlock, RW_WRITER);
1326 auto_disconnect(dfnp, fnp);
1327 rw_exit(&dfnp->fn_rwlock);
1334 rw_exit(&dfnp->fn_rwlock);