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>
Fri, 14 Dec 2012 03:13:52 +0000 (19:13 -0800)
commit629765a30fdc4c483e1abc83e528ff3a53dea66c
treec55344fd8b4419b6907e2112b3f1da357bc57465
parent9106bf2234026fe6086d343402bec0fb5a896be5
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