From owner-freebsd-questions@FreeBSD.ORG Thu Aug 7 16:34:06 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E01EF37B404 for ; Thu, 7 Aug 2003 16:34:06 -0700 (PDT) Received: from sj-iport-3.cisco.com (sj-iport-3-in.cisco.com [171.71.176.72]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B2B243F85 for ; Thu, 7 Aug 2003 16:34:06 -0700 (PDT) (envelope-from raj@cisco.com) Received: from cisco.com (171.71.177.237) by sj-iport-3.cisco.com with ESMTP; 07 Aug 2003 16:34:05 -0700 Received: from mira-sjc5-b.cisco.com (IDENT:mirapoint@mira-sjc5-b.cisco.com [171.71.163.14]) by sj-core-1.cisco.com (8.12.9/8.12.6) with ESMTP id h77NY4tp017568 for ; Thu, 7 Aug 2003 16:34:04 -0700 (PDT) Received: from cisco.com (stealth-10-34-245-242.cisco.com [10.34.245.242]) by mira-sjc5-b.cisco.com (Mirapoint Messaging Server MOS 3.3.6-GR) with SMTP id AKC99936; Thu, 7 Aug 2003 16:27:51 -0700 (PDT) Date: Thu, 7 Aug 2003 16:33:49 -0700 Mime-Version: 1.0 (Apple Message framework v552) Content-Type: text/plain; charset=US-ASCII; format=flowed From: Richard Johnson To: freebsd-questions@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: <98C743C2-C92F-11D7-AA93-0003939711FE@cisco.com> X-Mailer: Apple Mail (2.552) Subject: Question re. hard read errors X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Aug 2003 23:34:07 -0000 I have a 1.5Gb file stored on a FreeBSD 4.8 disk drive and the system is giving me hard read errors when I try reading it. It appears as though this disk has a few bad blocks. :( Unfortunately, it's a compressed tar file and I (stupidly!) erased the file from the original computer before untar'ing it here and finding the errors! I'd like to recover as much as possible of this file before writing off the entire thing. I looked at /usr/src/sys/dev/ata/ata-disk.c and found the retry count was set to 3. I changed it to 10. After the first error (which is, indeed, reported 10 times) the system reports that it's going into PIO mode and I still hear the same amount of hammering on the drive after that and only one error message produced. Is there some way I can force the system to retry 10 or more times for each and every block? Maybe there's some other utility I can use which tries harder to read the blocks? ANY pointers to information would be greatly appreciated. /raj