gitextract_wp7ph85n/ ├── .gitignore ├── .vscode/ │ └── settings.json ├── Cargo.toml ├── LICENSE.txt ├── build.rs ├── readme.md ├── src/ │ ├── error_types/ │ │ ├── block.rs │ │ ├── conversions.rs │ │ ├── critical.rs │ │ ├── drive.rs │ │ ├── filesystem.rs │ │ ├── header.rs │ │ └── mod.rs │ ├── filesystem/ │ │ ├── disk_backup/ │ │ │ ├── mod.rs │ │ │ ├── restore.rs │ │ │ └── update.rs │ │ ├── file_attributes/ │ │ │ ├── conversion.rs │ │ │ └── mod.rs │ │ ├── file_handle/ │ │ │ ├── file_handle_methods.rs │ │ │ ├── file_handle_struct.rs │ │ │ └── mod.rs │ │ ├── filesystem_struct.rs │ │ ├── fuse_filesystem_methods.rs │ │ ├── internal_filesystem_methods.rs │ │ ├── item_flag/ │ │ │ ├── flag_struct.rs │ │ │ └── mod.rs │ │ └── mod.rs │ ├── filesystem_design/ │ │ ├── allocation_spec.md │ │ ├── dense_disk.md │ │ ├── design_choices.md │ │ ├── disk_header.md │ │ ├── disk_layout.md │ │ ├── inode_format.md │ │ ├── pool_header.md │ │ ├── pool_layout.md │ │ └── possible_speed_improvments.md │ ├── helpers/ │ │ ├── hex_view.rs │ │ └── mod.rs │ ├── lib.rs │ ├── main.rs │ ├── pool/ │ │ ├── disk/ │ │ │ ├── blank_disk/ │ │ │ │ ├── blank_disk_methods.rs │ │ │ │ ├── blank_disk_struct.rs │ │ │ │ └── mod.rs │ │ │ ├── drive_methods.rs │ │ │ ├── drive_struct.rs │ │ │ ├── generic/ │ │ │ │ ├── block/ │ │ │ │ │ ├── allocate/ │ │ │ │ │ │ ├── block_allocation.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── block_structs.rs │ │ │ │ │ ├── crc.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── disk_trait.rs │ │ │ │ ├── generic_structs/ │ │ │ │ │ ├── find_space.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── pointer_struct.rs │ │ │ │ ├── io/ │ │ │ │ │ ├── cache/ │ │ │ │ │ │ ├── cache_implementation.rs │ │ │ │ │ │ ├── cache_io.rs │ │ │ │ │ │ ├── cached_allocation.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── statistics.rs │ │ │ │ │ ├── checked_io.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── read.rs │ │ │ │ │ ├── wipe.rs │ │ │ │ │ └── write.rs │ │ │ │ └── mod.rs │ │ │ ├── mod.rs │ │ │ ├── pool_disk/ │ │ │ │ ├── block/ │ │ │ │ │ ├── header/ │ │ │ │ │ │ ├── header_methods.rs │ │ │ │ │ │ ├── header_struct.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pool_disk_methods.rs │ │ │ │ └── pool_disk_struct.rs │ │ │ ├── standard_disk/ │ │ │ │ ├── block/ │ │ │ │ │ ├── directory/ │ │ │ │ │ │ ├── directory_methods.rs │ │ │ │ │ │ ├── directory_struct.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── file_extents/ │ │ │ │ │ │ ├── file_extents_methods.rs │ │ │ │ │ │ ├── file_extents_struct.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── header/ │ │ │ │ │ │ ├── header_methods.rs │ │ │ │ │ │ ├── header_struct.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── inode/ │ │ │ │ │ │ ├── inode_methods.rs │ │ │ │ │ │ ├── inode_struct.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── tests.rs │ │ │ │ │ ├── io/ │ │ │ │ │ │ ├── directory/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ ├── movement.rs │ │ │ │ │ │ │ ├── read.rs │ │ │ │ │ │ │ ├── tests.rs │ │ │ │ │ │ │ ├── types.rs │ │ │ │ │ │ │ └── write.rs │ │ │ │ │ │ ├── file/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ ├── movement.rs │ │ │ │ │ │ │ ├── read.rs │ │ │ │ │ │ │ ├── tests.rs │ │ │ │ │ │ │ └── write.rs │ │ │ │ │ │ ├── inode/ │ │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ │ ├── read.rs │ │ │ │ │ │ │ ├── tests.rs │ │ │ │ │ │ │ └── write.rs │ │ │ │ │ │ └── mod.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── standard_disk_methods.rs │ │ │ │ └── standard_disk_struct.rs │ │ │ └── unknown_disk/ │ │ │ ├── mod.rs │ │ │ ├── unknown_disk_methods.rs │ │ │ └── unknown_disk_struct.rs │ │ ├── io/ │ │ │ ├── allocate.rs │ │ │ └── mod.rs │ │ ├── mod.rs │ │ └── pool_actions/ │ │ ├── mod.rs │ │ ├── pool_methods.rs │ │ └── pool_struct.rs │ └── tui/ │ ├── layout.rs │ ├── mod.rs │ ├── notify.rs │ ├── prompts.rs │ ├── state.rs │ ├── tasks.rs │ └── tui_struct.rs ├── tests/ │ ├── directory.rs │ ├── file.rs │ ├── mount_filesystem.rs │ ├── start_filesystem.rs │ └── test_common.rs └── windows.md