Lines Matching refs:sp

118 	struct snode *sp;
149 if ((sp = sfind(dev, type, vp)) == NULL) {
152 sp = nsp; /* Use pre-allocated snode */
153 svp = STOV(sp);
155 sp->s_realvp = vp;
157 sp->s_commonvp = NULL;
158 sp->s_dev = dev;
159 sp->s_dip = NULL;
160 sp->s_nextr = NULL;
161 sp->s_list = NULL;
162 sp->s_plcy = NULL;
163 sp->s_size = 0;
164 sp->s_flag = 0;
169 sp->s_fsid = va.va_fsid;
170 sp->s_atime = va.va_atime.tv_sec;
171 sp->s_mtime = va.va_mtime.tv_sec;
172 sp->s_ctime = va.va_ctime.tv_sec;
174 sp->s_fsid = specdev;
175 sp->s_atime = 0;
176 sp->s_mtime = 0;
177 sp->s_ctime = 0;
179 sp->s_count = 0;
180 sp->s_mapcnt = 0;
193 sp->s_commonvp = cvp;
196 sinsert(sp);
208 return (STOV(sp));
225 struct snode *sp;
229 sp = kmem_cache_alloc(snode_cache, KM_SLEEP);
230 svp = STOV(sp);
234 sp->s_realvp = NULL;
235 sp->s_commonvp = cvp;
236 sp->s_dev = dev;
237 sp->s_dip = NULL;
238 sp->s_nextr = NULL;
239 sp->s_list = NULL;
240 sp->s_plcy = NULL;
241 sp->s_size = 0;
242 sp->s_flag = 0;
243 sp->s_fsid = specdev;
244 sp->s_atime = now;
245 sp->s_mtime = now;
246 sp->s_ctime = now;
247 sp->s_count = 0;
248 sp->s_mapcnt = 0;
258 sinsert(sp);
446 struct snode *sp;
455 for (sp = stable[i]; sp != NULL; sp = sp->s_next) {
456 if (sp->s_dip == dip) {
476 spec_devi_open_count(struct snode *sp, dev_info_t **dipp)
482 ASSERT(sp);
485 vp = STOV(sp);
493 if (sp->s_commonvp != vp || (dip = sp->s_dip) == NULL)
496 mutex_enter(&sp->s_lock);
497 count = sp->s_count + sp->s_mapcnt;
498 if (sp->s_flag & SLOCKED)
500 mutex_exit(&sp->s_lock);
514 struct snode *sp;
519 sp = VTOS(vp);
520 return (sp->s_commonvp);
537 struct snode *sp;
541 if ((sp = sfind(dev, type, NULL)) == NULL) {
542 sp = nsp; /* Use pre-allocated snode */
544 svp = STOV(sp);
546 sp->s_realvp = NULL;
547 sp->s_commonvp = svp; /* points to itself */
548 sp->s_dev = dev;
549 sp->s_dip = NULL;
550 sp->s_nextr = NULL;
551 sp->s_list = NULL;
552 sp->s_plcy = NULL;
553 sp->s_size = UNKNOWN_SIZE;
554 sp->s_flag = 0;
555 sp->s_fsid = specdev;
556 sp->s_atime = 0;
557 sp->s_mtime = 0;
558 sp->s_ctime = 0;
559 sp->s_count = 0;
560 sp->s_mapcnt = 0;
567 sinsert(sp);
570 return (STOV(sp));
581 struct snode *sp, *nsp;
588 if ((sp = sfind(dev, type, NULL)) == NULL) {
589 sp = nsp; /* Use pre-alloced snode */
590 svp = STOV(sp);
592 sp->s_realvp = NULL;
593 sp->s_commonvp = svp; /* points to itself */
594 sp->s_dev = dev;
595 sp->s_dip = NULL;
596 sp->s_nextr = NULL;
597 sp->s_list = NULL;
598 sp->s_plcy = NULL;
599 sp->s_size = UNKNOWN_SIZE;
600 sp->s_flag = 0;
601 sp->s_fsid = specdev;
602 sp->s_atime = 0;
603 sp->s_mtime = 0;
604 sp->s_ctime = 0;
605 sp->s_count = 0;
606 sp->s_mapcnt = 0;
613 sinsert(sp);
620 return (STOV(sp));
636 sinsert(struct snode *sp)
639 sp->s_next = stable[STABLEHASH(sp->s_dev)];
640 stable[STABLEHASH(sp->s_dev)] = sp;
649 sdelete(struct snode *sp)
655 st = stable[STABLEHASH(sp->s_dev)];
657 if (st == sp) {
659 stable[STABLEHASH(sp->s_dev)] = st->s_next;
707 smark(struct snode *sp, int flag)
713 if (((flag & sp->s_flag) != flag) ||
714 ((flag & SACC) && (sp->s_atime != now)) ||
715 ((flag & SUPD) && (sp->s_mtime != now)) ||
716 ((flag & SCHG) && (sp->s_ctime != now))) {
718 mutex_enter(&sp->s_lock);
719 sp->s_flag |= flag;
721 sp->s_atime = now;
723 sp->s_mtime = now;
725 sp->s_ctime = now;
726 mutex_exit(&sp->s_lock);
741 struct snode *sp = VTOS(vp);
742 struct snode *csp = VTOS(sp->s_commonvp);
759 struct snode *sp = buf;
762 vp = sp->s_vnode = vn_alloc(kmflags);
767 vp->v_data = sp;
769 mutex_init(&sp->s_lock, NULL, MUTEX_DEFAULT, NULL);
770 cv_init(&sp->s_cv, NULL, CV_DEFAULT, NULL);
778 struct snode *sp = buf;
779 struct vnode *vp = STOV(sp);
781 mutex_destroy(&sp->s_lock);
782 cv_destroy(&sp->s_cv);
839 struct snode *sp = VTOS(vp);
845 dev = sp->s_dev;
846 cvp = sp->s_commonvp;
885 struct snode *sp;
889 sp = VTOS(vp);
890 cvp = sp->s_commonvp;
901 spec_snode_walk(int (*callback)(struct snode *sp, void *arg), void *arg)
903 struct snode *sp;
910 for (sp = stable[i]; sp; sp = sp->s_next) {
911 if (callback(sp, arg) != DDI_WALK_CONTINUE)
922 struct snode *sp;
925 sp = VTOS(vp);
926 return ((sp->s_flag & SCLONE) ? 1 : 0);
935 struct snode *sp;
938 sp = VTOS(vp);
939 return ((sp->s_flag & SSELFCLONE) ? 1 : 0);
952 struct snode *sp;
990 for (sp = stable[i]; sp != NULL; sp = sp->s_next) {
991 ASSERT(sp->s_commonvp);
992 csp = VTOS(sp->s_commonvp);
1017 struct snode *sp;
1031 for (sp = stable[i]; sp != NULL; sp = sp->s_next) {
1032 ASSERT(sp->s_commonvp);
1033 csp = VTOS(sp->s_commonvp);