Lines Matching refs:sh
60 sh->sh_##field = kmem_alloc(len + 1, KM_SLEEP); \
61 bcopy(buf, sh->sh_##field, len); \
62 sh->sh_##field[len] = '\0'; \
64 sh->sh_size += shl.shl_##field; /* Debug counting */
67 if (sh->sh_##field) { \
68 kmem_free(sh->sh_##field, \
70 strlen(sh->sh_##field) + 1); \
92 sharefree(share_t *sh, sharefs_lens_t *shl) in sharefree() argument
94 if (!sh) in sharefree()
103 kmem_free(sh, sizeof (share_t)); in sharefree()
111 sharefs_remove(share_t *sh, sharefs_lens_t *shl) in sharefs_remove() argument
118 if (!sh) in sharefs_remove()
123 if (strcmp(sh->sh_fstype, sht->s_fstype) == 0) { in sharefs_remove()
137 iPath = shl ? shl->shl_path : strlen(sh->sh_path); in sharefs_remove()
138 iHash = pkp_tab_hash(sh->sh_path, strlen(sh->sh_path)); in sharefs_remove()
148 if (strcmp(sh->sh_path, s->sh_path) == 0 && in sharefs_remove()
185 sharefree(sh, shl); in sharefs_remove()
194 sharefs_add(share_t *sh, sharefs_lens_t *shl) in sharefs_add() argument
202 if (!sh) { in sharefs_add()
211 if (strcmp(sh->sh_fstype, sht->s_fstype) == 0) { in sharefs_add()
222 n = strlen(sh->sh_fstype); in sharefs_add()
224 (void) strncpy(sht->s_fstype, sh->sh_fstype, n); in sharefs_add()
233 iHash = pkp_tab_hash(sh->sh_path, strlen(sh->sh_path)); in sharefs_add()
235 iPath = shl ? shl->shl_path : strlen(sh->sh_path); in sharefs_add()
238 sh->sh_size = shl->shl_path + shl->shl_res + in sharefs_add()
241 sh->sh_size = strlen(sh->sh_path) + in sharefs_add()
242 strlen(sh->sh_res) + strlen(sh->sh_fstype) + in sharefs_add()
243 strlen(sh->sh_opts) + strlen(sh->sh_descr); in sharefs_add()
250 sh->sh_size += 5; in sharefs_add()
264 if (strcmp(sh->sh_path, s->sh_path) == 0 && in sharefs_add()
267 p->sh_next = sh; in sharefs_add()
269 sht->s_buckets[iHash].ssh_sh = sh; in sharefs_add()
272 sh->sh_next = s->sh_next; in sharefs_add()
276 sharetab_size += sh->sh_size; in sharefs_add()
299 sh->sh_next = sht->s_buckets[iHash].ssh_sh; in sharefs_add()
300 sht->s_buckets[iHash].ssh_sh = sh; in sharefs_add()
304 sharetab_size += sh->sh_size; in sharefs_add()
334 share_t *sh; in sharefs_impl() local
378 sh = kmem_zalloc(sizeof (share_t), KM_SLEEP); in sharefs_impl()
399 error = sharefs_add(sh, &shl); in sharefs_impl()
404 error = sharefs_remove(sh, &shl); in sharefs_impl()
422 sharefree(sh, &shl); in sharefs_impl()