FBSD: Remove unused 'wantparent' logic

In afs_vop_lookup, the 'wantparent' variable doesn't actually change
any logic in the function. In the if() clause that it's used, the
value of 'wantparent' is only ever used if cnp->cn_nameiop is RENAME
and ISLASTCN is set. But if both of those are true, then the second
half of the if() conditional will always be true, so the value of
'wantparent' doesn't matter.

So to remove this confusing unused logic, remove the 'wantparent'
local var, and all its associated logic.

Issue spotted by kaduk@mit.edu.

Change-Id: Ia63b88d67d21cc2b81a0c25aa31ea60ab202b0a7
Reviewed-on: https://gerrit.openafs.org/14143
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
This commit is contained in:
Andrew Deason 2020-04-12 22:40:14 -05:00 committed by Benjamin Kaduk
parent 7116de596a
commit 7df5c003ed

View File

@ -203,7 +203,6 @@ afs_vop_lookup(ap)
struct vnode *vp, *dvp;
int flags = ap->a_cnp->cn_flags;
int lockparent; /* 1 => lockparent flag is set */
int wantparent; /* 1 => wantparent or lockparent flag */
dvp = ap->a_dvp;
if (dvp->v_type != VDIR) {
@ -216,7 +215,6 @@ afs_vop_lookup(ap)
GETNAME();
lockparent = flags & LOCKPARENT;
wantparent = flags & (LOCKPARENT | WANTPARENT);
#if __FreeBSD_version < 1000021
cnp->cn_flags |= MPSAFE; /* steel */
@ -267,8 +265,7 @@ afs_vop_lookup(ap)
}
*ap->a_vpp = vp;
if ((cnp->cn_nameiop == RENAME && wantparent && (flags & ISLASTCN))
|| (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN)))
if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN))
cnp->cn_flags |= SAVENAME;
DROPNAME();