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