git: kernel - Fix spinlock held on switch

看板DFBSD_commit作者時間15年前 (2010/11/20 09:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 8bbb2fba43dfa487685677b4a83d34de08775925 Author: Matthew Dillon <dillon@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@net-amp.com" <goetz@net-amp.com> Summary of changes: sys/kern/vfs_bio.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8bbb2fba43dfa487685677b4a83d34de08775925 -- DragonFly BSD source repository
文章代碼(AID): #1CvoLE9t (DFBSD_commit)