Answer the question
In order to leave comments, you need to log in
Strange behavior of dd in freebsd
We have FreeBSD 6.3-RELEASE
[email protected] [~]# diskinfo -v /dev/ad8s1d
/dev/ad8s1d
512 # sectorsize
193273528320 # mediasize in bytes (180G)
377487360 # mediasize in sectors
374491 # Cylinders according to firmware.
16 # Heads according to firmware.
63 # Sectors according to firmware.
[email protected] [~]# dd if=/dev/ad8s1d of=/dev/null bs=4k conv=sync,noerror
17085274+0 records in
17085274+0 records out
69981282304 bytes transferred in 2140.335542 secs (32696407 bytes/sec)
The behavior does not depend on the sync and noerror flags. When the block size changes, the number of bytes changes, but never reaches the target value.
What am I doing wrong, or why does dd want to drive me crazy?
Answer the question
In order to leave comments, you need to log in
Most likely you have a broken label, with a 180G slice on a smaller screw, or with a larger than necessary slice start. In total, gpart detects a 180G slice using the bsdlabel table and creates a block device with the corresponding characteristics. And dd requests go to the physical disk and reach its end before they reach the end of the slice.
And falls out in the same place? Broken sectors on the screw in smarts? If so try?
dd if=/dev/ad8s1d of=/dev/null bs=1m count=184 320
gpart show -v shows the same numbers?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question