Hello Alain,
there seems to be a severe bug in fdutils-5.4-20020222. At least for me superformat is not able to format high capacitiy disks without the --verify_later option.
The original bug report I received is at
It seems, that the verify code uses the _old_ drive parameters (either whatever was autodetected for media that was in the drive before, set with setfdprm, or the default) to verify the tracks, which are formatted with the new parameters.
You can reproduce this as follows:
# insert a disk with the usual 1440/1440 format into the drive # and make sure that the floppy driver uses this format. voss@automatix [~] setfdprm /dev/fd0 1440/1440 voss@automatix [~] mdir Volume in drive A has no label Volume Serial Number is 682D-7F39 Directory for A:/
No files 1 457 664 bytes free voss@automatix [~] superformat /dev/fd0 ds hd sect=21
This command results in a lot of I/O errors and noises like the floppy drive is suffering. The first few error messages are
Jun 30 14:31:39 automatix kernel: end_request: I/O error, dev 02:00 (floppy), sector 60 Jun 30 14:31:40 automatix kernel: end_request: I/O error, dev 02:00 (floppy), sector 62 Jun 30 14:31:43 automatix kernel: end_request: I/O error, dev 02:00 (floppy), sector 81 Jun 30 14:31:44 automatix kernel: end_request: I/O error, dev 02:00 (floppy), sector 82 Jun 30 14:31:46 automatix kernel: end_request: I/O error, dev 02:00 (floppy), sector 102
If I try the same with the "--verify_later" option, everything works fine:
voss@automatix [~] superformat --verify_later /dev/fd0 ds hd sect=21 Formatting cylinder 79, head 1 mformat -s21 -t80 -h2 -S2 -M512 a: Verifying cylinder 79, head 1
I hope this helps, Jochen
PS.: if you reply to this mail, please send (via Cc:) a copy to 148587-forwarded@bugs.debian.org
On Sunday 30 June 2002 14:43, Jochen Voss wrote:
It seems, that the verify code uses the _old_ drive parameters (either whatever was autodetected for media that was in the drive before, set with setfdprm, or the default) to verify the tracks, which are formatted with the new parameters.
[...]
voss@automatix [~] superformat /dev/fd0 ds hd sect=21
This command results in a lot of I/O errors and noises like the floppy drive is suffering. The first few error messages are
I checked it out: the floppy parameters look correct; however there is something else going on:
In recent kernels, the generic VFS's layer's read-ahead behavior has changed. Now, the VFS attempts to read ahead on floppies, even if BLKRA is set to 0.
In its default config, superformat alternatively formats a track, and then immediately attempts to read from it (by using the system's read syscall, rather than using raw floppy I/O). The problem is that then the VFS decides to read ahead, and stumbles accross tracks which are _not_yet_ formatted at that time, hence the scary noises.
Even when reformatting a disk as the same format, noises occur, because reads and formatting now happen "in parallel", forcing the rw head to move in an erratic pattern.
If I try the same with the "--verify_later" option, everything works fine:
Exaclty.
In today's patch, I made --verify_later the default.
In order to get the old behavior back, use --verify_later=0
Regards,
Alain
_______________________________________________ fdutils mailing list fdutils@tux.org http://www.tux.org/mailman/listinfo/fdutils