Ian Dowse f55ff3f3ef The ffs superblock includes a 128-byte region for use by temporary
in-core pointers to summary information. An array in this region
(fs_csp) could overflow on filesystems with a very large number of
cylinder groups (~16000 on i386 with 8k blocks). When this happens,
other fields in the superblock get corrupted, and fsck refuses to
check the filesystem.

Solve this problem by replacing the fs_csp array in 'struct fs'
with a single pointer, and add padding to keep the length of the
128-byte region fixed. Update the kernel and userland utilities
to use just this single pointer.

With this change, the kernel no longer makes use of the superblock
fields 'fs_csshift' and 'fs_csmask'. Add a comment to newfs/mkfs.c
to indicate that these fields must be calculated for compatibility
with older kernels.

Reviewed by:	mckusick
2001-01-15 18:30:40 +00:00
..
2000-12-18 15:16:24 +00:00
2000-12-09 09:35:55 +00:00
2000-12-18 15:16:24 +00:00
2000-12-28 16:44:47 +00:00
2000-12-18 15:16:24 +00:00
2000-12-27 14:40:52 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-28 16:44:47 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-19 15:36:48 +00:00
2000-12-30 21:05:45 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2001-01-10 14:53:46 +00:00
2000-12-18 15:16:24 +00:00
2000-12-28 12:59:57 +00:00
2000-12-28 12:59:57 +00:00
2000-12-27 14:40:52 +00:00
2000-12-27 14:40:52 +00:00
2000-12-28 12:59:57 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2000-12-18 15:16:24 +00:00
2001-01-01 23:30:51 +00:00
2000-12-27 14:40:52 +00:00
2000-12-18 15:16:24 +00:00
2001-01-14 11:42:19 +00:00
2000-12-28 20:59:35 +00:00