aboutsummaryrefslogtreecommitdiff
path: root/sys/sys
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2014-08-29 09:02:01 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2014-08-29 09:02:01 +0000
commit575e02d94fc1d5aa2c4da397fe8fed74bd6025c1 (patch)
tree51e2f28ee826c3fb4948b83b267223110e045482 /sys/sys
parentba572d1a95fd7c40404a22a7537cdc2e8666fdeb (diff)
downloadsrc-575e02d94fc1d5aa2c4da397fe8fed74bd6025c1.tar.gz
src-575e02d94fc1d5aa2c4da397fe8fed74bd6025c1.zip
Add function and wrapper to switch lockmgr and vnode lock back to
auto-promotion of shared to exclusive. Tested by: hrs, pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
Notes
Notes: svn path=/head/; revision=270795
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/lockmgr.h1
-rw-r--r--sys/sys/vnode.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/sys/sys/lockmgr.h b/sys/sys/lockmgr.h
index 059de81b0f3a..a48523f8e87d 100644
--- a/sys/sys/lockmgr.h
+++ b/sys/sys/lockmgr.h
@@ -77,6 +77,7 @@ void lockallowrecurse(struct lock *lk);
void lockallowshare(struct lock *lk);
void lockdestroy(struct lock *lk);
void lockdisablerecurse(struct lock *lk);
+void lockdisableshare(struct lock *lk);
void lockinit(struct lock *lk, int prio, const char *wmesg, int timo,
int flags);
#ifdef DDB
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index 2bc4a46165ea..acddfc089da8 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -428,6 +428,7 @@ extern struct vattr va_null; /* predefined null vattr structure */
#define VN_LOCK_AREC(vp) lockallowrecurse((vp)->v_vnlock)
#define VN_LOCK_ASHARE(vp) lockallowshare((vp)->v_vnlock)
+#define VN_LOCK_DSHARE(vp) lockdisableshare((vp)->v_vnlock)
#endif /* _KERNEL */