ns_shr
nsp->ns_shr, state);
nsp->ns_shr);
nsp->ns_shr);
(void) nlm_call_unshare(nsp->ns_shr, hostp,
nlm_local_shrcancel(nsp->ns_vp, nsp->ns_shr);
nlm_shres_untrack(hostp, nsp->ns_vp, nsp->ns_shr);
if (nsp->ns_vp == vp && nlm_shres_equal(shrp, nsp->ns_shr))
if (nsp->ns_vp == vp && nlm_shres_equal(shrp, nsp->ns_shr)) {
nsp_new = nlm_shres_create_item(nsp->ns_shr, nsp->ns_vp);
nsp->ns_shr = kmem_alloc(sizeof (*shrp), KM_SLEEP);
bcopy(shrp, nsp->ns_shr, sizeof (*shrp));
nsp->ns_shr->s_owner = kmem_alloc(shrp->s_own_len, KM_SLEEP);
bcopy(shrp->s_owner, nsp->ns_shr->s_owner, shrp->s_own_len);
kmem_free(nsp->ns_shr->s_owner,
nsp->ns_shr->s_own_len);
kmem_free(nsp->ns_shr, sizeof (struct shrlock));