William L. Maltby wrote:
?? Uncertain about "spares has been exhausted".
I don't recall where I read it, and I suppose it may be misinformation, but it made sense at the time. The idea is the disks are not made to hold EXACTLY the amount of blocks that the specs are for. There are some extra blocks, that the disk "hides" from the disk controller. The disk automatically re-maps these hidden blocks(making them visible again). By the time bad blocks start showing up on the OS level these extra blocks are already full, an indication that there is far more bad blocks on the disk than just the ones that you can see at the OS level.
Now, I don't know (or care) if an alternate sector was assigned, just that the sector was flagged unusable. For my use (temporary use - no permanent or critical data) this is fine. Last several mke2fs runs have produced the same amount of usable blocks and i-nodes, so I don't see evidence that no spare was available.
Note that mke2fs doesn't write over the entire disk, I doubt it even scans the entire disk. I've used a technology called thin provisioning where only data that is written to disk is actually allocated on disk(e.g. you can create a 1TB volume, if you only write 1GB to it, it only uses 1GB, allowing you to oversubscribe the system, and dynamically grow physical storage as needed). When allocating thinly provisioned volumes and formatting them with mke2fs, even on multi hundred gig systems only a few megs are written to disk(perhaps a hundred megs).
nate