Age | Commit message (Collapse) | Author |
|
From FreeBSD with little changes.
art@ ok.
|
|
FreeBSD's log:
> 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.
art@ ok.
|
|
|
|
|
|
and ntracks until it does, if possible. This allows one to newfs
disks with funky (usually BIOS-generated) geometries without cranking
the block size. This is really just a hack and a better solution
would be to fake the geometries of zone-recorded disks since secpercyl
is never accurate in that case anyway...
|
|
Allow soft updates on mfs filesystems (even if it's stupid).
|
|
|
|
|
|
when newfs is used in instbin and is otherwise harmless. Also add a little
pro-forma malloc fail parnoia, though it's not really needed when the local
malloc routine is used.
|
|
deal with reality
|
|
|
|
|
|
|
|
|
|
exist in struct fs.
|
|
|
|
|
|
|