Subject: Re: vnode locking problem
To: Paul Kranenburg <email@example.com>
From: Bill Sommerfeld <firstname.lastname@example.org>
Date: 03/24/1999 07:39:41
Allowing a recursive lock here is also wrong, as the fault is
presumably occurring in the middle of a copyout() in the middle of the
outer VOP_READ(), and the vnode may not be in a state that reentering
VOP_READ could possibly work..
I think the right answer in the short term is to add a new flag bit to
the lockmgr to indicate that locking against self is a non-fatal
condition, and should just cause the lockmgr call to fail instead of a
panic, and then pass that flag (and test for that error) in
uvm_vnode.c. and return EDEADLK.
This should be simple to add and test. Comments?