From owner-freebsd-current Fri Mar 31 23:51:34 2000 Delivered-To: freebsd-current@freebsd.org Received: from freebsd.dk (freebsd.dk [212.242.42.178]) by hub.freebsd.org (Postfix) with ESMTP id E595D37BCFF for ; Fri, 31 Mar 2000 23:51:25 -0800 (PST) (envelope-from sos@freebsd.dk) Received: (from sos@localhost) by freebsd.dk (8.9.3/8.9.1) id JAA48796; Sat, 1 Apr 2000 09:51:02 +0200 (CEST) (envelope-from sos) From: Soren Schmidt Message-Id: <200004010751.JAA48796@freebsd.dk> Subject: Re: Deadlock with vinum raid5 In-Reply-To: <20000401091140.A51727@freebie.lemis.com> from Greg Lehey at "Apr 1, 2000 09:11:40 am" To: grog@lemis.com (Greg Lehey) Date: Sat, 1 Apr 2000 09:51:02 +0200 (CEST) Cc: vallo@matti.ee, freebsd-current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG It seems Greg Lehey wrote: > > The problem that Søren and I are looking at is usually a panic. We > don't really know where it's happening, but we're each sure it's not > in *our* code :-) From a Vinum standpoint, it happens between the time > that Vinum sends a request to the driver and when the I/O completes, > so it's difficult to blame Vinum. On the other hand, we've seen it > with SCSI as well, so it's difficult to blame the driver. I'm half > guessing that it's something else altogether which is spamming freed > data. Vinum mallocs the buffer headers rather than using geteblk(), > which could explain why it happens only with Vinum. It happens also with the wd driver, so its 3 drivers against one :) What seems to be happening is that *something* is corrupting the buf structure, or the pointer to it. What I see in most cases is that the buf structure I get in adstrategy has gotten some of its fields changed when I get to work on it in ad_start. That should _not_ be happening, and doesn't when vinum is not involved. Somehow I think that vinums shuffleing around with buf's and copies of them at some point gets confused. I'm still instrumenting my kernel to locate where it happens, and I havn't got anything definite yet... -Søren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message