DragonFly BSD
DragonFly commits List (threaded) for 2012-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Fix two UFS+softupdates bugs


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 15 Aug 2012 18:16:05 -0700 (PDT)

commit 8224c9ea7d94389a63b07be4401f0b05912f8f4a
Author: Matthew Dillon <dillon@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]