mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 15:47:42 +00:00
Kernel/Storage: Rename DiskPartition => StorageDevicePartition
We deal with partitions for storage devices, not only for disk devices, originally harddrives.
This commit is contained in:
parent
4e651d0e4f
commit
42ed0a6c94
6 changed files with 28 additions and 28 deletions
|
@ -131,10 +131,10 @@ set(KERNEL_SOURCES
|
||||||
Devices/Storage/SD/SDHostController.cpp
|
Devices/Storage/SD/SDHostController.cpp
|
||||||
Devices/Storage/SD/SDMemoryCard.cpp
|
Devices/Storage/SD/SDMemoryCard.cpp
|
||||||
Devices/Storage/USB/BulkSCSIInterface.cpp
|
Devices/Storage/USB/BulkSCSIInterface.cpp
|
||||||
Devices/Storage/DiskPartition.cpp
|
|
||||||
Devices/Storage/StorageController.cpp
|
Devices/Storage/StorageController.cpp
|
||||||
Devices/Storage/StorageDevice.cpp
|
Devices/Storage/StorageDevice.cpp
|
||||||
Devices/Storage/StorageManagement.cpp
|
Devices/Storage/StorageManagement.cpp
|
||||||
|
Devices/Storage/StorageDevicePartition.cpp
|
||||||
SanCov.cpp
|
SanCov.cpp
|
||||||
FileSystem/AnonymousFile.cpp
|
FileSystem/AnonymousFile.cpp
|
||||||
FileSystem/BlockBasedFileSystem.cpp
|
FileSystem/BlockBasedFileSystem.cpp
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
|
|
||||||
#include <AK/IntrusiveList.h>
|
#include <AK/IntrusiveList.h>
|
||||||
#include <Kernel/Devices/BlockDevice.h>
|
#include <Kernel/Devices/BlockDevice.h>
|
||||||
#include <Kernel/Devices/Storage/DiskPartition.h>
|
|
||||||
#include <Kernel/Devices/Storage/StorageController.h>
|
#include <Kernel/Devices/Storage/StorageController.h>
|
||||||
|
#include <Kernel/Devices/Storage/StorageDevicePartition.h>
|
||||||
#include <Kernel/Interrupts/IRQHandler.h>
|
#include <Kernel/Interrupts/IRQHandler.h>
|
||||||
#include <Kernel/Locking/Mutex.h>
|
#include <Kernel/Locking/Mutex.h>
|
||||||
|
|
||||||
|
@ -68,9 +68,9 @@ public:
|
||||||
virtual bool can_write(OpenFileDescription const&, u64) const override { return true; }
|
virtual bool can_write(OpenFileDescription const&, u64) const override { return true; }
|
||||||
virtual void prepare_for_unplug() { m_partitions.clear(); }
|
virtual void prepare_for_unplug() { m_partitions.clear(); }
|
||||||
|
|
||||||
Vector<NonnullLockRefPtr<DiskPartition>> const& partitions() const { return m_partitions; }
|
Vector<NonnullLockRefPtr<StorageDevicePartition>> const& partitions() const { return m_partitions; }
|
||||||
|
|
||||||
void add_partition(NonnullLockRefPtr<DiskPartition> disk_partition) { MUST(m_partitions.try_append(disk_partition)); }
|
void add_partition(NonnullLockRefPtr<StorageDevicePartition> disk_partition) { MUST(m_partitions.try_append(disk_partition)); }
|
||||||
|
|
||||||
LUNAddress const& logical_unit_number_address() const { return m_logical_unit_number_address; }
|
LUNAddress const& logical_unit_number_address() const { return m_logical_unit_number_address; }
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ private:
|
||||||
virtual void will_be_destroyed() override;
|
virtual void will_be_destroyed() override;
|
||||||
|
|
||||||
mutable IntrusiveListNode<StorageDevice, LockRefPtr<StorageDevice>> m_list_node;
|
mutable IntrusiveListNode<StorageDevice, LockRefPtr<StorageDevice>> m_list_node;
|
||||||
Vector<NonnullLockRefPtr<DiskPartition>> m_partitions;
|
Vector<NonnullLockRefPtr<StorageDevicePartition>> m_partitions;
|
||||||
|
|
||||||
LUNAddress const m_logical_unit_number_address;
|
LUNAddress const m_logical_unit_number_address;
|
||||||
|
|
||||||
|
|
|
@ -6,34 +6,34 @@
|
||||||
|
|
||||||
#include <Kernel/Debug.h>
|
#include <Kernel/Debug.h>
|
||||||
#include <Kernel/Devices/DeviceManagement.h>
|
#include <Kernel/Devices/DeviceManagement.h>
|
||||||
#include <Kernel/Devices/Storage/DiskPartition.h>
|
#include <Kernel/Devices/Storage/StorageDevicePartition.h>
|
||||||
#include <Kernel/FileSystem/OpenFileDescription.h>
|
#include <Kernel/FileSystem/OpenFileDescription.h>
|
||||||
|
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
|
|
||||||
NonnullLockRefPtr<DiskPartition> DiskPartition::create(BlockDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
NonnullLockRefPtr<StorageDevicePartition> StorageDevicePartition::create(BlockDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
||||||
{
|
{
|
||||||
auto partition_or_error = DeviceManagement::try_create_device<DiskPartition>(device, minor_number, metadata);
|
auto partition_or_error = DeviceManagement::try_create_device<StorageDevicePartition>(device, minor_number, metadata);
|
||||||
// FIXME: Find a way to propagate errors
|
// FIXME: Find a way to propagate errors
|
||||||
VERIFY(!partition_or_error.is_error());
|
VERIFY(!partition_or_error.is_error());
|
||||||
return partition_or_error.release_value();
|
return partition_or_error.release_value();
|
||||||
}
|
}
|
||||||
|
|
||||||
DiskPartition::DiskPartition(BlockDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
StorageDevicePartition::StorageDevicePartition(BlockDevice& device, MinorNumber minor_number, Partition::DiskPartitionMetadata metadata)
|
||||||
: BlockDevice(100, minor_number, device.block_size())
|
: BlockDevice(100, minor_number, device.block_size())
|
||||||
, m_device(device)
|
, m_device(device)
|
||||||
, m_metadata(metadata)
|
, m_metadata(metadata)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
DiskPartition::~DiskPartition() = default;
|
StorageDevicePartition::~StorageDevicePartition() = default;
|
||||||
|
|
||||||
Partition::DiskPartitionMetadata const& DiskPartition::metadata() const
|
Partition::DiskPartitionMetadata const& StorageDevicePartition::metadata() const
|
||||||
{
|
{
|
||||||
return m_metadata;
|
return m_metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiskPartition::start_request(AsyncBlockDeviceRequest& request)
|
void StorageDevicePartition::start_request(AsyncBlockDeviceRequest& request)
|
||||||
{
|
{
|
||||||
auto device = m_device.strong_ref();
|
auto device = m_device.strong_ref();
|
||||||
if (!device)
|
if (!device)
|
||||||
|
@ -45,37 +45,37 @@ void DiskPartition::start_request(AsyncBlockDeviceRequest& request)
|
||||||
request.add_sub_request(sub_request_or_error.release_value());
|
request.add_sub_request(sub_request_or_error.release_value());
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<size_t> DiskPartition::read(OpenFileDescription& fd, u64 offset, UserOrKernelBuffer& outbuf, size_t len)
|
ErrorOr<size_t> StorageDevicePartition::read(OpenFileDescription& fd, u64 offset, UserOrKernelBuffer& outbuf, size_t len)
|
||||||
{
|
{
|
||||||
u64 adjust = m_metadata.start_block() * block_size();
|
u64 adjust = m_metadata.start_block() * block_size();
|
||||||
dbgln_if(OFFD_DEBUG, "DiskPartition::read offset={}, adjust={}, len={}", fd.offset(), adjust, len);
|
dbgln_if(OFFD_DEBUG, "StorageDevicePartition::read offset={}, adjust={}, len={}", fd.offset(), adjust, len);
|
||||||
return m_device.strong_ref()->read(fd, offset + adjust, outbuf, len);
|
return m_device.strong_ref()->read(fd, offset + adjust, outbuf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DiskPartition::can_read(OpenFileDescription const& fd, u64 offset) const
|
bool StorageDevicePartition::can_read(OpenFileDescription const& fd, u64 offset) const
|
||||||
{
|
{
|
||||||
u64 adjust = m_metadata.start_block() * block_size();
|
u64 adjust = m_metadata.start_block() * block_size();
|
||||||
dbgln_if(OFFD_DEBUG, "DiskPartition::can_read offset={}, adjust={}", offset, adjust);
|
dbgln_if(OFFD_DEBUG, "StorageDevicePartition::can_read offset={}, adjust={}", offset, adjust);
|
||||||
return m_device.strong_ref()->can_read(fd, offset + adjust);
|
return m_device.strong_ref()->can_read(fd, offset + adjust);
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<size_t> DiskPartition::write(OpenFileDescription& fd, u64 offset, UserOrKernelBuffer const& inbuf, size_t len)
|
ErrorOr<size_t> StorageDevicePartition::write(OpenFileDescription& fd, u64 offset, UserOrKernelBuffer const& inbuf, size_t len)
|
||||||
{
|
{
|
||||||
u64 adjust = m_metadata.start_block() * block_size();
|
u64 adjust = m_metadata.start_block() * block_size();
|
||||||
dbgln_if(OFFD_DEBUG, "DiskPartition::write offset={}, adjust={}, len={}", offset, adjust, len);
|
dbgln_if(OFFD_DEBUG, "StorageDevicePartition::write offset={}, adjust={}, len={}", offset, adjust, len);
|
||||||
return m_device.strong_ref()->write(fd, offset + adjust, inbuf, len);
|
return m_device.strong_ref()->write(fd, offset + adjust, inbuf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DiskPartition::can_write(OpenFileDescription const& fd, u64 offset) const
|
bool StorageDevicePartition::can_write(OpenFileDescription const& fd, u64 offset) const
|
||||||
{
|
{
|
||||||
u64 adjust = m_metadata.start_block() * block_size();
|
u64 adjust = m_metadata.start_block() * block_size();
|
||||||
dbgln_if(OFFD_DEBUG, "DiskPartition::can_write offset={}, adjust={}", offset, adjust);
|
dbgln_if(OFFD_DEBUG, "StorageDevicePartition::can_write offset={}, adjust={}", offset, adjust);
|
||||||
return m_device.strong_ref()->can_write(fd, offset + adjust);
|
return m_device.strong_ref()->can_write(fd, offset + adjust);
|
||||||
}
|
}
|
||||||
|
|
||||||
StringView DiskPartition::class_name() const
|
StringView StorageDevicePartition::class_name() const
|
||||||
{
|
{
|
||||||
return "DiskPartition"sv;
|
return "StorageDevicePartition"sv;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -13,12 +13,12 @@
|
||||||
|
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
|
|
||||||
class DiskPartition final : public BlockDevice {
|
class StorageDevicePartition final : public BlockDevice {
|
||||||
friend class DeviceManagement;
|
friend class DeviceManagement;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static NonnullLockRefPtr<DiskPartition> create(BlockDevice&, MinorNumber, Partition::DiskPartitionMetadata);
|
static NonnullLockRefPtr<StorageDevicePartition> create(BlockDevice&, MinorNumber, Partition::DiskPartitionMetadata);
|
||||||
virtual ~DiskPartition();
|
virtual ~StorageDevicePartition();
|
||||||
|
|
||||||
virtual void start_request(AsyncBlockDeviceRequest&) override;
|
virtual void start_request(AsyncBlockDeviceRequest&) override;
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ public:
|
||||||
Partition::DiskPartitionMetadata const& metadata() const;
|
Partition::DiskPartitionMetadata const& metadata() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DiskPartition(BlockDevice&, MinorNumber, Partition::DiskPartitionMetadata);
|
StorageDevicePartition(BlockDevice&, MinorNumber, Partition::DiskPartitionMetadata);
|
||||||
virtual StringView class_name() const override;
|
virtual StringView class_name() const override;
|
||||||
|
|
||||||
LockWeakPtr<BlockDevice> m_device;
|
LockWeakPtr<BlockDevice> m_device;
|
|
@ -221,7 +221,7 @@ ErrorOr<void> StorageManagement::enumerate_device_partitions(StorageDevice& devi
|
||||||
{
|
{
|
||||||
auto partition_table = TRY(try_to_initialize_partition_table(device));
|
auto partition_table = TRY(try_to_initialize_partition_table(device));
|
||||||
for (auto partition_metadata : partition_table->partitions()) {
|
for (auto partition_metadata : partition_table->partitions()) {
|
||||||
auto disk_partition = DiskPartition::create(device, generate_partition_minor_number(), partition_metadata);
|
auto disk_partition = StorageDevicePartition::create(device, generate_partition_minor_number(), partition_metadata);
|
||||||
device.add_partition(disk_partition);
|
device.add_partition(disk_partition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
|
|
||||||
#include <AK/IntrusiveList.h>
|
#include <AK/IntrusiveList.h>
|
||||||
#include <AK/Types.h>
|
#include <AK/Types.h>
|
||||||
#include <Kernel/Devices/Storage/DiskPartition.h>
|
|
||||||
#include <Kernel/Devices/Storage/SD/SDHostController.h>
|
#include <Kernel/Devices/Storage/SD/SDHostController.h>
|
||||||
#include <Kernel/Devices/Storage/StorageController.h>
|
#include <Kernel/Devices/Storage/StorageController.h>
|
||||||
#include <Kernel/Devices/Storage/StorageDevice.h>
|
#include <Kernel/Devices/Storage/StorageDevice.h>
|
||||||
|
#include <Kernel/Devices/Storage/StorageDevicePartition.h>
|
||||||
#include <Kernel/FileSystem/FileSystem.h>
|
#include <Kernel/FileSystem/FileSystem.h>
|
||||||
#include <Kernel/Library/NonnullLockRefPtr.h>
|
#include <Kernel/Library/NonnullLockRefPtr.h>
|
||||||
#include <LibPartition/PartitionTable.h>
|
#include <LibPartition/PartitionTable.h>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue