1/*- 2 * modified for EXT2FS support in Lites 1.1 3 * 4 * Aug 1995, Godmar Back (gback@cs.utah.edu) 5 * University of Utah, Department of Computer Science 6 * |
7 * $FreeBSD: head/sys/fs/ext2fs/ext2fs.h 231168 2012-02-07 22:31:28Z pfg $ |
8 */ 9/*- 10 * Copyright (c) 2009 Aditya Sarawgi 11 * All rights reserved. 12 * 13 * Redistribution and use in source and binary forms, with or without 14 * modification, are permitted provided that the following conditions 15 * are met: --- 102 unchanged lines hidden (view full) --- 118 uint32_t e3fs_journal_inum; /* inode number of journal file */ 119 uint32_t e3fs_journal_dev; /* device number of journal file */ 120 uint32_t e3fs_last_orphan; /* start of list of inodes to delete */ 121 uint32_t e3fs_hash_seed[4]; /* HTREE hash seed */ 122 char e3fs_def_hash_version; /* Default hash version to use */ 123 char e3fs_reserved_char_pad; 124 uint32_t e3fs_default_mount_opts; 125 uint32_t e3fs_first_meta_bg; /* First metablock block group */ |
126 uint32_t e3fs_mkfs_time; /* when the fs was created */ 127 uint32_t e3fs_jnl_blks[17]; /* backup of the journal inode */ 128 uint32_t e4fs_bcount_hi; /* block count */ 129 uint32_t e4fs_rbcount_hi; /* reserved blocks count */ 130 uint32_t e4fs_fbcount_hi; /* free blocks count */ 131 uint16_t e4fs_min_extra_isize;/* all inodes have at least some bytes */ 132 uint16_t e4fs_want_extra_isize; /* new inodes should reserve some bytes */ 133 uint32_t e4fs_flags; /* miscellaneous flags */ 134 uint16_t e4fs_raid_stride; /* RAID stride */ 135 uint16_t e4fs_mmpintv; /* number of seconds to wait in MMP checking */ 136 uint64_t e4fs_mmpblk; /* block for multi-mount protection */ 137 uint32_t e4fs_raid_stripe_wid;/* blocks on all data disks (N * stride) */ 138 uint8_t e4fs_log_gpf; /* FLEX_BG group size */ 139 uint8_t e4fs_char_pad2; 140 uint16_t e4fs_pad; 141 uint32_t reserved2[162]; /* Padding to the end of the block */ |
142}; 143 144 145/* 146 * In-Memory Superblock 147 */ 148 149struct m_ext2fs { 150 struct ext2fs * e2fs; 151 char e2fs_fsmnt[MAXMNTLEN];/* name mounted on */ 152 char e2fs_ronly; /* mounted read-only flag */ 153 char e2fs_fmod; /* super block modified flag */ 154 uint32_t e2fs_bsize; /* Block size */ 155 uint32_t e2fs_bshift; /* calc of logical block no */ 156 int32_t e2fs_bmask; /* calc of block offset */ |
157 int32_t e2fs_bpg; /* Number of blocks per group */ |
158 int64_t e2fs_qbmask; /* = s_blocksize -1 */ 159 uint32_t e2fs_fsbtodb; /* Shift to get disk block */ |
160 uint32_t e2fs_ipg; /* Number of inodes per group */ 161 uint32_t e2fs_ipb; /* Number of inodes per block */ |
162 uint32_t e2fs_itpg; /* Number of inode table per group */ 163 uint32_t e2fs_fsize; /* Size of fragments per block */ |
164 uint32_t e2fs_fpb; /* Number of fragments per block */ 165 uint32_t e2fs_fpg; /* Number of fragments per group */ |
166 uint32_t e2fs_dbpg; /* Number of descriptor blocks per group */ 167 uint32_t e2fs_descpb; /* Number of group descriptors per block */ 168 uint32_t e2fs_gdbcount; /* Number of group descriptors */ 169 uint32_t e2fs_gcount; /* Number of groups */ 170 uint32_t e2fs_first_inode;/* First inode on fs */ 171 int32_t e2fs_isize; /* Size of inode */ 172 uint32_t e2fs_mount_opt; 173 uint32_t e2fs_blocksize_bits; 174 uint32_t e2fs_total_dir; /* Total number of directories */ 175 uint8_t *e2fs_contigdirs; /* (u) # of contig. allocated dirs */ 176 char e2fs_wasvalid; /* valid at mount time */ 177 off_t e2fs_maxfilesize; 178 struct ext2_gd *e2fs_gd; /* Group Descriptors */ |
179 int32_t e2fs_maxcontig; /* max number of contiguous blks */ |
180 int32_t e2fs_contigsumsize; /* size of cluster summary array */ 181 int32_t *e2fs_maxcluster; /* max cluster in each cyl group */ 182 struct csum *e2fs_clustersum; /* cluster summary in each cyl group */ 183}; 184 185/* 186 * The second extended file system version 187 */ --- 167 unchanged lines hidden --- |