summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2008-11-04 18:54:44 +0000
committerjhb <jhb@FreeBSD.org>2008-11-04 18:54:44 +0000
commit5af731a4af426e3560bdee4d0f855b488a04013c (patch)
tree1560a1c47e1c30c2f6ffdfdc827600928c851d5c
parent31cc9ab8d9dc1d4958088e31ef78510acd8e25ae (diff)
downloadFreeBSD-src-5af731a4af426e3560bdee4d0f855b488a04013c.zip
FreeBSD-src-5af731a4af426e3560bdee4d0f855b488a04013c.tar.gz
Don't pass WANTPARENT to the pathname lookup of the mount point for a
unionfs mount just so we can immediately drop the reference on the parent directory vnode without using it.
-rw-r--r--sys/fs/unionfs/union_vfsops.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c
index e0a3188..768c94d 100644
--- a/sys/fs/unionfs/union_vfsops.c
+++ b/sys/fs/unionfs/union_vfsops.c
@@ -268,7 +268,7 @@ unionfs_domount(struct mount *mp, struct thread *td)
/*
* Find upper node
*/
- NDINIT(ndp, LOOKUP, FOLLOW | WANTPARENT | LOCKLEAF, UIO_SYSSPACE, target, td);
+ NDINIT(ndp, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, target, td);
if ((error = namei(ndp)))
return (error);
@@ -278,9 +278,6 @@ unionfs_domount(struct mount *mp, struct thread *td)
lowerrootvp = mp->mnt_vnodecovered;
upperrootvp = ndp->ni_vp;
- vrele(ndp->ni_dvp);
- ndp->ni_dvp = NULLVP;
-
/* create unionfs_mount */
ump = (struct unionfs_mount *)malloc(sizeof(struct unionfs_mount),
M_UNIONFSMNT, M_WAITOK | M_ZERO);
OpenPOWER on IntegriCloud