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>