diff options
author | pfg <pfg@FreeBSD.org> | 2016-01-21 14:50:28 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2016-01-21 14:50:28 +0000 |
commit | d16eeed462db8fd9eb9e8bd7c2afe86e32c74f15 (patch) | |
tree | 9d88075af5bca4278c36143901c2bc345d2aecde /sys/fs/ext2fs/ext2fs.h | |
parent | a4d9665ca89d09a03ad6aa2a31c0a00de4fea157 (diff) | |
download | FreeBSD-src-d16eeed462db8fd9eb9e8bd7c2afe86e32c74f15.zip FreeBSD-src-d16eeed462db8fd9eb9e8bd7c2afe86e32c74f15.tar.gz |
ext2fs: Bring back the htree dir_index implementation.
The htree dir_index is perhaps one of the most characteristic
features of the linux ext3 implementation. It was removed
in r281670, due to repeated bug reports.
Damjan Jovanic detected and fixed three bugs and did some
stress testing by building Apache OpenOffice on top of it
so it is now in good shape to bring back.
Differential Revision: https://reviews.freebsd.org/D5007
Submitted by: Damjan Jovanovic
Reviewed by: pfg
Tested by: pho
Relnotes: Yes
MFC after: 2 months (only 10.x)
Diffstat (limited to 'sys/fs/ext2fs/ext2fs.h')
-rw-r--r-- | sys/fs/ext2fs/ext2fs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/fs/ext2fs/ext2fs.h b/sys/fs/ext2fs/ext2fs.h index 756803f..b8c4701 100644 --- a/sys/fs/ext2fs/ext2fs.h +++ b/sys/fs/ext2fs/ext2fs.h @@ -147,6 +147,7 @@ struct m_ext2fs { int32_t e2fs_contigsumsize; /* size of cluster summary array */ int32_t *e2fs_maxcluster; /* max cluster in each cyl group */ struct csum *e2fs_clustersum; /* cluster summary in each cyl group */ + int32_t e2fs_uhash; /* 3 if hash should be signed, 0 if not */ }; /* cluster summary information */ @@ -213,6 +214,7 @@ struct csum { * - EXT2F_INCOMPAT_FLEX_BG * - EXT2F_INCOMPAT_META_BG */ +#define EXT2F_COMPAT_SUPP EXT2F_COMPAT_DIRHASHINDEX #define EXT2F_ROCOMPAT_SUPP (EXT2F_ROCOMPAT_SPARSESUPER | \ EXT2F_ROCOMPAT_LARGEFILE | \ EXT2F_ROCOMPAT_EXTRA_ISIZE) @@ -243,6 +245,12 @@ struct csum { #define E2FS_ISCLEAN 0x0001 /* Unmounted cleanly */ #define E2FS_ERRORS 0x0002 /* Errors detected */ +/* + * Filesystem miscellaneous flags + */ +#define E2FS_SIGNED_HASH 0x0001 +#define E2FS_UNSIGNED_HASH 0x0002 + /* ext2 file system block group descriptor */ struct ext2_gd { |