Date: Wed, 3 Jun 2009 18:46:19 GMT From: Aditya Sarawgi <truncs@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 163433 for review Message-ID: <200906031846.n53IkJqn003743@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=163433 Change 163433 by truncs@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906031846.n53IkJqn003743>