[issue1942] non-zero exclusive count(Re: locking against myself in getcacheblk()?)
Matthew Dillon
dillon at apollo.backplane.com
Wed Dec 29 00:39:40 PST 2010
Ok, I think I fixed the non-zero exclusive count panic, please try
with the latest master (I pushed it).
It looks like a shared->exclusive upgrade can steal an exclusive lock
out from under an exclusive lock request. The exclusive lock request
uses two acquire() operations internally and the upgrade can slip in
inbetween them.
The recursive lock that my hold/drop patch addresses is still an issue.
The hold/drop patch fixes it but might have other problems (the buffer
can still be invalidated while hold). I'm still looking into that.
Please test.
-Matt
More information about the Bugs
mailing list