diff --git a/src/afs/FBSD/osi_misc.c b/src/afs/FBSD/osi_misc.c index debc354..a6a95d8 100644 --- a/src/afs/FBSD/osi_misc.c +++ b/src/afs/FBSD/osi_misc.c @@ -31,7 +31,11 @@ osi_lookupname(char *aname, enum uio_seg seg, int followlink, if (glocked) AFS_GUNLOCK(); +#if __FreeBSD_Version >= 1000021 /* MPSAFE is gone for good! */ + flags = LOCKLEAF; +#else flags = LOCKLEAF | MPSAFE; /* namei must take Giant if needed */ +#endif if (followlink) flags |= FOLLOW; else diff --git a/src/afs/FBSD/osi_vnodeops.c b/src/afs/FBSD/osi_vnodeops.c index a9be0c3..7c09c0a 100644 --- a/src/afs/FBSD/osi_vnodeops.c +++ b/src/afs/FBSD/osi_vnodeops.c @@ -501,7 +501,9 @@ afs_vop_lookup(ap) lockparent = flags & LOCKPARENT; wantparent = flags & (LOCKPARENT | WANTPARENT); +#if __FreeBSD_Version >= 1000021 cnp->cn_flags |= MPSAFE; /* steel */ +#endif if (flags & ISDOTDOT) MA_VOP_UNLOCK(dvp, 0, p);