1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 13:27:35 +00:00

Kernel: Rename OffsetDiskDevice to DiskPartition

This commit is contained in:
Conrad Pankoff 2019-06-02 19:38:37 +10:00 committed by Andreas Kling
parent 8eb492aa11
commit 32d78a8526
5 changed files with 70 additions and 70 deletions

View file

@ -0,0 +1,63 @@
#include <Kernel/Devices/DiskPartition.h>
// #define OFFD_DEBUG
Retained<DiskPartition> DiskPartition::create(Retained<DiskDevice>&& device, unsigned block_offset)
{
return adopt(*new DiskPartition(move(device), block_offset));
}
DiskPartition::DiskPartition(Retained<DiskDevice>&& device, unsigned block_offset)
: m_device(move(device)), m_block_offset(block_offset)
{
}
DiskPartition::~DiskPartition()
{
}
unsigned DiskPartition::block_size() const
{
return m_device->block_size();
}
bool DiskPartition::read_block(unsigned index, byte* out) const
{
#ifdef OFFD_DEBUG
kprintf("DiskPartition::read_block %u (really: %u)\n", index, m_block_offset + index);
#endif
return m_device->read_block(m_block_offset + index, out);
}
bool DiskPartition::write_block(unsigned index, const byte* data)
{
#ifdef OFFD_DEBUG
kprintf("DiskPartition::write_block %u (really: %u)\n", index, m_block_offset + index);
#endif
return m_device->write_block(m_block_offset + index, data);
}
bool DiskPartition::read_blocks(unsigned index, word count, byte* out)
{
#ifdef OFFD_DEBUG
kprintf("DiskPartition::read_blocks %u (really: %u) count=%u\n", index, m_block_offset + index, count);
#endif
return m_device->read_blocks(m_block_offset + index, count, out);
}
bool DiskPartition::write_blocks(unsigned index, word count, const byte* data)
{
#ifdef OFFD_DEBUG
kprintf("DiskPartition::write_blocks %u (really: %u) count=%u\n", index, m_block_offset + index, count);
#endif
return m_device->write_blocks(m_block_offset + index, count, data);
}
const char* DiskPartition::class_name() const
{
return "DiskPartition";
}

View file

@ -3,10 +3,10 @@
#include <AK/RetainPtr.h>
#include <Kernel/Devices/DiskDevice.h>
class OffsetDiskDevice final : public DiskDevice {
class DiskPartition final : public DiskDevice {
public:
static Retained<OffsetDiskDevice> create(Retained<DiskDevice>&& device, unsigned block_offset);
virtual ~OffsetDiskDevice();
static Retained<DiskPartition> create(Retained<DiskDevice>&& device, unsigned block_offset);
virtual ~DiskPartition();
virtual unsigned block_size() const override;
virtual bool read_block(unsigned index, byte* out) const override;
@ -17,7 +17,7 @@ public:
private:
virtual const char* class_name() const override;
OffsetDiskDevice(Retained<DiskDevice>&&, unsigned);
DiskPartition(Retained<DiskDevice>&&, unsigned);
Retained<DiskDevice> m_device;
unsigned m_block_offset;

View file

@ -1,63 +0,0 @@
#include <Kernel/Devices/OffsetDiskDevice.h>
// #define OFFD_DEBUG
Retained<OffsetDiskDevice> OffsetDiskDevice::create(Retained<DiskDevice>&& device, unsigned block_offset)
{
return adopt(*new OffsetDiskDevice(move(device), block_offset));
}
OffsetDiskDevice::OffsetDiskDevice(Retained<DiskDevice>&& device, unsigned block_offset)
: m_device(move(device)), m_block_offset(block_offset)
{
}
OffsetDiskDevice::~OffsetDiskDevice()
{
}
unsigned OffsetDiskDevice::block_size() const
{
return m_device->block_size();
}
bool OffsetDiskDevice::read_block(unsigned index, byte* out) const
{
#ifdef OFFD_DEBUG
kprintf("OffsetDiskDevice::read_block %u (really: %u)\n", index, m_block_offset + index);
#endif
return m_device->read_block(m_block_offset + index, out);
}
bool OffsetDiskDevice::write_block(unsigned index, const byte* data)
{
#ifdef OFFD_DEBUG
kprintf("OffsetDiskDevice::write_block %u (really: %u)\n", index, m_block_offset + index);
#endif
return m_device->write_block(m_block_offset + index, data);
}
bool OffsetDiskDevice::read_blocks(unsigned index, word count, byte* out)
{
#ifdef OFFD_DEBUG
kprintf("OffsetDiskDevice::read_blocks %u (really: %u) count=%u\n", index, m_block_offset + index, count);
#endif
return m_device->read_blocks(m_block_offset + index, count, out);
}
bool OffsetDiskDevice::write_blocks(unsigned index, word count, const byte* data)
{
#ifdef OFFD_DEBUG
kprintf("OffsetDiskDevice::write_blocks %u (really: %u) count=%u\n", index, m_block_offset + index, count);
#endif
return m_device->write_blocks(m_block_offset + index, count, data);
}
const char* OffsetDiskDevice::class_name() const
{
return "OffsetDiskDevice";
}

View file

@ -65,7 +65,7 @@ VFS_OBJS = \
Devices/ZeroDevice.o \
Devices/RandomDevice.o \
Devices/DebugLogDevice.o \
Devices/OffsetDiskDevice.o \
Devices/DiskPartition.o \
FileSystem/FileSystem.o \
FileSystem/DiskBackedFileSystem.o \
FileSystem/Ext2FileSystem.o \

View file

@ -6,7 +6,7 @@
#include "Process.h"
#include "PIC.h"
#include <Kernel/Devices/IDEDiskDevice.h>
#include <Kernel/Devices/OffsetDiskDevice.h>
#include <Kernel/Devices/DiskPartition.h>
#include "KSyms.h"
#include <Kernel/Devices/NullDevice.h>
#include <Kernel/Devices/ZeroDevice.h>
@ -72,7 +72,7 @@ VFS* vfs;
auto dev_random = make<RandomDevice>();
auto dev_ptmx = make<PTYMultiplexer>();
auto dev_hd0 = IDEDiskDevice::create();
auto dev_hd0p1 = OffsetDiskDevice::create(dev_hd0.copy_ref(), PARTITION_OFFSET);
auto dev_hd0p1 = DiskPartition::create(dev_hd0.copy_ref(), PARTITION_OFFSET);
auto e2fs = Ext2FS::create(dev_hd0p1.copy_ref());
e2fs->initialize();