git: kernel - Fix two UFS+softupdates bugs

Matthew Dillon dillon at
Wed Aug 15 18:16:05 PDT 2012

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

DragonFly BSD source repository

More information about the Commits mailing list