summaryrefslogtreecommitdiffstats
path: root/sys/fs/unionfs
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-03-28 13:29:15 +0000
committerjeff <jeff@FreeBSD.org>2005-03-28 13:29:15 +0000
commita84b0d4580f1b639a84d69d1171e486a86647645 (patch)
treedba491b813c34564b7d6c2be64e143729c9fda2a /sys/fs/unionfs
parentacfff6d0d15205319d8be7e4f135f2d3fa42ec38 (diff)
downloadFreeBSD-src-a84b0d4580f1b639a84d69d1171e486a86647645.zip
FreeBSD-src-a84b0d4580f1b639a84d69d1171e486a86647645.tar.gz
- Remove unnecessary LOCKPARENT manipulation.
Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/fs/unionfs')
-rw-r--r--sys/fs/unionfs/union_vnops.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c
index 69699fa..04e1ba2 100644
--- a/sys/fs/unionfs/union_vnops.c
+++ b/sys/fs/unionfs/union_vnops.c
@@ -297,7 +297,6 @@ union_lookup(ap)
struct union_node *dun = VTOUNION(dvp); /* associated union node */
struct componentname *cnp = ap->a_cnp;
struct thread *td = cnp->cn_thread;
- int lockparent = cnp->cn_flags & LOCKPARENT;
struct union_mount *um = MOUNTTOUNIONMOUNT(dvp->v_mount);
struct ucred *saved_cred = NULL;
int iswhiteout;
@@ -579,30 +578,11 @@ out:
if (lowervp)
vput(lowervp);
- /*
- * Restore LOCKPARENT state
- */
-
- if (!lockparent)
- cnp->cn_flags &= ~LOCKPARENT;
-
UDEBUG(("Out %d vpp %p/%d lower %p upper %p\n", error, *ap->a_vpp,
((*ap->a_vpp) ? vrefcnt(*ap->a_vpp) : -99),
lowervp, uppervp));
if (error == 0 || error == EJUSTRETURN) {
- /*
- * dvp lock state, determine whether to relock dvp.
- * We are expected to unlock dvp unless:
- *
- * - there was an error (other than EJUSTRETURN), or
- * - we hit the last component and lockparent is true
- */
- if (*ap->a_vpp != dvp) {
- if (!lockparent || (cnp->cn_flags & ISLASTCN) == 0)
- VOP_UNLOCK(dvp, 0, td);
- }
-
if (cnp->cn_namelen == 1 &&
cnp->cn_nameptr[0] == '.' &&
*ap->a_vpp != dvp) {
OpenPOWER on IntegriCloud