Lines Matching refs:share

21 nlm_cmp_owner(struct nlm_share *share, struct xdr_netobj *oh)  in nlm_cmp_owner()  argument
23 return share->s_owner.len == oh->len in nlm_cmp_owner()
24 && !memcmp(share->s_owner.data, oh->data, oh->len); in nlm_cmp_owner()
31 struct nlm_share *share; in nlmsvc_share_file() local
35 for (share = file->f_shares; share; share = share->s_next) { in nlmsvc_share_file()
36 if (share->s_host == host && nlm_cmp_owner(share, oh)) in nlmsvc_share_file()
38 if ((argp->fsm_access & share->s_mode) in nlmsvc_share_file()
39 || (argp->fsm_mode & share->s_access )) in nlmsvc_share_file()
43 share = kmalloc(sizeof(*share) + oh->len, in nlmsvc_share_file()
45 if (share == NULL) in nlmsvc_share_file()
49 ohdata = (u8 *) (share + 1); in nlmsvc_share_file()
52 share->s_file = file; in nlmsvc_share_file()
53 share->s_host = host; in nlmsvc_share_file()
54 share->s_owner.data = ohdata; in nlmsvc_share_file()
55 share->s_owner.len = oh->len; in nlmsvc_share_file()
56 share->s_next = file->f_shares; in nlmsvc_share_file()
57 file->f_shares = share; in nlmsvc_share_file()
60 share->s_access = argp->fsm_access; in nlmsvc_share_file()
61 share->s_mode = argp->fsm_mode; in nlmsvc_share_file()
72 struct nlm_share *share, **shpp; in nlmsvc_unshare_file() local
75 for (shpp = &file->f_shares; (share = *shpp) != NULL; in nlmsvc_unshare_file()
76 shpp = &share->s_next) { in nlmsvc_unshare_file()
77 if (share->s_host == host && nlm_cmp_owner(share, oh)) { in nlmsvc_unshare_file()
78 *shpp = share->s_next; in nlmsvc_unshare_file()
79 kfree(share); in nlmsvc_unshare_file()
96 struct nlm_share *share, **shpp; in nlmsvc_traverse_shares() local
99 while ((share = *shpp) != NULL) { in nlmsvc_traverse_shares()
100 if (match(share->s_host, host)) { in nlmsvc_traverse_shares()
101 *shpp = share->s_next; in nlmsvc_traverse_shares()
102 kfree(share); in nlmsvc_traverse_shares()
105 shpp = &share->s_next; in nlmsvc_traverse_shares()