Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2011 20:50:18 -0700
From:      Carl Johnson <carlj@peak.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: Is there way to get filename for specific LBA?
Message-ID:  <87vctc6hvp.fsf@oak.localnet>
In-Reply-To: <4e5f24c3.agV2UHzbjHEXght8%perryh@pluto.rain.com> (perryh@pluto.rain.com's message of "Wed, 31 Aug 2011 23:22:59 -0700")
References:  <201108311826.p7VIQRCY068730@mail.r-bonomi.com> <4e5f24c3.agV2UHzbjHEXght8%perryh@pluto.rain.com>

next in thread | previous in thread | raw e-mail | index | archive | help
perryh@pluto.rain.com writes:

> Robert Bonomi <bonomi@mail.r-bonomi.com> wrote:
>
>> > Aug 31 05:13:24 da kernel: ad6: WARNING - READ_DMA UDMA ICRC
>> > error (retrying request) LBA=107491647
>> > ... I looked at bsdlabel a   it's partition f, /home. But what
>> > is the file name?
>>
>> There's *no* easy way to find out.  You'll have to grovel through
>> all the filesystem metadata, and the layers of index blocks for
>> every file until you find the 'rgiht' one.
>
> This is what "icheck -B" was for, but icheck(8) no longer exists and
> that particular bit of functionality does not seem to be provided in
> fsck(8).
>
> One current userland utility (other than fsck) which does know
> how to grovel through the metadata and index blocks is dump(8),
> but you'd have to hack on it to report which inode was using a
> particular block.

It looks like the best bet would be fsdb, assuming that it is a UFS
file system.  That does have a 'findblk' command to find a file
containing a block, but you would need to calculate the block offset in
the filesystem first.  It doesn't look like it would be easy, as was
said earlier.

-- 
Carl Johnson		carlj@peak.org




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