aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_default.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/vfs_default.c')
-rw-r--r--sys/kern/vfs_default.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c
index 3c428d7b7511..4b9b1b43f1ce 100644
--- a/sys/kern/vfs_default.c
+++ b/sys/kern/vfs_default.c
@@ -680,7 +680,6 @@ vop_stdgetwritemount(ap)
} */ *ap;
{
struct mount *mp;
- struct mount_pcpu *mpcpu;
struct vnode *vp;
/*
@@ -693,29 +692,7 @@ vop_stdgetwritemount(ap)
* with releasing it.
*/
vp = ap->a_vp;
- mp = vp->v_mount;
- if (mp == NULL) {
- *(ap->a_mpp) = NULL;
- return (0);
- }
- if (vfs_op_thread_enter(mp, mpcpu)) {
- if (mp == vp->v_mount) {
- vfs_mp_count_add_pcpu(mpcpu, ref, 1);
- vfs_op_thread_exit(mp, mpcpu);
- } else {
- vfs_op_thread_exit(mp, mpcpu);
- mp = NULL;
- }
- } else {
- MNT_ILOCK(mp);
- if (mp == vp->v_mount) {
- MNT_REF(mp);
- MNT_IUNLOCK(mp);
- } else {
- MNT_IUNLOCK(mp);
- mp = NULL;
- }
- }
+ mp = vfs_ref_from_vp(vp);
*(ap->a_mpp) = mp;
return (0);
}