freebsd-skq/lib
Kirk McKusick 1c85e6a35d This commit adds basic support for the UFS2 filesystem. The UFS2
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>
2002-06-21 06:18:05 +00:00
..
compat Fixed modes. 2002-05-31 13:20:01 +00:00
csu Use .rodata section for $FreeBSD$. 2002-05-15 04:19:49 +00:00
libalias Avoid unintentional trigraph. 2002-05-30 20:53:45 +00:00
libatm Remove multi-line __P() usage. 2002-03-22 09:22:15 +00:00
libbind Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libbz2 I somehow managed to forgot to commit this in my INCS sweep. 2002-05-14 11:41:23 +00:00
libc Fix style and wording bugs introduced in my last commit. 2002-06-18 08:55:17 +00:00
libc_r Missed in earlier commit -- I did cvs commit src/lib/libc. Oops. 2002-06-14 04:02:25 +00:00
libcalendar
libcam string cleanup: 2002-05-14 04:32:02 +00:00
libcom_err
libcompat Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
libcrypt crypt(3) incorrectly documents md5 salt, fixed. 2002-04-09 22:32:59 +00:00
libdevinfo MAN[1-9] -> MAN. 2002-05-13 12:11:54 +00:00
libdevstat Remove 'register' keyword. 2002-03-21 23:39:28 +00:00
libdisk Use correct printf format specifier to print unsigned longs. 2002-05-30 21:00:42 +00:00
libedit Restore local bits lost in recent merge from NetBSD. 2002-06-16 08:29:35 +00:00
libfetch Don't try to dereference conn when we know it's NULL. 2002-06-19 08:36:00 +00:00
libform Make this a little easier to build standalone. (same change as libpanel) 2002-05-21 07:08:30 +00:00
libftpio Modernize my email address. 2002-03-25 13:52:45 +00:00
libio
libipsec just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD. 2002-04-19 04:46:24 +00:00
libipx Remove 'register' keyword. 2002-03-21 23:39:28 +00:00
libisc Added new bsd.incs.mk which handles installing of header files 2002-05-12 16:01:00 +00:00
libkse Missed in earlier commit -- I did cvs commit src/lib/libc. Oops. 2002-06-14 04:02:25 +00:00
libkvm Assume __STDC__, remove non-__STDC__ code. 2002-05-28 17:03:12 +00:00
libmd Don't build manuals at inappropriate time. 2002-04-10 17:01:55 +00:00
libmenu Make this a little easier to build standalone. (same change as libpanel) 2002-05-21 07:08:30 +00:00
libmilter Added new bsd.incs.mk which handles installing of header files 2002-05-12 16:01:00 +00:00
libmp MAN[1-9] -> MAN. 2002-05-13 12:11:54 +00:00
libncp Add missing newline at end of file. 2002-05-30 20:51:53 +00:00
libncurses Add NCURSES_OSPEED replace command to MANFILTER 2002-06-02 16:11:57 +00:00
libnetgraph
libopie Updates for OPIE 2.4. 2002-03-22 00:12:20 +00:00
libpam Tidy up. 2002-06-06 13:55:01 +00:00
libpanel Initial update of bmake glue for ncurses-5.2-20020518 2002-05-21 05:41:07 +00:00
libpcap Update for libpcap 0.7.1 2002-06-21 01:35:37 +00:00
libpthread Missed in earlier commit -- I did cvs commit src/lib/libc. Oops. 2002-06-14 04:02:25 +00:00
libradius Add the following functions: 2002-06-12 00:21:07 +00:00
librpcsvc New cpp(1) doesn't like -I${DESTDIR}/usr/include. 2002-05-14 11:37:10 +00:00
libsbuf
libsm Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libsmb
libsmdb Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libsmutil Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libstand This commit adds basic support for the UFS2 filesystem. The UFS2 2002-06-21 06:18:05 +00:00
libtacplus
libtelnet Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libusbhid mdoc(7) police: Tidy up the markup. 2002-05-30 12:16:01 +00:00
libutil Return HOSTNAME_INVALIDADDR when reverse lookup is fail. 2002-06-07 17:25:19 +00:00
libvgl Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
libwrap Added new bsd.incs.mk which handles installing of header files 2002-05-12 16:01:00 +00:00
libxpg4
liby
libypclnt Add ypclnt_havepasswd(), and guard against a possible segfault. 2002-05-08 00:48:39 +00:00
libz Work around a gcc bug which causes zlib to dump core in certain 2002-03-31 23:47:52 +00:00
msun e_pow.c: 2002-06-17 15:28:59 +00:00
ncurses Add NCURSES_OSPEED replace command to MANFILTER 2002-06-02 16:11:57 +00:00
Makefile Don't try to build libc_r on sparc64, the _atomic_lock.S file isn't implemented. 2002-05-18 09:14:36 +00:00
Makefile.inc