diff options
| author | Marcel Braun <marcel.braun@ost.ch> | 2026-04-13 21:17:50 +0200 |
|---|---|---|
| committer | Marcel Braun <marcel.braun@ost.ch> | 2026-04-13 21:17:50 +0200 |
| commit | 5e183b418b0e65dcdffa02a43702a0d6deb43b04 (patch) | |
| tree | d6ca3839070d0509eba11125edd8cb1511c3beda /kernel/src/filesystem/filesystem.cpp | |
| parent | eb36544624c18a284debdf78b43fe627f40a8371 (diff) | |
| download | teachos-5e183b418b0e65dcdffa02a43702a0d6deb43b04.tar.xz teachos-5e183b418b0e65dcdffa02a43702a0d6deb43b04.zip | |
Back filesystem by inode and not device
Diffstat (limited to 'kernel/src/filesystem/filesystem.cpp')
| -rw-r--r-- | kernel/src/filesystem/filesystem.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/kernel/src/filesystem/filesystem.cpp b/kernel/src/filesystem/filesystem.cpp index d8b04eb..99e7456 100644 --- a/kernel/src/filesystem/filesystem.cpp +++ b/kernel/src/filesystem/filesystem.cpp @@ -1,6 +1,5 @@ #include "kernel/filesystem/filesystem.hpp" -#include "kapi/devices/device.hpp" #include "kapi/system.hpp" #include "kernel/filesystem/ext2/filesystem.hpp" @@ -19,18 +18,17 @@ namespace kernel::filesystem }; } // namespace - auto filesystem::probe_and_mount(kstd::shared_ptr<kapi::devices::device> const & device) - -> kstd::shared_ptr<filesystem> + auto filesystem::probe_and_mount(kstd::shared_ptr<inode> const & backing_inode) -> kstd::shared_ptr<filesystem> { - if (!device) + if (!backing_inode) { - kapi::system::panic("[FILESYSTEM] cannot mount filesystem: device is null."); + kapi::system::panic("[FILESYSTEM] cannot mount filesystem: backing inode is null."); } for (auto & factory : filesystem_factories) { auto fs = factory(); - if (fs->mount(device) == operation_result::success) + if (fs->mount(backing_inode) == operation_result::success) { return fs; } @@ -39,14 +37,14 @@ namespace kernel::filesystem return nullptr; } - auto filesystem::mount(kstd::shared_ptr<kapi::devices::device> const & device) -> operation_result + auto filesystem::mount(kstd::shared_ptr<inode> const & backing_inode) -> operation_result { - if (!device) + if (!backing_inode) { - kapi::system::panic("[FILESYSTEM] cannot mount filesystem: device is null."); + kapi::system::panic("[FILESYSTEM] cannot mount filesystem: backing inode is null."); } - m_device = device; + m_backing_inode = backing_inode; return operation_result::success; } @@ -55,8 +53,8 @@ namespace kernel::filesystem return m_root_inode; } - auto filesystem::device() const -> kstd::shared_ptr<kapi::devices::device> const & + auto filesystem::backing_inode() const -> kstd::shared_ptr<inode> const & { - return m_device; + return m_backing_inode; } } // namespace kernel::filesystem
\ No newline at end of file |
