ok guenther@ and deraadt@ missed in the commit msg. oops.

On Sat, Nov 17, 2012 at 4:08 PM, Bob Beck <b...@cvs.openbsd.org> wrote:
> CVSROOT:        /cvs
> Module name:    src
> Changes by:     b...@cvs.openbsd.org    2012/11/17 16:08:22
>
> Modified files:
>         sys/sys        : buf.h
>         sys/kern       : vfs_subr.c vfs_biomem.c
>
> Log message:
> Don't map a buffer (and potentially sleep) when invalidating it in vinvalbuf.
> This fixes a problem where we could sleep for kva and then our pointers
> would not be valid on the next pass through the loop. We do this
> by adding buf_acquire_nomap() - which can be used to busy up the buffer
> without changing its mapped or unmapped state. We do not need to have
> the buffer mapped to invalidate it, so it is sufficient to acquire it
> for that. In the case where we write the buffer, we do map the buffer, and
> potentially sleep.

Reply via email to