Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Feb 2007 01:00:21 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        "Marc G. Fournier" <scrappy@freebsd.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Bad sector on drive ...
Message-ID:  <20070210070020.GP37689@dan.emsphone.com>
In-Reply-To: <5D4377994F77F6A6C215D198@ganymede.hub.org>
References:  <5D4377994F77F6A6C215D198@ganymede.hub.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Feb 10), Marc G. Fournier said:
> Short of a reformat, any way of marking the following as bad? :(
> 
> Feb 10 02:27:20 ganymede kernel: ad4: FAILURE - READ_DMA  status=51<READY,DSC,ERROR> error=40<UNCORRECTABLE> LBA=176887263
> Feb 10 02:27:25 ganymede kernel: ad4: TIMEOUT - READ_DMA retrying (1 retry  left) LBA=176887324
> Feb 10 02:27:30 ganymede kernel: ad4: TIMEOUT - READ_DMA retrying (0 retries  left) LBA=176887324
> Feb 10 02:27:35 ganymede kernel: ad4: FAILURE - READ_DMA timed out LBA=176887324

Try writing to the block causing the error, using dd and the seek=
option; if the write succeeds, you're done (and the drive will have
either reused the block or reassigned it to a spare).  If it doesn't
succeed, copy what you can off the drive and toss it, since all its
spares are used up.

I think LBA numbers map directly to seek= values assuming you keep
bs=512 and access /dev/ad4 .  I'd try reading the bad block with dd to
verify it's the right one before doing a write, though.

-- 
	Dan Nelson
	dnelson@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070210070020.GP37689>