Package: coreutils
Version: 5.97-5

The documentation for the dd(1) 'noerror' keyword does not make it clear what 
happens to the blocks in which read errors occurred (or that this depends on 
the apparently-unrelated 'sync' keyword).

I would suggest that the current text "continue after read errors" (in the man 
and info pages) be expanded to indicate that without 'sync', input blocks 
with errors are dropped; with 'sync', whatever was read of input blocks with 
errors is padded to ibs and written. 

(If I understand the source correctly...)

For example, to read data off a failing disk, one should use:
  dd if=/dev/hdXY of=/filename.disk conv=noerror,sync

Omitting the 'sync' is a problem, since all offsets will be off from the first 
read error onwards and the size of the disk image will not match the size 
recorded in the superblock. This will lead to the following message from fsck 
when attempting to repair the disk image:

The filesystem size (according to the superblock) is X blocks
The physical size of the device is Y blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>? 


Jiri
-- 
Jiri Baum <[EMAIL PROTECTED]>                   http://www.baum.com.au/~jiri


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to