git: kernel - Fix two UFS+softupdates bugs
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Aug 15 18:16:05 PDT 2012
commit 8224c9ea7d94389a63b07be4401f0b05912f8f4a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Aug 15 18:14:27 2012 -0700
kernel - Fix two UFS+softupdates bugs
* The softdep sema_*() functions (the ones in ffs_softdep.c, not the sysv
functions) were not MPSAFE for the case where the passed interlock is
NULL. Use a spinlock for that case.
* getdirtybuf()'s semantics were broken and could return success even
after having released &lk with the bp still unlocked.
Fixing this should fix most of the reported softdep panics.
Summary of changes:
sys/vfs/ufs/ffs_softdep.c | 163 ++++++++++++++++++++++++++++++---------------
1 files changed, 108 insertions(+), 55 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8224c9ea7d94389a63b07be4401f0b05912f8f4a
--
DragonFly BSD source repository
More information about the Commits
mailing list