Lines Matching refs:fnp

175 	fifonode_t *fnp = &fdp->fifo_fnode[0];  in fnode_constructor()  local
182 while ((char *)fnp < (char *)buf + size) { in fnode_constructor()
188 fnp->fn_vnode = NULL; /* mark for destructor */ in fnode_constructor()
192 fnp->fn_vnode = vp; in fnode_constructor()
194 fnp->fn_lock = flp; in fnode_constructor()
195 fnp->fn_open = 0; in fnode_constructor()
196 fnp->fn_dest = fnp; in fnode_constructor()
197 fnp->fn_mp = NULL; in fnode_constructor()
198 fnp->fn_count = 0; in fnode_constructor()
199 fnp->fn_rsynccnt = 0; in fnode_constructor()
200 fnp->fn_wsynccnt = 0; in fnode_constructor()
201 fnp->fn_wwaitcnt = 0; in fnode_constructor()
202 fnp->fn_insync = 0; in fnode_constructor()
203 fnp->fn_pcredp = NULL; in fnode_constructor()
204 fnp->fn_cpid = -1; in fnode_constructor()
208 fnp->fn_ino = 0; in fnode_constructor()
210 cv_init(&fnp->fn_wait_cv, NULL, CV_DEFAULT, NULL); in fnode_constructor()
215 vp->v_data = (caddr_t)fnp; in fnode_constructor()
218 fnp++; in fnode_constructor()
228 fifonode_t *fnp = &fdp->fifo_fnode[0]; in fnode_destructor() local
235 while ((char *)fnp < (char *)buf + size) { in fnode_destructor()
237 vnode_t *vp = FTOV(fnp); in fnode_destructor()
243 ASSERT(fnp->fn_mp == NULL); in fnode_destructor()
244 ASSERT(fnp->fn_count == 0); in fnode_destructor()
245 ASSERT(fnp->fn_lock == flp); in fnode_destructor()
246 ASSERT(fnp->fn_open == 0); in fnode_destructor()
247 ASSERT(fnp->fn_insync == 0); in fnode_destructor()
248 ASSERT(fnp->fn_rsynccnt == 0 && fnp->fn_wsynccnt == 0); in fnode_destructor()
249 ASSERT(fnp->fn_wwaitcnt == 0); in fnode_destructor()
250 ASSERT(fnp->fn_pcredp == NULL); in fnode_destructor()
254 ASSERT(vp->v_data == (caddr_t)fnp); in fnode_destructor()
257 cv_destroy(&fnp->fn_wait_cv); in fnode_destructor()
261 fnp++; in fnode_destructor()
409 fifonode_t *fnp; in fifovp() local
421 fnp = &fdp->fifo_fnode[0]; in fifovp()
434 fnp->fn_realvp = vp; in fifovp()
435 fnp->fn_wcnt = 0; in fifovp()
436 fnp->fn_rcnt = 0; in fifovp()
440 fnp->fn_flag = 0; in fifovp()
442 fnp->fn_flag = FIFOFAST; in fifovp()
445 fnp->fn_flag = FIFOFAST; in fifovp()
453 fnp->fn_atime = va.va_atime.tv_sec; in fifovp()
454 fnp->fn_mtime = va.va_mtime.tv_sec; in fifovp()
455 fnp->fn_ctime = va.va_ctime.tv_sec; in fifovp()
457 fnp->fn_atime = 0; in fifovp()
458 fnp->fn_mtime = 0; in fifovp()
459 fnp->fn_ctime = 0; in fifovp()
486 newvp = FTOV(fnp); in fifovp()
501 fifoinsert(fnp); in fifovp()
590 fifonode_t *fnp = VTOF(*vpp); in fifo_stropen() local
595 fn_lock = fnp->fn_lock; in fifo_stropen()
598 ASSERT(MUTEX_HELD(&fnp->fn_lock->flk_lock)); in fifo_stropen()
605 while (fnp->fn_flag & FIFOOPEN) { in fifo_stropen()
606 if (!cv_wait_sig(&fnp->fn_wait_cv, &fn_lock->flk_lock)) { in fifo_stropen()
619 if ((fnp->fn_flag & (FIFOCLOSE|ISPIPE)) == (FIFOCLOSE|ISPIPE)) { in fifo_stropen()
621 cv_broadcast(&fnp->fn_wait_cv); in fifo_stropen()
627 fnp->fn_flag |= FIFOOPEN; in fifo_stropen()
639 if (fnp->fn_flag & FIFOCONNLD) { in fifo_stropen()
672 ASSERT(fnp->fn_open > 0); in fifo_stropen()
673 fnp->fn_open++; in fifo_stropen()
698 fnp = VTOF(*vpp); in fifo_stropen()
699 fn_lock = fnp->fn_lock; in fifo_stropen()
724 ASSERT(fnp->fn_open != 0 || oldvp->v_stream == NULL); in fifo_stropen()
741 fnp->fn_open++; in fifo_stropen()
746 fnp->fn_flag &= ~FIFOOPEN; in fifo_stropen()
748 fnp->fn_flag |= FIFOISOPEN; in fifo_stropen()
755 if (((fnp->fn_flag & (ISPIPE|FIFOCLOSE)) == FIFOCLOSE) && in fifo_stropen()
756 fnp->fn_wcnt > 0) in fifo_stropen()
757 fnp->fn_flag &= ~FIFOCLOSE; in fifo_stropen()
759 cv_broadcast(&fnp->fn_wait_cv); in fifo_stropen()
773 fifonode_t *fnp = VTOF(vp); in fifo_cleanup() local
775 ASSERT(MUTEX_HELD(&fnp->fn_lock->flk_lock)); in fifo_cleanup()
780 fnp->fn_rcnt--; in fifo_cleanup()
783 fnp->fn_wcnt--; in fifo_cleanup()
785 cv_broadcast(&fnp->fn_wait_cv); in fifo_cleanup()
793 fifoinsert(fifonode_t *fnp) in fifoinsert() argument
795 int idx = FIFOHASH(fnp->fn_realvp); in fifoinsert()
804 fnp->fn_backp = NULL; in fifoinsert()
805 fnp->fn_nextp = fifoalloc[idx]; in fifoinsert()
806 fifoalloc[idx] = fnp; in fifoinsert()
807 if (fnp->fn_nextp) in fifoinsert()
808 fnp->fn_nextp->fn_backp = fnp; in fifoinsert()
839 fiforemove(fifonode_t *fnp) in fiforemove() argument
841 int idx = FIFOHASH(fnp->fn_realvp); in fiforemove()
849 if (fnode != NULL && fnode == fnp && in fiforemove()
855 if (fnode == fnp) { in fiforemove()
859 if (fnp == fifoalloc[idx]) in fiforemove()
860 fifoalloc[idx] = fnp->fn_nextp; in fiforemove()
878 fifo_fastflush(fifonode_t *fnp) in fifo_fastflush() argument
881 ASSERT(MUTEX_HELD(&fnp->fn_lock->flk_lock)); in fifo_fastflush()
883 if ((bp = fnp->fn_mp) != NULL) { in fifo_fastflush()
884 fnp->fn_mp = NULL; in fifo_fastflush()
885 fnp->fn_count = 0; in fifo_fastflush()
888 fifo_wakewriter(fnp->fn_dest, fnp->fn_lock); in fifo_fastflush()
1045 fifo_fastoff(fifonode_t *fnp) in fifo_fastoff() argument
1047 ASSERT(MUTEX_HELD(&fnp->fn_lock->flk_lock)); in fifo_fastoff()
1048 ASSERT(FTOV(fnp)->v_stream); in fifo_fastoff()
1051 while ((fnp->fn_flag & FIFOSTAYFAST) || ((fnp->fn_flag & ISPIPE) && in fifo_fastoff()
1052 (fnp->fn_dest->fn_flag & FIFOSTAYFAST))) { in fifo_fastoff()
1053 ASSERT(fnp->fn_flag & FIFOFAST); in fifo_fastoff()
1055 fnp->fn_flag |= FIFOWAITMODE; in fifo_fastoff()
1056 cv_wait(&fnp->fn_wait_cv, &fnp->fn_lock->flk_lock); in fifo_fastoff()
1057 fnp->fn_flag &= ~FIFOWAITMODE; in fifo_fastoff()
1061 if (!(fnp->fn_flag & FIFOFAST)) in fifo_fastoff()
1068 fifo_fastturnoff(fnp); in fifo_fastoff()
1069 if (fnp->fn_flag & ISPIPE) { in fifo_fastoff()
1070 fifo_fastturnoff(fnp->fn_dest); in fifo_fastoff()
1081 fifo_fastturnoff(fifonode_t *fnp) in fifo_fastturnoff() argument
1083 fifonode_t *fn_dest = fnp->fn_dest; in fifo_fastturnoff()
1087 ASSERT(MUTEX_HELD(&fnp->fn_lock->flk_lock)); in fifo_fastturnoff()
1092 if ((fn_mp = fnp->fn_mp) != NULL) { in fifo_fastturnoff()
1093 ASSERT(fnp->fn_flag & FIFOISOPEN); in fifo_fastturnoff()
1094 ASSERT(FTOV(fnp)->v_stream != NULL); in fifo_fastturnoff()
1095 ASSERT(FTOV(fnp)->v_stream->sd_wrq != NULL); in fifo_fastturnoff()
1096 ASSERT(RD(FTOV(fnp)->v_stream->sd_wrq) != NULL); in fifo_fastturnoff()
1097 ASSERT(strvp2wq(FTOV(fnp)) != NULL); in fifo_fastturnoff()
1098 fnp->fn_mp = NULL; in fifo_fastturnoff()
1099 fnp->fn_count = 0; in fifo_fastturnoff()
1105 put(RD(strvp2wq(FTOV(fnp))), fn_mp); in fifo_fastturnoff()
1113 if ((fnp->fn_flag & (FIFOISOPEN | FIFOPOLLW)) == in fifo_fastturnoff()
1115 strpollwakeup(FTOV(fnp), POLLWRNORM); in fifo_fastturnoff()
1127 fnp->fn_flag &= ~(FIFOFAST|FIFOWANTW|FIFOWANTR); in fifo_fastturnoff()
1128 cv_broadcast(&fnp->fn_wait_cv); in fifo_fastturnoff()
1138 fifonode_t *fnp = VTOF(vp); in fifo_vfastoff() local
1140 mutex_enter(&fnp->fn_lock->flk_lock); in fifo_vfastoff()
1141 if (!(fnp->fn_flag & FIFOFAST)) { in fifo_vfastoff()
1142 mutex_exit(&fnp->fn_lock->flk_lock); in fifo_vfastoff()
1145 fifo_fastoff(fnp); in fifo_vfastoff()
1146 mutex_exit(&fnp->fn_lock->flk_lock); in fifo_vfastoff()