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