Bug 238212

Summary: [Witness] Errors are reported when taking a recursive lock
Product: Base System Reporter: Masse Nicolas <nicolas.masse>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: New ---    
Severity: Affects Some People Keywords: patch
Priority: ---    
Version: 11.2-RELEASE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Add a check in witness to allow taking a lock recursively none

Description Masse Nicolas 2019-05-29 12:04:35 UTC
Created attachment 204696 [details]
Add a check in witness to allow taking a lock recursively

When using a recursive lock, witness trigger an errors if the lock is taken twice although it is an expected case.

This was observed when using a rm_lock created with the RM_RECURSE flag.
So I add a check in witness to check is the class of the lock have the LC_RECURSABLE flag set before triggering the error.

Note that this is a quick fix which could probably be enhanced.