diff options
author | jhb <jhb@FreeBSD.org> | 2008-11-04 18:54:44 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2008-11-04 18:54:44 +0000 |
commit | 5af731a4af426e3560bdee4d0f855b488a04013c (patch) | |
tree | 1560a1c47e1c30c2f6ffdfdc827600928c851d5c /sys/fs/unionfs | |
parent | 31cc9ab8d9dc1d4958088e31ef78510acd8e25ae (diff) | |
download | FreeBSD-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.
Diffstat (limited to 'sys/fs/unionfs')
-rw-r--r-- | sys/fs/unionfs/union_vfsops.c | 5 |
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); |