From 7260c7164b9a2199c7b5f83279fa18af16e7d387 Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Sun, 8 Sep 2019 16:10:40 -0500 Subject: [PATCH] FBSD: Remove MA_* abstractions In FBSD/osi_vnops.c, we have a few abstractions (e.g. MA_VOP_UNLOCK) that used to expand to different things for older FreeBSD versions. Currently, they always expand to the same thing, so just remove the abstractions. While we are changing these calls, also change one instance of MA_VOP_LOCK to vn_lock (instead of VOP_LOCK), since we're not usually supposed to call VOP_LOCK directly, according to the VOP_LOCK(9) manpage. The MA_VOP_LOCK call was added in commit bd707fb7 (freebsd-almost-working-client-20020216), seemingly by mistake. Change-Id: Ia0f28fe658057e87d9103a72296ab899dc762fb6 Reviewed-on: https://gerrit.openafs.org/13843 Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk Tested-by: BuildBot --- src/afs/FBSD/osi_vnodeops.c | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/src/afs/FBSD/osi_vnodeops.c b/src/afs/FBSD/osi_vnodeops.c index 8847a55..9f3cc37 100644 --- a/src/afs/FBSD/osi_vnodeops.c +++ b/src/afs/FBSD/osi_vnodeops.c @@ -81,13 +81,6 @@ static __inline void ma_vm_page_unlock_queues(void) {}; static __inline void ma_vm_page_lock(vm_page_t m) { vm_page_lock(m); }; static __inline void ma_vm_page_unlock(vm_page_t m) { vm_page_unlock(m); }; -#define ma_vn_lock(vp, flags, p) (vn_lock(vp, flags)) -#define MA_VOP_LOCK(vp, flags, p) (VOP_LOCK(vp, flags)) -#define MA_VOP_UNLOCK(vp, flags, p) (VOP_UNLOCK(vp, flags)) - -#define MA_PCPU_INC(c) PCPU_INC(c) -#define MA_PCPU_ADD(c, n) PCPU_ADD(c, n) - #if __FreeBSD_version >= 1000030 #define AFS_VM_OBJECT_WLOCK(o) VM_OBJECT_WLOCK(o) #define AFS_VM_OBJECT_WUNLOCK(o) VM_OBJECT_WUNLOCK(o) @@ -236,7 +229,7 @@ afs_vop_lookup(ap) */ if (flags & ISDOTDOT) - MA_VOP_UNLOCK(dvp, 0, p); + VOP_UNLOCK(dvp, 0); AFS_GLOCK(); error = afs_lookup(VTOAFS(dvp), name, &vcp, cnp->cn_cred); @@ -244,7 +237,7 @@ afs_vop_lookup(ap) if (error) { if (flags & ISDOTDOT) - MA_VOP_LOCK(dvp, LK_EXCLUSIVE | LK_RETRY, p); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); if ((cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME) && (flags & ISLASTCN) && error == ENOENT) error = EJUSTRETURN; @@ -258,13 +251,13 @@ afs_vop_lookup(ap) if (flags & ISDOTDOT) { /* Must lock 'vp' before 'dvp', since 'vp' is the parent vnode. */ - ma_vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); - ma_vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, p); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); } else if (vp == dvp) { /* they're the same; afs_lookup() already ref'ed the leaf. * It came in locked, so we don't need to ref OR lock it */ } else { - ma_vn_lock(vp, LK_EXCLUSIVE | LK_CANRECURSE | LK_RETRY, p); + vn_lock(vp, LK_EXCLUSIVE | LK_CANRECURSE | LK_RETRY); } *ap->a_vpp = vp; @@ -302,7 +295,7 @@ afs_vop_create(ap) if (vcp) { *ap->a_vpp = AFSTOV(vcp); - ma_vn_lock(AFSTOV(vcp), LK_EXCLUSIVE | LK_RETRY, p); + vn_lock(AFSTOV(vcp), LK_EXCLUSIVE | LK_RETRY); } else *ap->a_vpp = 0; @@ -534,8 +527,8 @@ afs_vop_getpages(struct vop_getpages_args *ap) kva = (vm_offset_t) bp->b_data; pmap_qenter(kva, pages, npages); - MA_PCPU_INC(cnt.v_vnodein); - MA_PCPU_ADD(cnt.v_vnodepgsin, npages); + PCPU_INC(cnt.v_vnodein); + PCPU_ADD(cnt.v_vnodepgsin, npages); #ifdef FBSD_VOP_GETPAGES_BUSIED count = ctob(npages); @@ -709,8 +702,8 @@ afs_vop_putpages(struct vop_putpages_args *ap) kva = (vm_offset_t) bp->b_data; pmap_qenter(kva, ap->a_m, npages); - MA_PCPU_INC(cnt.v_vnodeout); - MA_PCPU_ADD(cnt.v_vnodepgsout, ap->a_count); + PCPU_INC(cnt.v_vnodeout); + PCPU_ADD(cnt.v_vnodepgsout, ap->a_count); iov.iov_base = (caddr_t) kva; iov.iov_len = ap->a_count; @@ -833,14 +826,14 @@ afs_vop_link(ap) error = EISDIR; goto out; } - if ((error = ma_vn_lock(vp, LK_CANRECURSE | LK_EXCLUSIVE, p)) != 0) { + if ((error = vn_lock(vp, LK_CANRECURSE | LK_EXCLUSIVE)) != 0) { goto out; } AFS_GLOCK(); error = afs_link(VTOAFS(vp), VTOAFS(dvp), name, cnp->cn_cred); AFS_GUNLOCK(); if (dvp != vp) - MA_VOP_UNLOCK(vp, 0, p); + VOP_UNLOCK(vp, 0); out: DROPNAME(); return error; @@ -924,7 +917,7 @@ afs_vop_rename(ap) vput(fvp); return (error); } - if ((error = ma_vn_lock(fvp, LK_EXCLUSIVE, p)) != 0) + if ((error = vn_lock(fvp, LK_EXCLUSIVE)) != 0) goto abortit; MALLOC(fname, char *, fcnp->cn_namelen + 1, M_TEMP, M_WAITOK); @@ -982,7 +975,7 @@ afs_vop_mkdir(ap) } if (vcp) { *ap->a_vpp = AFSTOV(vcp); - ma_vn_lock(AFSTOV(vcp), LK_EXCLUSIVE | LK_RETRY, p); + vn_lock(AFSTOV(vcp), LK_EXCLUSIVE | LK_RETRY); } else *ap->a_vpp = 0; DROPNAME(); @@ -1037,7 +1030,7 @@ afs_vop_symlink(struct vop_symlink_args *ap) error = afs_lookup(VTOAFS(dvp), name, &vcp, cnp->cn_cred); if (error == 0) { newvp = AFSTOV(vcp); - ma_vn_lock(newvp, LK_EXCLUSIVE | LK_RETRY, cnp->cn_thread); + vn_lock(newvp, LK_EXCLUSIVE | LK_RETRY); } } AFS_GUNLOCK(); -- 1.9.4