forked from Bananymous/banan-os
Kernel: StorageDevices and Controllers are now devices
This commit is contained in:
@@ -34,13 +34,17 @@ namespace Kernel
|
||||
IFREG = 0x8000,
|
||||
IFLNK = 0xA000,
|
||||
IFSOCK = 0xC000,
|
||||
TYPE_MASK = 0xF000,
|
||||
};
|
||||
|
||||
public:
|
||||
virtual ~Inode() {}
|
||||
|
||||
bool ifdir() const { return mode() & Mode::IFDIR; }
|
||||
bool ifreg() const { return mode() & Mode::IFREG; }
|
||||
bool ifdir() const { return (mode() & Mode::TYPE_MASK) == Mode::IFDIR; }
|
||||
bool ifblk() const { return (mode() & Mode::TYPE_MASK) == Mode::IFBLK; }
|
||||
bool ifreg() const { return (mode() & Mode::TYPE_MASK) == Mode::IFREG; }
|
||||
bool iflnk() const { return (mode() & Mode::TYPE_MASK) == Mode::IFLNK; }
|
||||
bool ifsock() const { return (mode() & Mode::TYPE_MASK) == Mode::IFSOCK; }
|
||||
|
||||
bool operator==(const Inode& other) const { return dev() == other.dev() && rdev() == other.rdev() && ino() == other.ino(); }
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace Kernel
|
||||
static VirtualFileSystem& get();
|
||||
virtual ~VirtualFileSystem() {};
|
||||
|
||||
virtual BAN::RefPtr<Inode> root_inode() override { return m_root_inode; }
|
||||
virtual BAN::RefPtr<Inode> root_inode() override { return m_root_fs->root_inode(); }
|
||||
|
||||
BAN::ErrorOr<void> mount(FileSystem*, BAN::StringView);
|
||||
|
||||
@@ -36,10 +36,9 @@ namespace Kernel
|
||||
|
||||
private:
|
||||
VirtualFileSystem() = default;
|
||||
BAN::ErrorOr<void> initialize_impl();
|
||||
|
||||
private:
|
||||
BAN::RefPtr<Inode> m_root_inode;
|
||||
FileSystem* m_root_fs = nullptr;
|
||||
BAN::Vector<MountPoint> m_mount_points;
|
||||
BAN::Vector<StorageController*> m_storage_controllers;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user