From 17a1391990632cd26c0bb13095f1012d83dba5e4 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Sat, 31 May 2003 16:42:45 +0000 Subject: The IO_NOWDRAIN and B_NOWDRAIN hacks are no longer needed to prevent deadlocks with vnode backed md(4) devices because md now uses a kthread to run the bio requests instead of doing it directly from the bio down path. --- sys/dev/md/md.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'sys/dev/md') diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index 7071a3ea4673..1577f0226db1 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -497,8 +497,7 @@ mdstart_vnode(struct md_s *sc, struct bio *bp) auio.uio_td = curthread; /* * When reading set IO_DIRECT to try to avoid double-caching - * the data. When writing IO_DIRECT is not optimal, but we - * must set IO_NOWDRAIN to avoid a wdrain deadlock. + * the data. When writing IO_DIRECT is not optimal. */ if (bp->bio_cmd == BIO_READ) { vn_lock(sc->vnode, LK_EXCLUSIVE | LK_RETRY, curthread); @@ -506,7 +505,7 @@ mdstart_vnode(struct md_s *sc, struct bio *bp) } else { (void) vn_start_write(sc->vnode, &mp, V_WAIT); vn_lock(sc->vnode, LK_EXCLUSIVE | LK_RETRY, curthread); - error = VOP_WRITE(sc->vnode, &auio, IO_NOWDRAIN, sc->cred); + error = VOP_WRITE(sc->vnode, &auio, 0, sc->cred); vn_finished_write(mp); } VOP_UNLOCK(sc->vnode, 0, curthread); -- cgit v1.3