├── .github ├── dependabot.yml └── workflows │ └── ci.yaml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSES └── MPL-2.0.txt ├── README.md ├── crates ├── disks │ ├── Cargo.toml │ └── src │ │ ├── disk.rs │ │ ├── lib.rs │ │ ├── loopback.rs │ │ ├── mmc.rs │ │ ├── mock.rs │ │ ├── nvme.rs │ │ ├── partition.rs │ │ ├── scsi.rs │ │ ├── sizing.rs │ │ ├── sysfs.rs │ │ └── virt.rs ├── disktester │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── partitioning │ ├── Cargo.toml │ └── src │ │ ├── attributes.rs │ │ ├── blkpg.rs │ │ ├── formatter.rs │ │ ├── lib.rs │ │ ├── loopback.rs │ │ ├── planner.rs │ │ ├── sparsefile.rs │ │ ├── strategy.rs │ │ └── writer.rs ├── provisioning │ ├── Cargo.toml │ ├── src │ │ ├── commands.rs │ │ ├── commands │ │ │ ├── create_partition.rs │ │ │ ├── create_partition_table.rs │ │ │ └── find_disk.rs │ │ ├── lib.rs │ │ └── provisioner.rs │ └── tests │ │ └── use_whole_disk.kdl ├── superblock │ ├── Cargo.toml │ ├── src │ │ ├── btrfs.rs │ │ ├── ext4.rs │ │ ├── f2fs.rs │ │ ├── fat.rs │ │ ├── lib.rs │ │ ├── luks2.rs │ │ ├── luks2 │ │ │ ├── config.rs │ │ │ └── superblock.rs │ │ └── xfs.rs │ └── tests │ │ ├── README.md │ │ ├── btrfs.img.zst │ │ ├── ext4.img.zst │ │ ├── f2fs.img.zst │ │ ├── fat16.img │ │ ├── fat16.img.zst │ │ ├── fat32.img │ │ ├── fat32.img.zst │ │ ├── luks+ext4.img.zst │ │ └── xfs.img.zst └── types │ ├── Cargo.toml │ └── src │ ├── constraints.rs │ ├── errors.rs │ ├── filesystem.rs │ ├── kdl_helpers.rs │ ├── lib.rs │ ├── partition_role.rs │ ├── partition_table.rs │ ├── partition_type.rs │ └── units.rs └── rustfmt.toml /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | lesparse.img 3 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSES/MPL-2.0.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/LICENSES/MPL-2.0.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/README.md -------------------------------------------------------------------------------- /crates/disks/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/Cargo.toml -------------------------------------------------------------------------------- /crates/disks/src/disk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/disk.rs -------------------------------------------------------------------------------- /crates/disks/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/lib.rs -------------------------------------------------------------------------------- /crates/disks/src/loopback.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/loopback.rs -------------------------------------------------------------------------------- /crates/disks/src/mmc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/mmc.rs -------------------------------------------------------------------------------- /crates/disks/src/mock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/mock.rs -------------------------------------------------------------------------------- /crates/disks/src/nvme.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/nvme.rs -------------------------------------------------------------------------------- /crates/disks/src/partition.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/partition.rs -------------------------------------------------------------------------------- /crates/disks/src/scsi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/scsi.rs -------------------------------------------------------------------------------- /crates/disks/src/sizing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/sizing.rs -------------------------------------------------------------------------------- /crates/disks/src/sysfs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/sysfs.rs -------------------------------------------------------------------------------- /crates/disks/src/virt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disks/src/virt.rs -------------------------------------------------------------------------------- /crates/disktester/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disktester/Cargo.toml -------------------------------------------------------------------------------- /crates/disktester/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/disktester/src/main.rs -------------------------------------------------------------------------------- /crates/partitioning/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/Cargo.toml -------------------------------------------------------------------------------- /crates/partitioning/src/attributes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/attributes.rs -------------------------------------------------------------------------------- /crates/partitioning/src/blkpg.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/blkpg.rs -------------------------------------------------------------------------------- /crates/partitioning/src/formatter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/formatter.rs -------------------------------------------------------------------------------- /crates/partitioning/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/lib.rs -------------------------------------------------------------------------------- /crates/partitioning/src/loopback.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/loopback.rs -------------------------------------------------------------------------------- /crates/partitioning/src/planner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/planner.rs -------------------------------------------------------------------------------- /crates/partitioning/src/sparsefile.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/sparsefile.rs -------------------------------------------------------------------------------- /crates/partitioning/src/strategy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/strategy.rs -------------------------------------------------------------------------------- /crates/partitioning/src/writer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/partitioning/src/writer.rs -------------------------------------------------------------------------------- /crates/provisioning/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/Cargo.toml -------------------------------------------------------------------------------- /crates/provisioning/src/commands.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/src/commands.rs -------------------------------------------------------------------------------- /crates/provisioning/src/commands/create_partition.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/src/commands/create_partition.rs -------------------------------------------------------------------------------- /crates/provisioning/src/commands/create_partition_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/src/commands/create_partition_table.rs -------------------------------------------------------------------------------- /crates/provisioning/src/commands/find_disk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/src/commands/find_disk.rs -------------------------------------------------------------------------------- /crates/provisioning/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/src/lib.rs -------------------------------------------------------------------------------- /crates/provisioning/src/provisioner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/src/provisioner.rs -------------------------------------------------------------------------------- /crates/provisioning/tests/use_whole_disk.kdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/provisioning/tests/use_whole_disk.kdl -------------------------------------------------------------------------------- /crates/superblock/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/Cargo.toml -------------------------------------------------------------------------------- /crates/superblock/src/btrfs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/btrfs.rs -------------------------------------------------------------------------------- /crates/superblock/src/ext4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/ext4.rs -------------------------------------------------------------------------------- /crates/superblock/src/f2fs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/f2fs.rs -------------------------------------------------------------------------------- /crates/superblock/src/fat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/fat.rs -------------------------------------------------------------------------------- /crates/superblock/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/lib.rs -------------------------------------------------------------------------------- /crates/superblock/src/luks2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/luks2.rs -------------------------------------------------------------------------------- /crates/superblock/src/luks2/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/luks2/config.rs -------------------------------------------------------------------------------- /crates/superblock/src/luks2/superblock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/luks2/superblock.rs -------------------------------------------------------------------------------- /crates/superblock/src/xfs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/src/xfs.rs -------------------------------------------------------------------------------- /crates/superblock/tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/README.md -------------------------------------------------------------------------------- /crates/superblock/tests/btrfs.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/btrfs.img.zst -------------------------------------------------------------------------------- /crates/superblock/tests/ext4.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/ext4.img.zst -------------------------------------------------------------------------------- /crates/superblock/tests/f2fs.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/f2fs.img.zst -------------------------------------------------------------------------------- /crates/superblock/tests/fat16.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/fat16.img -------------------------------------------------------------------------------- /crates/superblock/tests/fat16.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/fat16.img.zst -------------------------------------------------------------------------------- /crates/superblock/tests/fat32.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/fat32.img -------------------------------------------------------------------------------- /crates/superblock/tests/fat32.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/fat32.img.zst -------------------------------------------------------------------------------- /crates/superblock/tests/luks+ext4.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/luks+ext4.img.zst -------------------------------------------------------------------------------- /crates/superblock/tests/xfs.img.zst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/superblock/tests/xfs.img.zst -------------------------------------------------------------------------------- /crates/types/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/Cargo.toml -------------------------------------------------------------------------------- /crates/types/src/constraints.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/constraints.rs -------------------------------------------------------------------------------- /crates/types/src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/errors.rs -------------------------------------------------------------------------------- /crates/types/src/filesystem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/filesystem.rs -------------------------------------------------------------------------------- /crates/types/src/kdl_helpers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/kdl_helpers.rs -------------------------------------------------------------------------------- /crates/types/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/lib.rs -------------------------------------------------------------------------------- /crates/types/src/partition_role.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/partition_role.rs -------------------------------------------------------------------------------- /crates/types/src/partition_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/partition_table.rs -------------------------------------------------------------------------------- /crates/types/src/partition_type.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/partition_type.rs -------------------------------------------------------------------------------- /crates/types/src/units.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AerynOS/disks-rs/HEAD/crates/types/src/units.rs -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | edition = "2024" 2 | max_width = 120 3 | --------------------------------------------------------------------------------