summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/mntfs/mntvfsops.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/fs/mntfs/mntvfsops.c')
-rw-r--r--usr/src/uts/common/fs/mntfs/mntvfsops.c5
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));