svn commit: r211532 - in stable/7/sys: fs/nwfs fs/pseudofs fs/smbfs
gnu/fs/xfs/FreeBSD kern
John Baldwin
jhb at FreeBSD.org
Fri Aug 20 20:33:16 UTC 2010
Author: jhb
Date: Fri Aug 20 20:33:13 2010
New Revision: 211532
URL: http://svn.freebsd.org/changeset/base/211532
Log:
MFC: Use VN_LOCK_AREC() and VN_LOCK_ASHARE() rather than manipulating
lockmgr lock flags directly.
Modified:
stable/7/sys/fs/nwfs/nwfs_node.c
stable/7/sys/fs/pseudofs/pseudofs_vncache.c
stable/7/sys/fs/smbfs/smbfs_node.c
stable/7/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c
stable/7/sys/kern/vfs_lookup.c
Modified: stable/7/sys/fs/nwfs/nwfs_node.c
==============================================================================
--- stable/7/sys/fs/nwfs/nwfs_node.c Fri Aug 20 19:46:50 2010 (r211531)
+++ stable/7/sys/fs/nwfs/nwfs_node.c Fri Aug 20 20:33:13 2010 (r211532)
@@ -192,7 +192,7 @@ rescan:
if (dvp) {
np->n_parent = VTONW(dvp)->n_fid;
}
- vp->v_vnlock->lk_flags |= LK_CANRECURSE;
+ VN_LOCK_AREC(vp);
sx_xlock(&nwhashlock);
/*
* Another process can create vnode while we blocked in malloc() or
Modified: stable/7/sys/fs/pseudofs/pseudofs_vncache.c
==============================================================================
--- stable/7/sys/fs/pseudofs/pseudofs_vncache.c Fri Aug 20 19:46:50 2010 (r211531)
+++ stable/7/sys/fs/pseudofs/pseudofs_vncache.c Fri Aug 20 20:33:13 2010 (r211532)
@@ -189,7 +189,7 @@ retry:
if ((pn->pn_flags & PFS_PROCDEP) != 0)
(*vpp)->v_vflag |= VV_PROCDEP;
pvd->pvd_vnode = *vpp;
- (*vpp)->v_vnlock->lk_flags |= LK_CANRECURSE;
+ VN_LOCK_AREC(*vpp);
vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, curthread);
error = insmntque(*vpp, mp);
if (error != 0) {
Modified: stable/7/sys/fs/smbfs/smbfs_node.c
==============================================================================
--- stable/7/sys/fs/smbfs/smbfs_node.c Fri Aug 20 19:46:50 2010 (r211531)
+++ stable/7/sys/fs/smbfs/smbfs_node.c Fri Aug 20 20:33:13 2010 (r211532)
@@ -259,7 +259,7 @@ loop:
} else if (vp->v_type == VREG)
SMBERROR("new vnode '%s' born without parent ?\n", np->n_name);
- vp->v_vnlock->lk_flags |= LK_CANRECURSE;
+ VN_LOCK_AREC(vp);
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
smbfs_hash_lock(smp);
Modified: stable/7/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c
==============================================================================
--- stable/7/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c Fri Aug 20 19:46:50 2010 (r211531)
+++ stable/7/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c Fri Aug 20 20:33:13 2010 (r211532)
@@ -29,6 +29,8 @@
* For further information regarding this notice, see:
*
* http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
+ *
+ * $FreeBSD$
*/
#include "xfs.h"
@@ -389,7 +391,7 @@ xfs_vn_allocate(xfs_mount_t *mp, xfs_ino
return (error);
}
- vp->v_vnlock->lk_flags |= LK_CANRECURSE;
+ VN_LOCK_AREC(vp);
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curthread);
error = insmntque(vp, XVFSTOMNT(XFS_MTOVFS(mp)));
if (error != 0) {
Modified: stable/7/sys/kern/vfs_lookup.c
==============================================================================
--- stable/7/sys/kern/vfs_lookup.c Fri Aug 20 19:46:50 2010 (r211531)
+++ stable/7/sys/kern/vfs_lookup.c Fri Aug 20 20:33:13 2010 (r211532)
@@ -83,7 +83,7 @@ nameiinit(void *dummy __unused)
error = getnewvnode("crossmp", NULL, &dead_vnodeops, &vp_crossmp);
if (error != 0)
panic("nameiinit: getnewvnode");
- vp_crossmp->v_vnlock->lk_flags &= ~LK_NOSHARE;
+ VN_LOCK_ASHARE(vp_crossmp);
}
SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_SECOND, nameiinit, NULL);
More information about the svn-src-all
mailing list