Home | History | Annotate | Download | only in ext2fs
History log of /src/sys/ufs/ext2fs/ext2fs.h
RevisionDateAuthorComments
 1.53  04-May-2025  rillig ext2fs.h: avoid adjacent commas in unsupported features

A question mark still stands out enough to be noticeable.

Noticed by lint.
 1.52  27-Aug-2023  christos - fix cgload/cgsave inconsistencies
- add a constant for the rev 0 group descriptor size
 1.51  26-Aug-2023  riastradh ext2fs: Nix trailing whitespace.
 1.50  26-Aug-2023  riastradh ext2fs.h: Restore e2fs_cgload/cgsave for libsa and userland use.

Stop-gap until they can be taught to handle the new version that was
moved to ext2fs_vfsops.c, presumably.
 1.49  25-Aug-2023  christos Support INCOMPAT_64BIT on ext4 (Vladimir 'phcoder' Serbinenko)
 1.48  20-Aug-2016  jdolecek add support for GDT_CSUM AKA uninit_bg feature
 1.47  15-Aug-2016  jdolecek EXT2F_INCOMPAT_FLEX_BG feature actually doesn't require any explicit
code changes, all magic is done by setting the block offsets appropriately
in group descriptors by newfs; add it to the list of supported INCOMPAT flags
 1.46  15-Aug-2016  jdolecek bump link limit to 65000 for files, and add support for EXT2F_ROCOMPAT_DIR_NLINK to make link count unlimited for directories
 1.45  14-Aug-2016  jdolecek switch ext2fs_htree_has_idx() over to EXT2F_HAS_COMPAT_FEATURE() and remove EXT2F_HAS_COMPAT_FEATURE() - this also fixes it for BE machines, as EXT2F_HAS_COMPAT_FEATURE() did extra byte swap; also remove XXX comment about IN_E3INDEX
 1.44  14-Aug-2016  jdolecek add EXT2F_HAS_ROCOMPAT_FEATURE() macro, and change the current EXT2F_HAS_{COMPAT|INCOMPAT}_FEATURE() to take fs as first parameter
 1.43  12-Aug-2016  macallan sprinkle ()s in macros with comparisons, shuts up compiler warnings
 1.42  12-Aug-2016  jdolecek add support for extended attributes in ext2fs for ext3/ext4; read-only for now
 1.41  05-Aug-2016  jdolecek add defines for the missing ext4 feature flags
 1.40  04-Aug-2016  jdolecek rename struct ext2fs_dinode attribute e2di_dacl to correct
e2di_size_high; even Linux ext2 filesystem code actually uses it
unconditionally this way and ext4 code finally also calls it that way
in their struct definition too; if there was any trace of this for other
purpose it's long gone
 1.39  03-Aug-2016  jdolecek support arbitrary ext3/ext4 inode size, add all the new ext4 fields ext2fs_dinode, and add support for loading the extra inode data
 1.38  24-Jun-2016  christos branches: 1.38.2;
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
 1.37  03-Jun-2016  christos Add ext4 extent support from GSoC 2016 (Hrishikesh Goyal), from the FreeBSD
ext2 code.
 1.36  23-Jun-2013  dholland branches: 1.36.10;
Stick ffs_, ext2_, chfs_, filecore_, cd9660_, or mfs_ in front of
the following symbols so as to disambiguate fully. (Christos already
did the lfs ones.)

lblkno
lblktosize
lfragtosize
numfrags
blkroundup
fragroundup
 1.35  23-Jun-2013  dholland fsbtodb() -> FFS_FSBTODB(), EXT2_FSBTODB(), or MFS_FSBTODB()
dbtofsb() -> FFS_DBTOFSB() or EXT2_DBTOFSB()

(Christos already did the lfs ones a few days back)
 1.34  19-Jun-2013  dholland Rename ambiguous macros:
MAXDIRSIZE -> UFS_MAXDIRSIZE or LFS_MAXDIRSIZE
NINDIR -> FFS_NINDIR, EXT2_NINDIR, LFS_NINDIR, or MFS_NINDIR
INOPB -> FFS_INOPB, LFS_INOPB
INOPF -> FFS_INOPF, LFS_INOPF
blksize -> ffs_blksize, ext2_blksize, or lfs_blksize
sblksize -> ffs_blksize

These are not the only ambiguously defined filesystem macros, of
course, there's a pile more. I may not have found all the ambiguous
definitions of blksize(), too, as there are a lot of other things
called 'blksize' in the system.
 1.33  21-Nov-2012  jakllsch Write support for the Ext4 Read-only Compatible Feature "huge_file".

Primarily, this feature extends the inode block count field to 48 bits.
Additionally, this feature allows this field to be represented in file
system block size units rather than DEV_BSIZE units.
 1.32  21-Nov-2012  jakllsch Add various newer Ext2 superblock feature bits and inode flag bits.
 1.31  19-Nov-2012  jakllsch snprintb EXT2F_ROCOMPAT_SPARSESUPER as such.
 1.30  01-Sep-2012  christos branches: 1.30.2;
really print the incompatible bits.
 1.29  27-Nov-2009  tsutsui branches: 1.29.12;
Add definitions for more reserved inodes.
 1.28  19-Oct-2009  bouyer Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !
 1.27  12-Sep-2009  tsutsui Migrate from u_intNN_t to uintNN_t.
 1.26  25-Dec-2007  perry branches: 1.26.10;
Convert many of the uses of __attribute__ to equivalent
__packed, __unused and __dead macros from cdefs.h
 1.25  17-Nov-2007  tsutsui branches: 1.25.2; 1.25.6;
Misc cosmetics.
 1.24  15-Nov-2007  tsutsui Add some definitions for resizefs features.
 1.23  13-Nov-2007  tsutsui - add some more constant definitions
