Home | History | Annotate | Download | only in ext4_utils

Lines Matching defs:sb

140 void read_sb(int fd, struct ext4_super_block *sb)
148 ret = read(fd, sb, sizeof(*sb));
151 if (ret != sizeof(*sb))
156 void write_sb(int fd, unsigned long long offset, struct ext4_super_block *sb)
164 ret = write(fd, sb, sizeof(*sb));
167 if (ret != sizeof(*sb))
206 aux_info.sb = calloc(info.block_size, 1);
210 if (!aux_info.sb)
227 free(aux_info.sb);
235 struct ext4_super_block *sb = aux_info.sb;
237 sb->s_inodes_count = info.inodes_per_group * aux_info.groups;
238 sb->s_blocks_count_lo = aux_info.len_blocks;
239 sb->s_r_blocks_count_lo = 0;
240 sb->s_free_blocks_count_lo = 0;
241 sb->s_free_inodes_count = 0;
242 sb->s_first_data_block = aux_info.first_data_block;
243 sb->s_log_block_size = log_2(info.block_size / 1024);
244 sb->s_obso_log_frag_size = log_2(info.block_size / 1024);
245 sb->s_blocks_per_group = info.blocks_per_group;
246 sb->s_obso_frags_per_group = info.blocks_per_group;
247 sb->s_inodes_per_group = info.inodes_per_group;
248 sb->s_mtime = 0;
249 sb->s_wtime = 0;
250 sb->s_mnt_count = 0;
251 sb->s_max_mnt_count = 0xFFFF;
252 sb->s_magic = EXT4_SUPER_MAGIC;
253 sb->s_state = EXT4_VALID_FS;
254 sb->s_errors = EXT4_ERRORS_RO;
255 sb->s_minor_rev_level = 0;
256 sb->s_lastcheck = 0;
257 sb->s_checkinterval = 0;
258 sb->s_creator_os = EXT4_OS_LINUX;
259 sb->s_rev_level = EXT4_DYNAMIC_REV;
260 sb->s_def_resuid = EXT4_DEF_RESUID;
261 sb->s_def_resgid = EXT4_DEF_RESGID;
263 sb->s_first_ino = EXT4_GOOD_OLD_FIRST_INO;
264 sb->s_inode_size = info.inode_size;
265 sb->s_block_group_nr = 0;
266 sb->s_feature_compat = info.feat_compat;
267 sb->s_feature_incompat = info.feat_incompat;
268 sb->s_feature_ro_compat = info.feat_ro_compat;
271 uuid_generate(sb->s_uuid);
277 generate_sha1_uuid("extandroid/make_ext4fs", info.label, sb->s_uuid);
279 memset(sb->s_volume_name, 0, sizeof(sb->s_volume_name));
280 strncpy(sb->s_volume_name, info.label, sizeof(sb->s_volume_name));
281 memset(sb->s_last_mounted, 0, sizeof(sb->s_last_mounted));
282 sb->s_algorithm_usage_bitmap = 0;
284 sb->s_reserved_gdt_blocks = info.bg_desc_reserve_blocks;
285 sb->s_prealloc_blocks = 0;
286 sb->s_prealloc_dir_blocks = 0;
288 //memcpy(sb->s_journal_uuid, sb->s_uuid, sizeof(sb->s_journal_uuid));
290 sb->s_journal_inum = EXT4_JOURNAL_INO;
291 sb->s_journal_dev = 0;
292 sb->s_last_orphan = 0;
293 sb->s_hash_seed[0] = 0; /* FIXME */
294 sb->s_def_hash_version = DX_HASH_TEA;
295 sb->s_reserved_char_pad = EXT4_JNL_BACKUP_BLOCKS;
296 sb->s_desc_size = sizeof(struct ext2_group_desc);
297 sb->s_default_mount_opts = 0; /* FIXME */
298 sb->s_first_meta_bg = 0;
299 sb->s_mkfs_time = 0;
300 //sb->s_jnl_blocks[17]; /* FIXME */
302 sb->s_blocks_count_hi = aux_info.len_blocks >> 32;
303 sb->s_r_blocks_count_hi = 0;
304 sb->s_free_blocks_count_hi = 0;
305 sb->s_min_extra_isize = sizeof(struct ext4_inode) -
307 sb->s_want_extra_isize = sizeof(struct ext4_inode) -
309 sb->s_flags = 2;
310 sb->s_raid_stride = 0;
311 sb->s_mmp_interval = 0;
312 sb->s_mmp_block = 0;
313 sb->s_raid_stripe_width = 0;
314 sb->s_log_groups_per_flex = 0;
315 sb->s_kbytes_written = 0;
324 memcpy(aux_info.backup_sb[i], sb, info.block_size);
340 aux_info.bg_desc[i].bg_free_blocks_count = sb->s_blocks_per_group;
341 aux_info.bg_desc[i].bg_free_inodes_count = sb->s_inodes_per_group;
355 memcpy(buf + 1024, (u8*)aux_info.sb, 1024);
358 sparse_file_add_data(ext4_sparse_file, aux_info.sb, 1024, 1);
362 void ext4_parse_sb_info(struct ext4_super_block *sb)
364 if (sb->s_magic != EXT4_SUPER_MAGIC)
367 if ((sb->s_state & EXT4_VALID_FS) != EXT4_VALID_FS)
370 ext4_parse_sb(sb, &info);
374 memcpy(aux_info.sb, sb, sizeof(*sb));
376 if (aux_info.first_data_block != sb->s_first_data_block)
443 memcpy(aux_info.sb->s_jnl_blocks, &inode->i_block, sizeof(inode->i_block));
458 aux_info.sb->s_free_blocks_count_lo += bg_free_blocks;
461 aux_info.sb->s_free_inodes_count += bg_free_inodes;
467 crc = ext4_crc16(~0, aux_info.sb->s_uuid, sizeof(aux_info.sb->s_uuid));
554 struct ext4_super_block sb;
556 read_sb(fd, &sb);
558 ext4_parse_sb_info(&sb);
586 aux_info.sb->s_inodes_count - aux_info.sb->s_free_inodes_count,
587 aux_info.sb->s_inodes_count,
588 aux_info.sb->s_blocks_count_lo - aux_info.sb->s_free_blocks_count_lo,
589 aux_info.sb->s_blocks_count_lo);