aboutsummaryrefslogtreecommitdiff
path: root/sys/gnu/ext2fs/ext2_fs_sb.h
diff options
context:
space:
mode:
authorJohn Dyson <dyson@FreeBSD.org>1995-11-05 23:25:12 +0000
committerJohn Dyson <dyson@FreeBSD.org>1995-11-05 23:25:12 +0000
commitc33a4405f7457413ce5aba276d3b3326140dd251 (patch)
tree3c31656291a1b60c5b4c604354e037da124df62e /sys/gnu/ext2fs/ext2_fs_sb.h
parentc15c761192ed4b46a0e9f0ef8c73e29e923846b1 (diff)
downloadsrc-c33a4405f7457413ce5aba276d3b3326140dd251.tar.gz
src-c33a4405f7457413ce5aba276d3b3326140dd251.zip
Main code for the ext2fs filesystem. Please refer to the COPYRIGHT.INFO
file for GPL restrictions. This code was ported to the BSD platform by Godmar Back <gback@facility.cs.utah.edu> and specifically to FreeBSD by John Dyson. This code is still green and should be used with caution. Additional changes to UFS necessary to make this code work will be commited seperately. Submitted by: Godmar Back <gback@facility.cs.utah.edu> Obtained from: Lites/Mach4
Notes
Notes: svn path=/head/; revision=12115
Diffstat (limited to 'sys/gnu/ext2fs/ext2_fs_sb.h')
-rw-r--r--sys/gnu/ext2fs/ext2_fs_sb.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/sys/gnu/ext2fs/ext2_fs_sb.h b/sys/gnu/ext2fs/ext2_fs_sb.h
new file mode 100644
index 000000000000..f475ce279d82
--- /dev/null
+++ b/sys/gnu/ext2fs/ext2_fs_sb.h
@@ -0,0 +1,87 @@
+/*
+ * modified for EXT2FS support in Lites 1.1
+ *
+ * Aug 1995, Godmar Back (gback@cs.utah.edu)
+ * University of Utah, Department of Computer Science
+ */
+/*
+ * linux/include/linux/ext2_fs_sb.h
+ *
+ * Copyright (C) 1992, 1993, 1994, 1995
+ * Remy Card (card@masi.ibp.fr)
+ * Laboratoire MASI - Institut Blaise Pascal
+ * Universite Pierre et Marie Curie (Paris VI)
+ *
+ * from
+ *
+ * linux/include/linux/minix_fs_sb.h
+ *
+ * Copyright (C) 1991, 1992 Linus Torvalds
+ */
+
+#ifndef _LINUX_EXT2_FS_SB
+#define _LINUX_EXT2_FS_SB
+
+/*
+ * The following is not needed anymore since the descriptors buffer
+ * heads are now dynamically allocated
+ */
+/* #define EXT2_MAX_GROUP_DESC 8 */
+
+#define EXT2_MAX_GROUP_LOADED 8
+
+#if defined(LITES) || defined(__FreeBSD__)
+#define buffer_head buf
+#define MAXMNTLEN 512
+#endif
+
+/*
+ * second extended-fs super-block data in memory
+ */
+struct ext2_sb_info {
+ unsigned long s_frag_size; /* Size of a fragment in bytes */
+ unsigned long s_frags_per_block;/* Number of fragments per block */
+ unsigned long s_inodes_per_block;/* Number of inodes per block */
+ unsigned long s_frags_per_group;/* Number of fragments in a group */
+ unsigned long s_blocks_per_group;/* Number of blocks in a group */
+ unsigned long s_inodes_per_group;/* Number of inodes in a group */
+ unsigned long s_itb_per_group; /* Number of inode table blocks per group */
+ unsigned long s_db_per_group; /* Number of descriptor blocks per group */
+ unsigned long s_desc_per_block; /* Number of group descriptors per block */
+ unsigned long s_groups_count; /* Number of groups in the fs */
+ struct buffer_head * s_sbh; /* Buffer containing the super block */
+ struct ext2_super_block * s_es; /* Pointer to the super block in the buffer */
+ struct buffer_head ** s_group_desc;
+ unsigned short s_loaded_inode_bitmaps;
+ unsigned short s_loaded_block_bitmaps;
+ unsigned long s_inode_bitmap_number[EXT2_MAX_GROUP_LOADED];
+ struct buffer_head * s_inode_bitmap[EXT2_MAX_GROUP_LOADED];
+ unsigned long s_block_bitmap_number[EXT2_MAX_GROUP_LOADED];
+ struct buffer_head * s_block_bitmap[EXT2_MAX_GROUP_LOADED];
+ int s_rename_lock;
+#if !defined(LITES) && !defined(__FreeBSD__)
+ struct wait_queue * s_rename_wait;
+#endif
+ unsigned long s_mount_opt;
+ unsigned short s_resuid;
+ unsigned short s_resgid;
+ unsigned short s_mount_state;
+#if defined(LITES) || defined(__FreeBSD__)
+ /*
+ stuff that FFS keeps in its super block or that linux
+ has in its non-ext2 specific super block and which is
+ generally considered useful
+ */
+ unsigned long s_blocksize;
+ unsigned long s_blocksize_bits;
+ unsigned int s_bshift; /* = log2(s_blocksize) */
+ quad_t s_qbmask; /* = s_blocksize - 1 */
+ unsigned int s_fsbtodb; /* shift to get disk block */
+ char s_rd_only; /* read-only */
+ char s_dirt; /* fs modified flag */
+
+ char fs_fsmnt[MAXMNTLEN]; /* name mounted on */
+#endif
+};
+
+#endif /* _LINUX_EXT2_FS_SB */