WRITE_DMA errors on SATA drive under 5.3-RELEASE

cpghost at cordula.ws cpghost at cordula.ws
Sun Feb 27 18:07:25 GMT 2005


On Sun, Feb 27, 2005 at 05:19:32PM +0100, Anthony Atkielski wrote:
> cpghost at cordula.ws writes:
> 
> > Theoretically, one could use 'fsdb -r' in a scripted manner, to
> > generate a mapping of file names to blocks (relative to the partition
> > of the file system you are mapping). Once you have the blocks, you'll
> > need to do so artithmetics to map those blocks to LBA address ranges
> > (perhaps via GEOM or using data in disklabels). Finally, you'll have
> > to locate the range for a particular LBA address and work backwards
> > up to the inode #, and then to the filename(s) that link to that inode.
> 
> Sounds complicated.  Surely I'm not the first person to wish for such a
> utility ... in UNIXland, there seems to be a command for just about
> every conceivable purpose (?).

Or you could write the missing ones :-).

Actually, it's not that hard. You need three mappings:

1. (lba address, (filesystem, block #))
2. ((filesystem, block #), (filesystem, inode #))
3. ((filesystem, inode #), (list of filenames linking to inode #))

Each of those mappings could be done and displayed by a single
utility. Combining all three into a lba2filenames program would
then be trivial.

> > Perhaps there's already a system utility or port for this? It would be
> > really useful!
> 
> I'm mainly worried about exactly what the system was trying to write at
> the time.  It's not clear from the message whether the write succeeded
> or not.

Yes, that's exactly my concern too.

> -- 
> Anthony

-cpghost.

-- 
Cordula's Web. http://www.cordula.ws/


More information about the freebsd-questions mailing list