summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibPartition
AgeCommit message (Collapse)Author
2022-07-21LibPartition: Fix end block off by one errorSamuel Bowman
Previously, end block was inconsistent. GUIDPartitionTable treated end block as an inclusive bound, while MBRPartitionTable and EBRPartitionTable treated end block as an exclusive bound. Now all three treat end block as an inclusive upper bound.
2022-07-21LibPartition: Make GUIDPartitionTable kernel/userland agnosticSamuel Bowman
2022-07-21LibPartition: Make EBRPartitionTable kernel/userland agnosticSamuel Bowman
2022-07-21LibPartition: Make MBRPartitionTable kernel/userland agnosticSamuel Bowman
2022-07-21LibPartition: Make PartitionTable kernel/userland agnosticSamuel Bowman
Previously, PartitionTable was constructed using a Kernel::StorageDevice making it only usable in the kernel. This commit adds a new constructor that takes a Core::File instead, making it usable in userland as well. This also adds the m_block_size field which stores the block size of the underlying device obtained by calling StorageDevice::block_size() in the kernel or by using the STORAGE_DEVICE_GET_BLOCK_SIZE ioctl in userland. This avoids the need for an #ifdef every time block size is needed.
2022-07-21Kernel+LibPartition: Move GUIDPartitionTable into LibPartitionSamuel Bowman
2022-07-21Kernel+LibPartition: Move EBRPartitionTable into LibPartitionSamuel Bowman
2022-07-21Kernel+LibPartition: Move MBRPartitionTable into LibPartitionSamuel Bowman
2022-07-21Kernel+LibPartition: Move PartitionTable into LibPartitionSamuel Bowman
2022-07-21Kernel+LibPartition: Move DiskPartitionMetadata into LibPartitionSamuel Bowman
This commit creates a new library LibPartition which will contain partition related code sharable between Kernel and Userland and includes DiskPartitionMetadata as the first shared class.