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

git: kernel - Fix improper assertion panic in vinvalbuf()


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 8 Dec 2012 14:25:49 -0800 (PST)

commit 678a10c07eac5ff21749f09cab559ee2d15dd9b9
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sat Dec 8 14:22:15 2012 -0800

    kernel - Fix improper assertion panic in vinvalbuf()
    
    * Related to the removal of vhold/vdrop from buffer cache buffers, the
      state of a vnode being cleaned can now contain more active buffers and
      I/O's at the time of the vinvalbuf() call.
    
    * Remove the 'vinvalbuf: dirty bufs' assertion and panic.  It is no longer
      a correct assertion.  Note that we've also had sporatic reports of this
      panic even prior to the work so it might not have been a completely
      correct assertion before either.
    
    * Rework the vinvalbuf buffer-flushing and I/O-waiting code a bit.  We
      have to wait for I/O at least once and it is probably a good idea to
      wait for I/O after each buffer flush pass too, to avoid live-locks.
    
    Reported-by: vsrinivas

Summary of changes:
 sys/kern/vfs_subr.c |   43 ++++++++++++++++++++++++-------------------
 1 files changed, 24 insertions(+), 19 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/678a10c07eac5ff21749f09cab559ee2d15dd9b9


-- 
DragonFly BSD source repository



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