]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Implement IO_NOWDRAIN and B_NOWDRAIN - prevents the buffer cache from blocking
authorMatthew Dillon <dillon@FreeBSD.org>
Mon, 5 Nov 2001 18:48:54 +0000 (18:48 +0000)
committerMatthew Dillon <dillon@FreeBSD.org>
Mon, 5 Nov 2001 18:48:54 +0000 (18:48 +0000)
commit7e76bb562eb8d0697a233e798405f37b4aeb0c6c
treede03e156782fad9ffef4684a7cf3f1908967e835
parent93b2ae9fcf399d40b5b0fa3c4792cef61a616d16
Implement IO_NOWDRAIN and B_NOWDRAIN - prevents the buffer cache from blocking
in wdrain during a write.  This flag needs to be used in devices whos
strategy routines turn-around and issue another high level I/O, such as
when MD turns around and issues a VOP_WRITE to vnode backing store, in order
to avoid deadlocking the dirty buffer draining code.

Remove a vprintf() warning from MD when the backing vnode is found to be
in-use.  The syncer of buf_daemon could be flushing the backing vnode at
the time of an MD operation so the warning is not correct.

MFC after: 1 week
sys/dev/md/md.c
sys/kern/vfs_bio.c
sys/kern/vfs_cluster.c
sys/nfsclient/nfs_bio.c
sys/sys/buf.h
sys/sys/vnode.h
sys/ufs/ufs/ufs_readwrite.c