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

Steven Hartland killing at
Thu Nov 23 14:37:20 PST 2006

Thanks for that, from our point of view its required
as without the machine deadlocks without even trying.

One real strange thing was that if I created a copy of
the vnode file, this particular task ( installworld )
would succeed but given the nature of the bug ( timing
critical ) that seem to make sence.

With this still being a potential issue I think we have
no choice but to migrate away from using any vnode backed

That said I thank you for this as it certainly help us.


----- Original Message ----- 
From: "Kostik Belousov" <kostikbel at>
This is not a fix, this is only a way to make the deadlock less frequent
(I would not ever call it workaround). I have got a reports of deadlocks
with this change applied, and I think that I understand the cause of it.
Also, I have an idea of how to fix it, but not got around to even start

> ? 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 @@
>  mtx_lock_spin(&sched_lock);
>  sched_prio(curthread, PRIBIO);
>  mtx_unlock_spin(&sched_lock);
> + if (sc->type == MD_VNODE)
> +  curthread->td_pflags |= TDP_NORUNNINGBUF;
>  for (;;) {
>   mtx_lock(&sc->queue_mtx);

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