Re: SCSI Sector Size Problem

Theodore Y. Ts'o (tytso@mit.edu)
Fri, 1 Nov 1996 17:39:41 -0500


From: Matthew X Economou <econommx@rose-hulman.edu>
Date: 31 Oct 1996 16:34:01 -0500

>>>>> "SA" == System Administration <root@chaos.analogic.com> writes:

SA> If not, temporarily partition and format it with DOS. MS-DOS
SA> reads the entire disk drive during its high-level format. This
SA> will force bad blocks to be reloated.

Why doesn't mke2fs do proper bad-block checking? I've had several
floppies that had bad sectors on them that either (a) weren't detected
by fdformat or (b) weren't detected by mke2fs. My only option was to
format them with (Yggdrasil's) mkdosfs, which actually does the
bad-block checking.

mke2fs will do bad-block checking if you use the -c option. This, like
MS-DOS reads the entire disk drive during its high-level format. The
problem is that this doesn't catch all errors.

The badblocks program (which is what mke2fs calls) also has an option
for doing a distructive read/write test. The problem is that it takes a
*lot* longer, and there currently isn't an option to mke2fs which will
cause it to run badblocks with its -w option.

Linux's Second Extended file system doesn't seem to be very fault
tolerant. Because if there's a bad sector on the disk, the -c option
won't catch it, even though everything else (including the kernel)
does see it (and then panics, usually).

The -c option to mke2fs should catch everything that MS-DOS does if
MS-DOS is only doing a read test. The kernel currently panics if the
bad block appears in the inode table; and even that can be configured so
that the error is (a) ignored or (b) causes the filesystem to be
remounted read-only. So it is possible to have the MS-DOS behavior of
obliviously ignoring disk errors.

- Ted