Lines Matching refs:dfnp

905 auto_invalid_autofs(fninfo_t *dfnip, fnnode_t *dfnp, action_list *p)
914 fngp = dfnp->fn_globals;
915 dvp = fntovn(dfnp);
951 * If the parent (dfnp) is a mount point (VROOT), then
955 * (dfnip->fi_path + dfnp->fn_name + m->dir).
957 * Furthermore, "." only makes sense if dfnp is a
964 if (m->dir[1] == '\0' && !(dfnp->fn_flags & MF_TRIGGER))
970 dfnip->fi_path, dfnp->fn_name, m->dir + 1);
986 auto_invalid_action(fninfo_t *dfnip, fnnode_t *dfnp, action_list *alistpp)
994 return (auto_invalid_autofs(dfnip, dfnp, alistpp));
1001 fnnode_t *dfnp,
1023 fngp = dfnp->fn_globals;
1024 dvp = fntovn(dfnp);
1034 if (auto_invalid_action(dfnip, dfnp, p)) {
1059 mutex_enter(&dfnp->fn_lock);
1060 dfnp->fn_flags |= MF_MOUNTPOINT;
1061 ASSERT(dfnp->fn_dirents == NULL);
1062 mutex_exit(&dfnp->fn_lock);
1068 mutex_enter(&dfnp->fn_lock);
1069 if (dfnp->fn_flags & MF_MOUNTPOINT) {
1071 "flag on %s.", dfnp->fn_name));
1072 ASSERT(dfnp->fn_dirents == NULL);
1073 ASSERT(dfnp->fn_trigger == NULL);
1075 dfnp->fn_flags &= ~MF_MOUNTPOINT;
1076 mutex_exit(&dfnp->fn_lock);
1124 dfnip->fi_path, dfnp->fn_name, mntpnt);
1137 rw_enter(&dfnp->fn_rwlock, RW_WRITER);
1138 error = auto_search(dfnp, mntpnt, &mfnp, cred);
1152 ASSERT((dfnp->fn_flags & MF_MOUNTPOINT) == 0);
1153 error = auto_enter(dfnp, mntpnt, &mfnp, cred);
1159 rw_exit(&dfnp->fn_rwlock);
1283 newfnp->fn_parent = dfnp;
1302 newfnp->fn_next = dfnp->fn_trigger;
1304 rw_enter(&dfnp->fn_rwlock, RW_WRITER);
1305 dfnp->fn_trigger = newfnp;
1306 rw_exit(&dfnp->fn_rwlock);
1308 * Don't VN_RELE(newvp) here since dfnp now
1312 newfnp->fn_name, dfnp->fn_name));
1314 dfnp->fn_trigger->fn_name));
1328 dfnp->fn_atime = dfnp->fn_mtime = now;
1359 mutex_enter(&dfnp->fn_lock);
1360 ASSERT(dfnp->fn_alp == NULL);
1361 dfnp->fn_alp = alp;
1362 mutex_exit(&dfnp->fn_lock);
1468 fnnode_t *dfnp,
1476 "auto_disconnect: dfnp=%p fnp=%p linkcnt=%d\n v_count=%d",
1477 (void *)dfnp, (void *)fnp, fnp->fn_linkcnt, vp->v_count));
1479 ASSERT(RW_WRITE_HELD(&dfnp->fn_rwlock));
1488 * Decrement by 1 because we're removing the entry in dfnp.
1494 * only changed while holding parent's (dfnp) rw_lock
1498 fnpp = &dfnp->fn_dirents;
1504 (void *)fnp, (void *)dfnp);
1510 dfnp->fn_linkcnt--;
1511 dfnp->fn_size--;
1526 auto_enter(fnnode_t *dfnp, char *name, fnnode_t **fnpp, cred_t *cred)
1529 vnode_t *dvp = fntovn(dfnp);
1533 AUTOFS_DPRINT((4, "auto_enter: dfnp=%p, name=%s ", (void *)dfnp, name));
1535 ASSERT(RW_WRITE_HELD(&dfnp->fn_rwlock));
1537 cfnp = dfnp->fn_dirents;
1542 spp = &dfnp->fn_dirents;
1578 dfnp->fn_globals);
1591 (*fnpp)->fn_parent = dfnp;
1596 * dfnp->fn_linkcnt and dfnp->fn_size protected by dfnp->rw_lock
1598 dfnp->fn_linkcnt++; /* child now holds reference to parent '..' */
1599 dfnp->fn_size++;
1601 dfnp->fn_ref_time = gethrestime_sec();
1608 auto_search(fnnode_t *dfnp, char *name, fnnode_t **fnpp, cred_t *cred)
1614 AUTOFS_DPRINT((4, "auto_search: dfnp=%p, name=%s...\n",
1615 (void *)dfnp, name));
1617 dvp = fntovn(dfnp);
1623 ASSERT(RW_LOCK_HELD(&dfnp->fn_rwlock));
1624 for (p = dfnp->fn_dirents; p != NULL; p = p->fn_next) {