summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTheodore Y. Ts'o <tytso@mit.edu>2002-11-01 20:57:43 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-11-01 20:57:43 -0800
commit36615c1217d34f31dde7b805f130de3f53a1c520 (patch)
treeb8470e7fd65ed3bc7e7e375e61084f6c7bbe4c90 /include
parent4be68d9c17a624c7dd096b6672cda97cccd90f98 (diff)
[PATCH] Orlov block allocator for ext3
Here's the ext3 version.
Diffstat (limited to 'include')
-rw-r--r--include/linux/ext3_fs.h7
-rw-r--r--include/linux/ext3_fs_sb.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
index 4aebd4974d4c..01aa11bcdb9e 100644
--- a/include/linux/ext3_fs.h
+++ b/include/linux/ext3_fs.h
@@ -186,10 +186,11 @@ struct ext3_group_desc
#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */
#define EXT3_NOTAIL_FL 0x00008000 /* file tail should not be merged */
#define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
+#define EXT3_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
#define EXT3_RESERVED_FL 0x80000000 /* reserved for ext3 lib */
-#define EXT3_FL_USER_VISIBLE 0x00015FFF /* User visible flags */
-#define EXT3_FL_USER_MODIFIABLE 0x000100FF /* User modifiable flags */
+#define EXT3_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
+#define EXT3_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */
/*
* Inode dynamic state flags
@@ -308,6 +309,7 @@ struct ext3_inode {
* Mount flags
*/
#define EXT3_MOUNT_CHECK 0x0001 /* Do mount-time checks */
+#define EXT3_MOUNT_OLDALLOC 0x0002 /* Don't use the new Orlov allocator */
#define EXT3_MOUNT_GRPID 0x0004 /* Create files with directory's group */
#define EXT3_MOUNT_DEBUG 0x0008 /* Some debugging messages */
#define EXT3_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */
@@ -704,6 +706,7 @@ extern struct inode * ext3_new_inode (handle_t *, struct inode *, int);
extern void ext3_free_inode (handle_t *, struct inode *);
extern struct inode * ext3_orphan_get (struct super_block *, ino_t);
extern unsigned long ext3_count_free_inodes (struct super_block *);
+extern unsigned long ext3_count_dirs (struct super_block *);
extern void ext3_check_inodes_bitmap (struct super_block *);
extern unsigned long ext3_count_free (struct buffer_head *, unsigned);
diff --git a/include/linux/ext3_fs_sb.h b/include/linux/ext3_fs_sb.h
index 9d228e66143d..19bf2e132343 100644
--- a/include/linux/ext3_fs_sb.h
+++ b/include/linux/ext3_fs_sb.h
@@ -50,6 +50,8 @@ struct ext3_sb_info {
u32 s_next_generation;
u32 s_hash_seed[4];
int s_def_hash_version;
+ unsigned long s_dir_count;
+ u8 *s_debts;
/* Journaling */
struct inode * s_journal_inode;