PERFORCE change 163433 for review
Aditya Sarawgi
truncs at FreeBSD.org
Wed Jun 3 18:46:21 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=163433
Change 163433 by truncs at aditya on 2009/06/03 18:45:20
New in-memory superblock for ext2fs.
Affected files ...
.. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#2 edit
Differences ...
==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#2 (text+ko) ====
@@ -52,6 +52,8 @@
#define umode_t mode_t
#define loff_t off_t
+#define MAXMNTLEN 512
+#define EXT2_MAX_GROUP_LOADED 8
/*
* The second extended filesystem constants/structures
*/
@@ -444,6 +446,45 @@
__u32 s_reserved[204]; /* Padding to the end of the block */
};
+/*
+ * In-Memory Superblock
+ */
+
+struct m_ext2fs {
+ struct ext2_super_block * e2fs;
+ struct buf * e2fs_buf;
+ struct buf ** e2fs_group_desc;
+ char e2fs_fsmnt[MAXMNTLEN];/* name mounted on */
+ char e2fs_ronly; /* mounted read-only flag */
+ char e2fs_fmod; /* super block modified flag */
+ uint32_t e2fs_bsize; /* Block size */
+ uint32_t e2fs_bshift; /* calc of logical block no */
+ int32_t e2fs_bmask; /* calc of block offset */
+ int64_t e2fs_qmask; /* = s_blocksize -1 */
+ uint32_t e2fs_fstodb; /* Shift to get disk block */
+ uint32_t e2fs_ipb; /* Number of inodes per block */
+ uint32_t e2fs_itpg; /* Number of inode table per group */
+ uint32_t e2fs_fsize; /* Size of fragments per block */
+ uint32_t e2fs_fpb; /* Number of fragments per block */
+ uint32_t e2fs_fpg; /* Number of fragments per group */
+ uint32_t e2fs_dbpg; /* Number of descriptor blocks per group */
+ uint32_t e2fs_descpb; /* Number of group descriptors per block */
+ uint32_t e2fs_gcount; /* Number of groups */
+ uint32_t e2fs_first_inode;/* First inode on fs */
+ int32_t e2fs_isize; /* Size of inode */
+ uint8_t e2fs_lib; /* Loaded inode bitmap */
+ uint8_t e2fs_lbb; /* Loaded block bitmap */
+ uint32_t e2fs_ibn[EXT2_MAX_GROUP_LOADED];
+ struct buf * e2fs_ib[EXT2_MAX_GROUP_LOADED];
+ uint32_t e2fs_bbn[EXT2_MAX_GROUP_LOADED];
+ struct buf * e2fs_bb[EXT2_MAX_GROUP_LOADED];
+ uint32_t e2fs_mount_opt;
+ uint32_t e2fs_blocksize_bits;
+ char e2fs_wasvalid; /* valid at mount time */
+ off_t maxfilesize;
+};
+
+
#ifdef __KERNEL__
#define EXT2_SB(sb) (&((sb)->u.ext2_sb))
#else
More information about the p4-projects
mailing list