Bruce Evans add4ae9324 Fixed (?) races in mark_buffer_dirty(). We abuse the buffer cache
by hacking on locked buffers without getblk()ing them, and we didn't
even use splbio() to prevent biodone() changing the buffer underneath
use when a write completes.  I think there was no problem in practice
on i386's because the operations on b_flags and numdirtybufs happen to
be atomic.  We still depend on biodone()'s operations on b_flags not
interfering with ours.  I think there is only interference for B_ERROR,
and this is harmless because errors for async writes are ignored anyway.

Don't use mark_buffer_dirty() except for superblock-related metadata.
It was used in just one case where ordinary BSD buffering is more
natural.
1998-06-21 21:06:04 +00:00
..
1998-06-21 14:53:44 +00:00
1998-02-06 12:14:30 +00:00
1997-12-02 10:39:42 +00:00
1997-12-02 10:39:42 +00:00
1998-02-09 06:11:36 +00:00
1998-06-21 18:02:50 +00:00
1998-02-06 12:14:30 +00:00
1998-01-30 11:34:06 +00:00
1998-06-21 12:36:12 +00:00