Date: Sat, 18 Feb 2006 10:47:49 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: bakul@bitblocks.com Cc: hackers@freebsd.org Subject: Re: Bad block -> file mapping Message-ID: <20060218.104749.104696960.imp@bsdimp.com> In-Reply-To: <200602181735.k1IHZOuj040864@gate.bitblocks.com> References: <20060218.102145.26324437.imp@bsdimp.com> <200602181735.k1IHZOuj040864@gate.bitblocks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200602181735.k1IHZOuj040864@gate.bitblocks.com> Bakul Shah <bakul@bitblocks.com> writes: : > I have a hard disk that's been in service a long time. I recently : > installed the SMART monitoring tools. On occasion, I get reports of : > LBAs it can't read. I'd like to map the LBA to an actual file in the : > file system, if possible. Does anybody have any tools that can help : > me with this? : > : > I know I need to get a new disk. In the mean time, I need to cope : > with these errors in a sane manner... : > : > Warner : > : > P.S. Here's a sample report: : > : > Num Test_Description Status LifeTime(hours) LBA_of_first_error : > # 1 Extended offline Completed: read failure 8949 65818210 : > # 2 Short offline Completed without error 8948 - : : Wouldn't bad block forwarding by the disk take care of this? : Generally you want the read of a bad block to return an error : but if you write the block the disk will automatically remap : this block to one of the spare blocks. Correct. That's exactly what I'm trying to do. : What exactly are you trying to do by mapping a bad block to a : file? Nevertheless may be fsdb will help? You still need to : map LBA to the slice/partition offset. Right, I've mapped the lba to a partition, and used badsect to request that at the next fsck the file that contains the bad block be removed and replaced with the file in BAD. However, I'd kinda like to know which file that is. If it is a boring file (foo.o, say), I'd dd the bad block with 0's and then remove it. If it is a non-boring file, I'd try to recover it a couple of times, etc. Once I have the file in BAD, I'd planned on overwriting it with 0's and then removing it if I could read the block again. Maybe there's a better way to cope, maybe not. I don't know. Hence my question :-). This is with an ata disk, btw. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060218.104749.104696960.imp>