diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c index d844cfc47cc7..8cde1f111153 100644 --- a/sys/kern/kern_lock.c +++ b/sys/kern/kern_lock.c @@ -450,6 +450,8 @@ lockinit(struct lock *lk, int pri, const char *wmesg, int timo, int flags) iflags |= LO_QUIET; if (flags & LK_IS_VNODE) iflags |= LO_IS_VNODE; + if (flags & LK_NEW) + iflags |= LO_NEW; iflags |= flags & (LK_ADAPTIVE | LK_NOSHARE); lock_init(&lk->lock_object, &lock_class_lockmgr, wmesg, NULL, iflags); diff --git a/sys/sys/lockmgr.h b/sys/sys/lockmgr.h index 03ae6f9e4aca..bef9f039b8c8 100644 --- a/sys/sys/lockmgr.h +++ b/sys/sys/lockmgr.h @@ -143,7 +143,7 @@ _lockmgr_args_rw(struct lock *lk, u_int flags, struct rwlock *ilk, /* * Flags for lockinit(). */ -#define LK_INIT_MASK 0x0000FF +#define LK_INIT_MASK 0x0001FF #define LK_CANRECURSE 0x000001 #define LK_NODUP 0x000002 #define LK_NOPROFILE 0x000004 @@ -152,6 +152,7 @@ _lockmgr_args_rw(struct lock *lk, u_int flags, struct rwlock *ilk, #define LK_QUIET 0x000020 #define LK_ADAPTIVE 0x000040 #define LK_IS_VNODE 0x000080 /* Tell WITNESS about a VNODE lock */ +#define LK_NEW 0x000100 /* * Additional attributes to be used in lockmgr().