git: kernel - Fix spinlock held on switch
dillon at crater.dragonflybsd.org
Sat Nov 6 10:34:35 PDT 2010
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Nov 6 10:29:46 2010 -0700
kernel - Fix spinlock held on switch
* flushbufqueues() was holding bufqspin through a buffer cache callback,
causing a kernel panic if the callback winds up blocking. This only
effected UFS not HAMMER).
* Release the spinlock a little earlier so it isn't held around the callback.
* Make a minor semantics change to bio_track_wait() to deal with potential
compiler optimizations messing up the cmpxchg loop.
Reported-by: "goetz at net-amp.com" <goetz at net-amp.com>
Summary of changes:
sys/kern/vfs_bio.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
DragonFly BSD source repository
More information about the Commits