Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Nov 2006 19:28:37 -0000
From:      "Steven Hartland" <killing@multiplay.co.uk>
To:        "Kostik Belousov" <kostikbel@gmail.com>, "Mike Jakubik" <mikej@rogers.com>
Cc:        freebsd-fs@freebsd.org, freebsd-stable@freebsd.org
Subject:   Re: md deadlocks on wdrain. Was: [Re: quota and snapshots in6.1-RELEASE]
Message-ID:  <027b01c70e6c$6c879470$b3db87d4@multiplay.co.uk>
References:  <447366AD.30203@rogers.com> <44736E11.6060104@mkproductions.org><20060523203521.GA48061@xor.obsecurity.org><20060524062118.GA766@dimma.mow.oilspace.com><447400BB.9060603@samsco.org> <4485C010.9040402@rogers.com><20060606182234.GB72368@deviant.kiev.zoral.com.ua><44A490E6.1000502@rogers.com><20060630092829.GE1258@deviant.kiev.zoral.com.ua><44A56E0F.1070904@rogers.com> <20060701034922.GA37822@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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
fail.

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@gmail.com>
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 @@
  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@multiplay.co.uk.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?027b01c70e6c$6c879470$b3db87d4>