Fix an invalidation case that tends to occur under load on NFS servers or
commite83ca5954151c098db4acdde223f33486a4e4ff1
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 15 Sep 2008 17:02:49 +0000 (15 17:02 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 15 Sep 2008 17:02:49 +0000 (15 17:02 +0000)
treebafe0bb70dfe58c5766aeb55d9f923536a361379
parent6b53241a804679a2297b83472ba60d9699d70af6
Fix an invalidation case that tends to occur under load on NFS servers or
on machines with low amounts of main memory.  The buf was being recursively
locked and a ref count assertion was wrong.

The code-path was previously untested and would dependably panic the
machine every time prior to the fix.

Reported-by: Thomas Nikolajsen <thomas.nikolajsen@mail.dk>
sys/vfs/hammer/hammer_io.c