From 6bdfe06ad9337a33a402bc933006265c30980780 Mon Sep 17 00:00:00 2001 From: Eivind Eklund Date: Sat, 11 Dec 1999 16:13:02 +0000 Subject: Lock reporting and assertion changes. * lockstatus() and VOP_ISLOCKED() gets a new process argument and a new return value: LK_EXCLOTHER, when the lock is held exclusively by another process. * The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them * Extend the vnode_if.src format to allow more exact specification than locked/unlocked. This commit should not do any semantic changes unless you are using DEBUG_VFS_LOCKS. Discussed with: grog, mch, peter, phk Reviewed by: peter --- sys/nfsclient/nfs_node.c | 1 + sys/nfsclient/nfs_vfsops.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'sys/nfsclient') diff --git a/sys/nfsclient/nfs_node.c b/sys/nfsclient/nfs_node.c index 13ff9b2902a0..53c73a165d9e 100644 --- a/sys/nfsclient/nfs_node.c +++ b/sys/nfsclient/nfs_node.c @@ -380,6 +380,7 @@ int nfs_islocked(ap) struct vop_islocked_args /* { struct vnode *a_vp; + struct proc *a_p; } */ *ap; { return VTONFS(ap->a_vp)->n_flag & NLOCKED ? 1 : 0; diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c index dc9e053ac8cd..8a0c36869410 100644 --- a/sys/nfsclient/nfs_vfsops.c +++ b/sys/nfsclient/nfs_vfsops.c @@ -1062,7 +1062,7 @@ loop: */ if (vp->v_mount != mp) goto loop; - if (VOP_ISLOCKED(vp) || TAILQ_EMPTY(&vp->v_dirtyblkhd) || + if (VOP_ISLOCKED(vp, NULL) || TAILQ_EMPTY(&vp->v_dirtyblkhd) || waitfor == MNT_LAZY) continue; if (vget(vp, LK_EXCLUSIVE, p)) -- cgit v1.2.3