copying /dev/da0 with dd(1) to file: output differs

Alexander Motin mav at FreeBSD.org
Fri Nov 19 18:51:46 UTC 2010


On 19.11.2010 20:39, Matthias Apitz wrote:
> El día Friday, November 19, 2010 a las 07:16:53PM +0100, Hans Petter Selasky escribió:
>
>>> I was thinking in a tool just reading each file block by block,
>>> comparing the blocks and noting the 1st diff with block offset number.
>>> (some 10 lines of C code :-))
>>>
>>> 	matthias
>>
>> Maybe you need to write a small C-program to do that.
>>
>> You can use bcmp() to compare two buffers.
>
> Will do that tomorrow.
>
> Just an idea: The USB key in question was new and I only created the
> file system on it the usual way (fdisk, bsdlabel, newfs). Then I
> restored the dump on it (which took 26 hours for 3.1 GByte dump file).
> The USB key boots fine, btw.
>
> Could it be that unwritten/unformatted blocks are read as random data
> from that USB key? Should I overwrite the full USB key from /dev/zero?

It is allowed behavior for SATA SSDs with TRIM command support. Deleted 
blocks can be not guarantied to return any predictable or even 
repeatable value. May be this logic could be extended to USB devices.

-- 
Alexander Motin


More information about the freebsd-usb mailing list