diff options
Diffstat (limited to 'usr/src/uts/common/fs/mntfs/mntvfsops.c')
-rw-r--r-- | usr/src/uts/common/fs/mntfs/mntvfsops.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/mntfs/mntvfsops.c b/usr/src/uts/common/fs/mntfs/mntvfsops.c index 8f7f7c9f75..9c81e9bc89 100644 --- a/usr/src/uts/common/fs/mntfs/mntvfsops.c +++ b/usr/src/uts/common/fs/mntfs/mntvfsops.c @@ -213,7 +213,8 @@ mntmount(struct vfs *vfsp, struct vnode *mvp, } mutex_exit(&mvp->v_lock); - zone_hold(mnt->mnt_zone = zone); + zone_init_ref(&mnt->mnt_zone_ref); + zone_hold_ref(zone, &mnt->mnt_zone_ref, ZONE_REF_MNTFS); mnp = &mnt->mnt_node; vfsp->vfs_fstype = mntfstype; @@ -256,7 +257,7 @@ mntunmount(struct vfs *vfsp, int flag, struct cred *cr) } mutex_exit(&vp->v_lock); - zone_rele(mnt->mnt_zone); + zone_rele_ref(&mnt->mnt_zone_ref, ZONE_REF_MNTFS); vn_invalid(vp); vn_free(vp); kmem_free(mnt, sizeof (*mnt)); |