Home | History | Annotate | Download | only in ext2fs

Lines Matching refs:super

68 	struct ext2_super_block *sb = fs->super;
98 struct ext2_super_block *super;
137 retval = ext2fs_get_mem(SUPERBLOCK_SIZE, &super);
140 fs->super = super;
142 memset(super, 0, SUPERBLOCK_SIZE);
144 #define set_field(field, default) (super->field = param->field ? \
147 super->s_magic = EXT2_SUPER_MAGIC;
148 super->s_state = EXT2_VALID_FS;
152 set_field(s_first_data_block, super->s_log_block_size ? 0 : 1);
162 if (super->s_feature_incompat & ~EXT2_LIB_FEATURE_INCOMPAT_SUPP) {
166 if (super->s_feature_ro_compat & ~EXT2_LIB_FEATURE_RO_COMPAT_SUPP) {
172 if (super->s_rev_level >= EXT2_DYNAMIC_REV) {
178 super->s_mkfs_time = super->s_lastcheck = fs->now ? fs->now : time(NULL);
180 super->s_creator_os = CREATOR_OS;
182 fs->blocksize = EXT2_BLOCK_SIZE(super);
183 fs->fragsize = EXT2_FRAG_SIZE(super);
188 if (super->s_blocks_per_group > EXT2_MAX_BLOCKS_PER_GROUP(super))
189 super->s_blocks_per_group = EXT2_MAX_BLOCKS_PER_GROUP(super);
190 super->s_frags_per_group = super->s_blocks_per_group * frags_per_block;
192 super->s_blocks_count = param->s_blocks_count;
193 super->s_r_blocks_count = param->s_r_blocks_count;
194 if (super->s_r_blocks_count >= param->s_blocks_count) {
203 if (super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV) {
211 fs->group_desc_count = ext2fs_div_ceil(super->s_blocks_count -
212 super->s_first_data_block,
213 EXT2_BLOCKS_PER_GROUP(super));
219 EXT2_DESC_PER_BLOCK(super));
222 set_field(s_inodes_count, super->s_blocks_count / i);
228 if (super->s_inodes_count < EXT2_FIRST_INODE(super)+1)
229 super->s_inodes_count = EXT2_FIRST_INODE(super)+1;
237 ipg = ext2fs_div_ceil(super->s_inodes_count, fs->group_desc_count);
239 if (super->s_blocks_per_group >= 256) {
241 super->s_blocks_per_group -= 8;
242 super->s_blocks_count = param->s_blocks_count;
243 super->s_frags_per_group = super->s_blocks_per_group *
250 if (ipg > (unsigned) EXT2_MAX_INODES_PER_GROUP(super))
251 ipg = EXT2_MAX_INODES_PER_GROUP(super);
254 super->s_inodes_per_group = ipg;
261 fs->inode_blocks_per_group = (((super->s_inodes_per_group *
262 EXT2_INODE_SIZE(super)) +
263 EXT2_BLOCK_SIZE(super) - 1) /
264 EXT2_BLOCK_SIZE(super));
265 super->s_inodes_per_group = ((fs->inode_blocks_per_group *
266 EXT2_BLOCK_SIZE(super)) /
267 EXT2_INODE_SIZE(super));
273 super->s_inodes_per_group &= ~7;
274 fs->inode_blocks_per_group = (((super->s_inodes_per_group *
275 EXT2_INODE_SIZE(super)) +
276 EXT2_BLOCK_SIZE(super) - 1) /
277 EXT2_BLOCK_SIZE(super));
282 if ((__u64)super->s_inodes_per_group * fs->group_desc_count > ~0U) {
286 super->s_inodes_count = super->s_inodes_per_group *
288 super->s_free_inodes_count = super->s_inodes_count;
293 if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)
298 if (super->s_reserved_gdt_blocks > EXT2_ADDR_PER_BLOCK(super)) {
310 fs->desc_blocks + super->s_reserved_gdt_blocks);
313 if (overhead > super->s_blocks_per_group)
325 overhead += 1 + fs->desc_blocks + super->s_reserved_gdt_blocks;
326 rem = ((super->s_blocks_count - super->s_first_data_block) %
327 super->s_blocks_per_group);
331 super->s_blocks_count -= rem;
371 super->s_free_blocks_count = 0;
375 super->s_free_blocks_count += numblocks;
378 fs->super->s_inodes_per_group;
384 super->s_flags |= EXT2_FLAGS_SIGNED_HASH;
386 super->s_flags |= EXT2_FLAGS_UNSIGNED_HASH;