7 #ifndef EXT_FILESYSTEM_SUBERBLOCK_H_
8 #define EXT_FILESYSTEM_SUBERBLOCK_H_
17 uint16_t inodes_count;
18 uint16_t blocks_count;
20 uint16_t blocks_count_in_inode;
21 uint16_t max_path_len;
22 uint16_t descriptors_count;
31 struct fs_info* fs_info;
32 bool* reserved_inodes_mask;
33 bool* reserved_blocks_mask;
88 uint16_t
free_inode(
const struct superblock* superblock, uint16_t inode_id);
103 uint16_t
free_block(
const struct superblock* superblock, uint16_t block_id);
105 #endif //EXT_FILESYSTEM_SUBERBLOCK_H_
uint16_t free_block(const struct superblock *superblock, uint16_t block_id)
Release block.
ssize_t write_super_block(int fd, struct superblock *superblock)
Write sb to memory.
struct __attribute__((__packed__)) fs_info
Contains main information about FS.
void destroy_super_block(struct superblock *superblock)
Destructor of superblock.
ssize_t read_super_block(int fd, struct superblock *superblock)
Read sb from memory.
uint16_t free_inode(const struct superblock *superblock, uint16_t inode_id)
Release inode.
uint16_t reserve_inode(const struct superblock *superblock)
Reserve free inode.
uint16_t reserve_block(const struct superblock *superblock)
Reserve block.
void init_super_block(struct superblock *superblock)
Constructor of superblock.
size_t sizeof_superblock(const struct superblock *superblock)