- add some comments
- typo and some cosmetics
 1.22  16-Feb-2006  perry branches: 1.22.38; 1.22.40; 1.22.44; 1.22.46;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.21  29-Jan-2006  dsl branches: 1.21.2; 1.21.4;
Make almost everything #include <sys/bswap.h> instead of <machine/bswap.h>
The bswap.h and endian.h files are all rather incestuous, but I want to
get the constant folding stuff into one place - sys/bswap.h
 1.20  24-Dec-2005  perry branches: 1.20.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.19  11-Dec-2005  christos merge ktrace-lwp.
 1.18  30-Aug-2005  xtraeme * Remove __P()
* Use ANSI function declarations on ext2fs and mfs
 1.17  26-Feb-2005  perry branches: 1.17.4;
nuke trailing whitespace
 1.16  09-Feb-2005  ws Add support for large files (>2GB).
Like Linux, automagically convert old filesystem to use this,
if they are already at revision 1.
For revision 0, just punt (unlike Linux; makes me a bit too nervous.)

There should be an option to fsck_ext2fs to upgrade revision 0 to revision 1.

Reviewd by Manuel (bouyer@).
 1.15  22-Mar-2004  bouyer branches: 1.15.8; 1.15.10;
Fix disclaimer in my copyright. Pointed out by Thomas Klausner.
 1.14  05-Oct-2003  bouyer Remove references to University of California from my copyright notices.
 1.13  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.12  24-Jan-2003  fvdl branches: 1.12.2;
Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
 1.11  01-Dec-2002  matt Add multiple inclusion protection for headers. Fix mismatched
variable declarations (missing const's) as needed.
 1.10  28-Jan-2000  bouyer branches: 1.10.6;
Correct (minor) bogons in filetype option support, and add support
for sparse_super option
 1.9  26-Jan-2000  bouyer First cut at ext2fs rev 1 support (as of mke2fs 1.18): supports the filetype
option read/write and the sparse option read-only.
 1.8  17-Feb-1999  bouyer branches: 1.8.2; 1.8.8; 1.8.14;
Some new fields in the ext2fs superblock, from Tim Shepard.
While I'm there, reformat this file a bit.
 1.7  15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.6  30-Sep-1998  bouyer Not time to #include <machine/bswap.h>m, it will come with the move
of bswap*() from libutil to libc. Sorry !
 1.5  29-Sep-1998  bouyer #include opt_uvm.h only if _KENREL and !_LKM
Make ext2fs_init() call ufs_init(). it was doing the init by itself,
testing for extern done != 0. This bug was hidden by the fact that
ext2fs_init() is called before ffs_init().
 1.4  09-Aug-1998  perry bzero->memset, bcopy->memcpy, bcmp->memcmp
 1.3  01-Mar-1998  fvdl Merge with Lite2 + local changes
 1.2  09-Oct-1997  bouyer Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
 1.1  11-Jun-1997  bouyer branches: 1.1.4;
The ext2fs layer, based on the ffs/ufs one. Uses a few functions from
sys/ufs/ufs/
 1.1.4.1  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.8.14.1  21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.8.8.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.8.2.1  01-Feb-2000  he Apply patch (requested by bouyer):
Add support for ext2fs revision 1, with read-only support for
the 'sparse_super' and 'filetype' options. Should fix PR#9088.
 1.10.6.1  11-Dec-2002  thorpej Sync with HEAD.
 1.12.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.12.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.12.2.4  15-Feb-2005  skrll Sync with HEAD.
 1.12.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.12.2.1  03-Aug-2004  skrll Sync with HEAD
 1.15.10.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.15.10.1  12-Feb-2005  yamt sync with head.
 1.15.8.1  29-Apr-2005  kent sync with -current
 1.17.4.4  21-Jan-2008  yamt sync with head
 1.17.4.3  07-Dec-2007  yamt sync with head
 1.17.4.2  15-Nov-2007  yamt sync with head.
 1.17.4.1  21-Jun-2006  yamt sync with head.
 1.20.2.2  18-Feb-2006  yamt sync with head.
 1.20.2.1  01-Feb-2006  yamt sync with head.
 1.21.4.1  22-Apr-2006  simonb Sync with head.
 1.21.2.1  09-Sep-2006  rpaulo sync with head
 1.22.46.2  18-Feb-2008  mjf Sync with HEAD.
 1.22.46.1  19-Nov-2007  mjf Sync with HEAD.
 1.22.44.2  18-Nov-2007  bouyer Sync with HEAD
 1.22.44.1  13-Nov-2007  bouyer Sync with HEAD
 1.22.40.1  09-Jan-2008  matt sync with HEAD
 1.22.38.2  21-Nov-2007  joerg Sync with HEAD.
 1.22.38.1  14-Nov-2007  joerg Sync with HEAD.
 1.25.6.1  02-Jan-2008  bouyer Sync with HEAD
 1.25.2.1  26-Dec-2007  ad Sync with head.
 1.26.10.2  11-Mar-2010  yamt sync with head
 1.26.10.1  16-Sep-2009  yamt sync with head
 1.29.12.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.12.2  16-Jan-2013  yamt sync with (a bit old) head
 1.29.12.1  30-Oct-2012  yamt sync with head
 1.30.2.4  03-Dec-2017  jdolecek update from HEAD
 1.30.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30.2.2  23-Jun-2013  tls resync from head
 1.30.2.1  25-Feb-2013  tls resync with head
 1.36.10.2  05-Oct-2016  skrll Sync with HEAD
 1.36.10.1  09-Jul-2016  skrll Sync with HEAD
 1.38.2.1  06-Aug-2016  pgoyette Sync with HEAD

RSS XML Feed