md deadlocks on wdrain. Was: [Re: quota and snapshots in6.1-RELEASE]

Steven Hartland killing at
Wed Nov 22 11:29:41 PST 2006

The patch below fixed this issue for us. We had a jail which
when upgrading ( installworld ) from 5.4 to 6.1 would constantly
hang the machine with this error.

After updating md.c to 1.164 from MAIN and applying the patch
below I've managed to run installworld 3 times now without error.
Previously including updated to v1.164 this would hang without

If this is the correct fix, it would be good to see get committed
as it have the capability to knock out any box running a vnode
backed jail and is very unpredictable.

----- Original Message ----- 
From: "Kostik Belousov" <kostikbel at>
On Fri, Jun 30, 2006 at 02:31:43PM -0400, Mike Jakubik wrote:
> FYI, -CURRENT passes this test without locking up, so the fix is already 
> there somewhere.

May be. May be not, and other issues just prevent complete exhausting
of the buffer run space on CURRENT. Did you test it on CURRENT
many times, or only once. The same question for STABLE - does it
locks every time your do that ?

Please, try this patch, and report the results.

? sys/dev/md/.arch-ids
Index: sys/dev/md/md.c
RCS file: /usr/local/arch/ncvs/src/sys/dev/md/md.c,v
retrieving revision 1.164
diff -u -r1.164 md.c
--- sys/dev/md/md.c 28 Mar 2006 21:25:11 -0000 1.164
+++ sys/dev/md/md.c 1 Jul 2006 03:48:41 -0000
@@ -650,6 +650,8 @@
  sched_prio(curthread, PRIBIO);
+ if (sc->type == MD_VNODE)
+  curthread->td_pflags |= TDP_NORUNNINGBUF;
  for (;;) {

This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. 

In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337
or return the E.mail to postmaster at

More information about the freebsd-stable mailing list