Here's a bug fix for the second bug... the recursive lock --mmap issue.
Please test it (with the originally suggested #if 0 workaround removed).
This fix is for HAMMER, if it works I'll do the same thing w/ NFS and UFS.
fetch http://apollo.backplane.com/DFlyMisc/buf01.patch
We still have a recursive lock or deadlock possibility with write()'s
which isn't quite so easy to fix. I'm not quite sure what to do there.
I'll review the bisect range for the first bug and see if I can find
where the missing lock pairing is.
-Matt