aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/ext2fs/ext2fs.h
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2016-01-21 14:50:28 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2016-01-21 14:50:28 +0000
commit9824e4adbe84067c7fb301d62d5315cae0396aec (patch)
tree9d88075af5bca4278c36143901c2bc345d2aecde /sys/fs/ext2fs/ext2fs.h
parent9beacb6f227816e18648a6ca25091a4c79124a04 (diff)
downloadsrc-9824e4adbe84067c7fb301d62d5315cae0396aec.tar.gz
src-9824e4adbe84067c7fb301d62d5315cae0396aec.zip
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)
Notes
Notes: svn path=/head/; revision=294504
Diffstat (limited to 'sys/fs/ext2fs/ext2fs.h')
-rw-r--r--sys/fs/ext2fs/ext2fs.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/fs/ext2fs/ext2fs.h b/sys/fs/ext2fs/ext2fs.h
index 756803f395c1..b8c4701181ea 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 {