diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2014-08-29 09:02:01 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2014-08-29 09:02:01 +0000 |
commit | 575e02d94fc1d5aa2c4da397fe8fed74bd6025c1 (patch) | |
tree | 51e2f28ee826c3fb4948b83b267223110e045482 /sys/sys | |
parent | ba572d1a95fd7c40404a22a7537cdc2e8666fdeb (diff) | |
download | src-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.h | 1 | ||||
-rw-r--r-- | sys/sys/vnode.h | 1 |
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 */ |