summaryrefslogtreecommitdiffstats
path: root/sys/boot/common/ufsread.c
Commit message (Collapse)AuthorAgeFilesLines
* Consistently use __inline instead of __inline__ as the former is an empty macrostefanf2004-07-041-1/+1
| | | | in <sys/cdefs.h> for compilers without support for inline.
* Use __FBSDID().obrien2003-08-251-4/+3
| | | | Also some minor style cleanups.
* Only apply rev 1.10 (which hacks around the i386 boot2 being too big forobrien2003-02-251-0/+5
| | | | both ufs1 and ufs2 support) on i386.
* Revert to old (broken for over 1.5Tb filesystems) version of cgbasemckusick2003-02-241-0/+2
| | | | | | so that boot loader once again will fit. Sponsored by: DARPA & NAI Labs.
* Restructure so we can compile UFS1_ONLY, UFS2_ONLY or UFS1_AND_UFS2phk2002-12-141-91/+33
| | | | versions from the same basic function.
* Create a new 32-bit fs_flags word in the superblock. Add code to movemckusick2002-11-271-1/+1
| | | | | | | | | | | | | | | | | the old 8-bit fs_old_flags to the new location the first time that the filesystem is mounted by a new kernel. One of the unused flags in fs_old_flags is used to indicate that the flags have been moved. Leave the fs_old_flags word intact so that it will work properly if used on an old kernel. Change the fs_sblockloc superblock location field to be in units of bytes instead of in units of filesystem fragments. The old units did not work properly when the fragment size exceeeded the superblock size (8192). Update old fs_sblockloc values at the same time that the flags are moved. Suggested by: BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk> Sponsored by: DARPA & NAI Labs.
* It seems that the only problem with UFS2 booting on i386 is the 64bitphk2002-10-081-10/+12
| | | | | | | | | divide/remainder calls. For reasons not resolved, compiling the relevant routines from libkern into boot2 results in stack corruption. Do the simple thing: Don't use 64bit divide/remainder operations. Sponsored by: DARPA & NAI Labs
* Move the definition of UFS1_ONLY into the Makefiles where it belongs.phk2002-10-071-3/+0
| | | | Sponsored by: DARPA & NAI Labs.
* Enable UFS1_AND_UFS2 support for sparc64 by default. Booting from ufs1 orjake2002-06-211-0/+2
| | | | ufs2 filesystems seems to work fine.
* This commit adds basic support for the UFS2 filesystem. The UFS2mckusick2002-06-211-41/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filesystem expands the inode to 256 bytes to make space for 64-bit block pointers. It also adds a file-creation time field, an ability to use jumbo blocks per inode to allow extent like pointer density, and space for extended attributes (up to twice the filesystem block size worth of attributes, e.g., on a 16K filesystem, there is space for 32K of attributes). UFS2 fully supports and runs existing UFS1 filesystems. New filesystems built using newfs can be built in either UFS1 or UFS2 format using the -O option. In this commit UFS1 is the default format, so if you want to build UFS2 format filesystems, you must specify -O 2. This default will be changed to UFS2 when UFS2 proves itself to be stable. In this commit the boot code for reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c) as there is insufficient space in the boot block. Once the size of the boot block is increased, this code can be defined. Things to note: the definition of SBSIZE has changed to SBLOCKSIZE. The header file <ufs/ufs/dinode.h> must be included before <ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and ufs_lbn_t. Still TODO: Verify that the first level bootstraps work for all the architectures. Convert the utility ffsinfo to understand UFS2 and test growfs. Add support for the extended attribute storage. Update soft updates to ensure integrity of extended attribute storage. Switch the current extended attribute interfaces to use the extended attribute storage. Add the extent like functionality (framework is there, but is currently never used). Sponsored by: DARPA & NAI Labs. Reviewed by: Poul-Henning Kamp <phk@freebsd.org>
* Make sparc64 share ufsread.c with i386.phk2002-06-051-4/+10
| | | | Sponsored by: DARPA & NAI Labs.
* Indent this file more like style(9).phk2002-06-051-108/+108
| | | | Sponsored by: DARPA & NAI Labs.
* Preparation for UFS2 commit:phk2002-06-051-0/+183
Factor the ufs reading code out of the i386/boot2 loader so it can be reused by for instance sparc64. Sponsored by: DARPA and NAI Labs.
OpenPOWER on IntegriCloud