determine the endianness of the `struct fs *o' superblock from o->fs_magic
and set needswap as necessary, rather than trusting the caller to get
it right. invariably, almost every caller of ffs_sb_swap() was calling it
with ns set to the wrong value for ns anyway!
ansi KNF ffs_bswap.c declarations whilst here.
this fixes all sorts of problems when trying to use other-endian file systems,
notably the kernel trying to access memory *way* off, possibly corrupting or
panicing, and userland programs SEGVing and/or corrupting things (e.g,
"fsck_ffs -B" to swap a file system endianness).
whilst the previous rev of ffs_bswap.c (1.10, 2000/12/23) made this problem
worse, i suspect that the problem was always there and previous versions
just happened not to trash things at the wrong time.
FFS_EI should now be a lot more stable.
entry if there are no filesystems with quotas. Speeds up boot on a large YP
site without quotas considerably. If a filesystem has quotas we process
/etc/fstab twice, which is very cheap in relative terms.
The quota file is still in host byteorder. quotacheck needs to be re-run
when a FS has been moved to an architecture to another. Running quota
on a non-native byteorder ffs is considered a marginal case.