Lines Matching refs:share

20 nlm_cmp_owner(struct nlm_share *share, struct xdr_netobj *oh)  in nlm_cmp_owner()  argument
22 return share->s_owner.len == oh->len in nlm_cmp_owner()
23 && !memcmp(share->s_owner.data, oh->data, oh->len); in nlm_cmp_owner()
30 struct nlm_share *share; in nlmsvc_share_file() local
34 for (share = file->f_shares; share; share = share->s_next) { in nlmsvc_share_file()
35 if (share->s_host == host && nlm_cmp_owner(share, oh)) in nlmsvc_share_file()
37 if ((argp->fsm_access & share->s_mode) in nlmsvc_share_file()
38 || (argp->fsm_mode & share->s_access )) in nlmsvc_share_file()
42 share = kmalloc(sizeof(*share) + oh->len, in nlmsvc_share_file()
44 if (share == NULL) in nlmsvc_share_file()
48 ohdata = (u8 *) (share + 1); in nlmsvc_share_file()
51 share->s_file = file; in nlmsvc_share_file()
52 share->s_host = host; in nlmsvc_share_file()
53 share->s_owner.data = ohdata; in nlmsvc_share_file()
54 share->s_owner.len = oh->len; in nlmsvc_share_file()
55 share->s_next = file->f_shares; in nlmsvc_share_file()
56 file->f_shares = share; in nlmsvc_share_file()
59 share->s_access = argp->fsm_access; in nlmsvc_share_file()
60 share->s_mode = argp->fsm_mode; in nlmsvc_share_file()
71 struct nlm_share *share, **shpp; in nlmsvc_unshare_file() local
74 for (shpp = &file->f_shares; (share = *shpp) != NULL; in nlmsvc_unshare_file()
75 shpp = &share->s_next) { in nlmsvc_unshare_file()
76 if (share->s_host == host && nlm_cmp_owner(share, oh)) { in nlmsvc_unshare_file()
77 *shpp = share->s_next; in nlmsvc_unshare_file()
78 kfree(share); in nlmsvc_unshare_file()
95 struct nlm_share *share, **shpp; in nlmsvc_traverse_shares() local
98 while ((share = *shpp) != NULL) { in nlmsvc_traverse_shares()
99 if (match(share->s_host, host)) { in nlmsvc_traverse_shares()
100 *shpp = share->s_next; in nlmsvc_traverse_shares()
101 kfree(share); in nlmsvc_traverse_shares()
104 shpp = &share->s_next; in nlmsvc_traverse_shares()