Antony Mawer wrote:

Is it recommended/required to do something like:

    dd if=/dev/zero of=/dev/ad0 bs=1m

before use to ensure the drive's sector remappings are all in place, before then doing a newfs?


It seems logical to read the whole device first with "conv=noerror" to be sure the drive has encountered and noted any correctable or uncorrectable errors present.

Only then write the entire drive, allowing it to remap any noted bad sectors. i.e.:

   # dd if=/dev/ad0 of=/dev/null bs=64k conv=noerror
   # dd if=/dev/zero of=/dev/ad0 bs=64k

The problem is that when dd hits the first bad sector, the whole 64k block containing the sector will be skipped. There could be more bad sectors there... or none... If you hit errors I would re-read the affected area with "bs=512" to get down to sector granularity.

I seem to recall a utility posted to a freebsd mailing list some time ago that worked like dd(1), but would "divide and conquer" a block that returned with a read error. Intent being to get the job done fast with large blocks but still copy every sector possible off a failing drive by reducing to sector-sized blocks if necessary.... Unfortunately I can't find it now.



Joe Koberg
joe at osoft dot us

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to