From owner-freebsd-geom@FreeBSD.ORG Mon Nov 29 13:34:11 2004 Return-Path: Delivered-To: freebsd-geom@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C921D16A4CE; Mon, 29 Nov 2004 13:34:11 +0000 (GMT) Received: from foo.nemo-project.org (foo.nemo-project.org [194.54.103.89]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B13543D2D; Mon, 29 Nov 2004 13:34:11 +0000 (GMT) (envelope-from terje@elde.org) Received: by foo.nemo-project.org (Postfix, from userid 1001) id 06C9CD908C; Mon, 29 Nov 2004 14:35:22 +0100 (CET) Date: Mon, 29 Nov 2004 14:35:21 +0100 From: Terje Elde To: "Simon L. Nielsen" Message-ID: <20041129133521.GE90910@calleigh.elde.net> References: <20041129114740.GD90910@calleigh.elde.net> <20041129115717.GA753@zaphod.nitro.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041129115717.GA753@zaphod.nitro.dk> User-Agent: Mutt/1.5.4i cc: freebsd-geom@freebsd.org Subject: Re: mirror handling of broken harddrives X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Nov 2004 13:34:11 -0000 On Mon, Nov 29, 2004 at 12:57:17PM +0100, Simon L. Nielsen wrote: > > Given faulty hardware, resulting in: > > > > ad0: TIMEOUT - READ_DMA retrying (2 retries left) LBA=35170616 > > ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=35170616 > > ad0: FAILURE - READ_DMA timed out > > > > How would this be handled by geom_mirror if it was a part of a two-plex > > volume? > > I can show you from my log how it handles it :-) : > > ad0: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=152911 > ad0: FAILURE - WRITE_DMA timed out > GEOM_MIRROR: Request failed (error=5). ad0[WRITE(offset=78290432, length=16384)] > GEOM_MIRROR: Device boot: provider ad0 disconnected. > GEOM_MIRROR: Device boot: provider ad0 detected. > GEOM_MIRROR: Device boot: rebuilding provider ad0. > GEOM_MIRROR: Device boot: rebuilding provider ad0 finished. > GEOM_MIRROR: Device boot: provider ad0 activated. > > So, it just works :-). Hmm, yes. But does it work the way it should? I mean, if the reason for the problem is that the hardware ad0 is defect, then you'll try to rebuild it again and again. Every time you're trying to write a defect sector, the disk will block. Since this is a DMA timeout, I imagine the blocking can quite easily lead to other problems as well, for things sharing the same DMA channel. > geom_mirror has just worked great for me, thanks Pawel! :-) Works great for me too. I'm nothing but happy. Terje