Lines Matching defs:shrl

62 	struct shrlocklist *shrl;
87 for (shrl = vp->v_shrlocks; shrl != NULL; shrl = shrl->next) {
92 if ((shrl->shr->s_sysid == shr->s_sysid) &&
93 (shrl->shr->s_pid == shr->s_pid) &&
94 (shrl->shr->s_own_len == shr->s_own_len) &&
95 bcmp(shrl->shr->s_owner, shr->s_owner,
105 if ((shrl->shr->s_deny & F_COMPAT) &&
107 ((shrl->next == NULL) ||
108 (shrl->shr->s_access & F_WRACC)))
116 if ((shrl->shr->s_deny & F_COMPAT) && (shrl->next == NULL)) {
126 (shrl->shr->s_access & F_WRACC)) {
147 (shrl->shr->s_access == F_RDACC))
158 if ((shrl->shr->s_deny & F_COMPAT) && (shr->s_deny & F_COMPAT))
171 (shrl->shr->s_deny & F_RDDNY) ||
172 (shrl->shr->s_access & F_WRACC)) {
180 if (shrl->next == NULL) {
181 if ((shrl->shr->s_access == F_RDACC) &&
199 if ((shr->s_access & shrl->shr->s_deny) ||
200 (shr->s_deny & shrl->shr->s_access)) {
206 shrl = kmem_alloc(sizeof (struct shrlocklist), KM_SLEEP);
207 shrl->shr = kmem_alloc(sizeof (struct shrlock), KM_SLEEP);
208 shrl->shr->s_access = shr->s_access;
209 shrl->shr->s_deny = shr->s_deny;
214 if (shrl->shr->s_deny & F_COMPAT)
215 shrl->shr->s_deny = F_COMPAT;
216 shrl->shr->s_sysid = shr->s_sysid; /* XXX ref cnt? */
217 shrl->shr->s_pid = shr->s_pid;
218 shrl->shr->s_own_len = shr->s_own_len;
219 shrl->shr->s_owner = kmem_alloc(shr->s_own_len, KM_SLEEP);
220 bcopy(shr->s_owner, shrl->shr->s_owner, shr->s_own_len);
221 shrl->next = vp->v_shrlocks;
222 vp->v_shrlocks = shrl;
294 struct shrlocklist *shrl;
314 shrl = *shrlp;
315 *shrlp = shrl->next;
317 if (shrl->shr->s_deny & F_MANDDNY)
321 kmem_free(shrl->shr->s_owner, shrl->shr->s_own_len);
322 kmem_free(shrl->shr, sizeof (struct shrlock));
323 kmem_free(shrl, sizeof (struct shrlocklist));
425 struct shrlocklist *shrl;
429 shrl = vp->v_shrlocks;
430 while (shrl) {
431 if (is_match_for_has_remote(sysid, shrl->shr->s_sysid)) {
436 shrl = shrl->next;
453 struct shrlocklist *shrl;
460 shrl = vp->v_shrlocks;
461 while (shrl) {
462 print_share(shrl->shr);
463 shrl = shrl->next;
554 struct shrlocklist *shrl;
570 for (shrl = vp->v_shrlocks; shrl != NULL; shrl = shrl->next) {
571 if (!(shrl->shr->s_deny & F_MANDDNY))
583 if ((shrl->shr->s_deny & F_RDDNY) &&
584 (shrl->shr->s_sysid != sysid ||
585 shrl->shr->s_pid != pid))
589 if ((shrl->shr->s_deny & F_WRDNY) &&
590 (shrl->shr->s_sysid != sysid ||
591 shrl->shr->s_pid != pid))
595 if ((shrl->shr->s_deny & F_RWDNY) &&
596 (shrl->shr->s_sysid != sysid ||
597 shrl->shr->s_pid != pid))
601 if (shrl->shr->s_access & (F_RWACC|F_RMACC))
605 if (shrl->shr->s_access & (F_WRACC|F_RMACC))
608 else if ((shrl->shr->s_access & F_RDACC) &&
609 (shrl->shr->s_deny & F_RMDNY))
636 struct shrlocklist *shrl;
642 for (shrl = vp->v_shrlocks; shrl != NULL; shrl = shrl->next) {
643 if (shrl->shr->s_sysid == 0 &&
644 (shrl->shr->s_deny & F_MANDDNY) &&
645 (shrl->shr->s_pid == pid)) {