kernel - Fix improper assertion panic in vinvalbuf()
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 8 Dec 2012 22:22:15 +0000 (14:22 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 8 Dec 2012 22:22:15 +0000 (14:22 -0800)
commit678a10c07eac5ff21749f09cab559ee2d15dd9b9
treefbde27b43d4783d6839cae2958f38ebda03ba548
parent9a0c03af202716df99905920fe98073e88bbb511
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
sys/kern/vfs_subr.c