#pragma once #include #include #include #include "fs/ext2/ext2.h" class Ext2BlockReader { public: static glcr::ErrorOr Init(ScopedDenaliClient&& denali); Superblock* GetSuperblock(); uint64_t SectorsPerBlock(); glcr::ErrorOr ReadBlock(uint64_t block_number); glcr::ErrorOr ReadBlocks(uint64_t block_number, uint64_t num_blocks); private: ScopedDenaliClient denali_; MappedMemoryRegion super_block_region_; Ext2BlockReader(ScopedDenaliClient&& denali, MappedMemoryRegion super_block); };