Lines Matching refs:sp

119 	struct snode *sp;  in specvp()  local
150 if ((sp = sfind(dev, type, vp)) == NULL) { in specvp()
153 sp = nsp; /* Use pre-allocated snode */ in specvp()
154 svp = STOV(sp); in specvp()
156 sp->s_realvp = vp; in specvp()
158 sp->s_commonvp = NULL; in specvp()
159 sp->s_dev = dev; in specvp()
160 sp->s_dip = NULL; in specvp()
161 sp->s_nextr = 0; in specvp()
162 sp->s_list = NULL; in specvp()
163 sp->s_plcy = NULL; in specvp()
164 sp->s_size = 0; in specvp()
165 sp->s_flag = 0; in specvp()
170 sp->s_fsid = va.va_fsid; in specvp()
171 sp->s_atime = va.va_atime.tv_sec; in specvp()
172 sp->s_mtime = va.va_mtime.tv_sec; in specvp()
173 sp->s_ctime = va.va_ctime.tv_sec; in specvp()
175 sp->s_fsid = specdev; in specvp()
176 sp->s_atime = 0; in specvp()
177 sp->s_mtime = 0; in specvp()
178 sp->s_ctime = 0; in specvp()
180 sp->s_count = 0; in specvp()
181 sp->s_mapcnt = 0; in specvp()
194 sp->s_commonvp = cvp; in specvp()
197 sinsert(sp); in specvp()
209 return (STOV(sp)); in specvp()
226 struct snode *sp; in makespecvp() local
230 sp = kmem_cache_alloc(snode_cache, KM_SLEEP); in makespecvp()
231 svp = STOV(sp); in makespecvp()
235 sp->s_realvp = NULL; in makespecvp()
236 sp->s_commonvp = cvp; in makespecvp()
237 sp->s_dev = dev; in makespecvp()
238 sp->s_dip = NULL; in makespecvp()
239 sp->s_nextr = 0; in makespecvp()
240 sp->s_list = NULL; in makespecvp()
241 sp->s_plcy = NULL; in makespecvp()
242 sp->s_size = 0; in makespecvp()
243 sp->s_flag = 0; in makespecvp()
244 sp->s_fsid = specdev; in makespecvp()
245 sp->s_atime = now; in makespecvp()
246 sp->s_mtime = now; in makespecvp()
247 sp->s_ctime = now; in makespecvp()
248 sp->s_count = 0; in makespecvp()
249 sp->s_mapcnt = 0; in makespecvp()
259 sinsert(sp); in makespecvp()
452 struct snode *sp; in devi_stillreferenced() local
461 for (sp = stable[i]; sp != NULL; sp = sp->s_next) { in devi_stillreferenced()
462 if (sp->s_dip == dip) { in devi_stillreferenced()
482 spec_devi_open_count(struct snode *sp, dev_info_t **dipp) in spec_devi_open_count() argument
488 ASSERT(sp); in spec_devi_open_count()
491 vp = STOV(sp); in spec_devi_open_count()
499 if (sp->s_commonvp != vp || (dip = sp->s_dip) == NULL) in spec_devi_open_count()
502 mutex_enter(&sp->s_lock); in spec_devi_open_count()
503 count = sp->s_count + sp->s_mapcnt; in spec_devi_open_count()
504 if (sp->s_flag & SLOCKED) in spec_devi_open_count()
506 mutex_exit(&sp->s_lock); in spec_devi_open_count()
520 struct snode *sp; in common_specvp() local
525 sp = VTOS(vp); in common_specvp()
526 return (sp->s_commonvp); in common_specvp()
543 struct snode *sp; in get_cvp() local
547 if ((sp = sfind(dev, type, NULL)) == NULL) { in get_cvp()
548 sp = nsp; /* Use pre-allocated snode */ in get_cvp()
550 svp = STOV(sp); in get_cvp()
552 sp->s_realvp = NULL; in get_cvp()
553 sp->s_commonvp = svp; /* points to itself */ in get_cvp()
554 sp->s_dev = dev; in get_cvp()
555 sp->s_dip = NULL; in get_cvp()
556 sp->s_nextr = 0; in get_cvp()
557 sp->s_list = NULL; in get_cvp()
558 sp->s_plcy = NULL; in get_cvp()
559 sp->s_size = UNKNOWN_SIZE; in get_cvp()
560 sp->s_flag = 0; in get_cvp()
561 sp->s_fsid = specdev; in get_cvp()
562 sp->s_atime = 0; in get_cvp()
563 sp->s_mtime = 0; in get_cvp()
564 sp->s_ctime = 0; in get_cvp()
565 sp->s_count = 0; in get_cvp()
566 sp->s_mapcnt = 0; in get_cvp()
573 sinsert(sp); in get_cvp()
576 return (STOV(sp)); in get_cvp()
587 struct snode *sp, *nsp; in commonvp() local
594 if ((sp = sfind(dev, type, NULL)) == NULL) { in commonvp()
595 sp = nsp; /* Use pre-alloced snode */ in commonvp()
596 svp = STOV(sp); in commonvp()
598 sp->s_realvp = NULL; in commonvp()
599 sp->s_commonvp = svp; /* points to itself */ in commonvp()
600 sp->s_dev = dev; in commonvp()
601 sp->s_dip = NULL; in commonvp()
602 sp->s_nextr = 0; in commonvp()
603 sp->s_list = NULL; in commonvp()
604 sp->s_plcy = NULL; in commonvp()
605 sp->s_size = UNKNOWN_SIZE; in commonvp()
606 sp->s_flag = 0; in commonvp()
607 sp->s_fsid = specdev; in commonvp()
608 sp->s_atime = 0; in commonvp()
609 sp->s_mtime = 0; in commonvp()
610 sp->s_ctime = 0; in commonvp()
611 sp->s_count = 0; in commonvp()
612 sp->s_mapcnt = 0; in commonvp()
619 sinsert(sp); in commonvp()
626 return (STOV(sp)); in commonvp()
642 sinsert(struct snode *sp) in sinsert() argument
645 sp->s_next = stable[STABLEHASH(sp->s_dev)]; in sinsert()
646 stable[STABLEHASH(sp->s_dev)] = sp; in sinsert()
655 sdelete(struct snode *sp) in sdelete() argument
661 st = stable[STABLEHASH(sp->s_dev)]; in sdelete()
663 if (st == sp) { in sdelete()
665 stable[STABLEHASH(sp->s_dev)] = st->s_next; in sdelete()
713 smark(struct snode *sp, int flag) in smark() argument
719 if (((flag & sp->s_flag) != flag) || in smark()
720 ((flag & SACC) && (sp->s_atime != now)) || in smark()
721 ((flag & SUPD) && (sp->s_mtime != now)) || in smark()
722 ((flag & SCHG) && (sp->s_ctime != now))) { in smark()
724 mutex_enter(&sp->s_lock); in smark()
725 sp->s_flag |= flag; in smark()
727 sp->s_atime = now; in smark()
729 sp->s_mtime = now; in smark()
731 sp->s_ctime = now; in smark()
732 mutex_exit(&sp->s_lock); in smark()
747 struct snode *sp = VTOS(vp); in spec_maxoffset() local
748 struct snode *csp = VTOS(sp->s_commonvp); in spec_maxoffset()
765 struct snode *sp = buf; in snode_constructor() local
768 vp = sp->s_vnode = vn_alloc(kmflags); in snode_constructor()
773 vp->v_data = sp; in snode_constructor()
775 mutex_init(&sp->s_lock, NULL, MUTEX_DEFAULT, NULL); in snode_constructor()
776 cv_init(&sp->s_cv, NULL, CV_DEFAULT, NULL); in snode_constructor()
784 struct snode *sp = buf; in snode_destructor() local
785 struct vnode *vp = STOV(sp); in snode_destructor()
787 mutex_destroy(&sp->s_lock); in snode_destructor()
788 cv_destroy(&sp->s_cv); in snode_destructor()
845 struct snode *sp = VTOS(vp); in device_close() local
851 dev = sp->s_dev; in device_close()
852 cvp = sp->s_commonvp; in device_close()
891 struct snode *sp; in makectty() local
895 sp = VTOS(vp); in makectty()
896 cvp = sp->s_commonvp; in makectty()
907 spec_snode_walk(int (*callback)(struct snode *sp, void *arg), void *arg) in spec_snode_walk() argument
909 struct snode *sp; in spec_snode_walk() local
916 for (sp = stable[i]; sp; sp = sp->s_next) { in spec_snode_walk()
917 if (callback(sp, arg) != DDI_WALK_CONTINUE) in spec_snode_walk()
928 struct snode *sp; in spec_is_clone() local
931 sp = VTOS(vp); in spec_is_clone()
932 return ((sp->s_flag & SCLONE) ? 1 : 0); in spec_is_clone()
941 struct snode *sp; in spec_is_selfclone() local
944 sp = VTOS(vp); in spec_is_selfclone()
945 return ((sp->s_flag & SSELFCLONE) ? 1 : 0); in spec_is_selfclone()
958 struct snode *sp; in spec_fence_snode() local
996 for (sp = stable[i]; sp != NULL; sp = sp->s_next) { in spec_fence_snode()
997 ASSERT(sp->s_commonvp); in spec_fence_snode()
998 csp = VTOS(sp->s_commonvp); in spec_fence_snode()
1023 struct snode *sp; in spec_unfence_snode() local
1037 for (sp = stable[i]; sp != NULL; sp = sp->s_next) { in spec_unfence_snode()
1038 ASSERT(sp->s_commonvp); in spec_unfence_snode()
1039 csp = VTOS(sp->s_commonvp); in spec_unfence_snode()