static int write_dir_buffer (FatTraverseInfo* trav_info) { if (trav_info->is_legacy_root_dir) return write_root_dir (trav_info); else return write_dir_cluster (trav_info); }
int8_t cnmkfs(void) { superblock_init(); block_bitmap_init(); inode_bitmap_init(); write_root_dir(); return 0; }
int main(int argc, char** argv){ if(argc != 2) { printf("Usage: myformat <diskname>\n"); return 1; } char *disk_name = argv[1]; assert(disk_name); disk_t disk = opendisk(disk_name); int blockmap[disk->size]; int blocks = ceil((disk->size)/(disk->block_size)) + 2; int i; for(i=0;i<blocks;++i) blockmap[i] = 1; write_super_block(disk); write_root_dir(disk); write_block_map(disk,&blockmap); return 0; }