aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/filesystem.cpp
diff options
context:
space:
mode:
authorMarcel Braun <marcel.braun@ost.ch>2026-04-13 21:17:50 +0200
committerMarcel Braun <marcel.braun@ost.ch>2026-04-13 21:17:50 +0200
commit5e183b418b0e65dcdffa02a43702a0d6deb43b04 (patch)
treed6ca3839070d0509eba11125edd8cb1511c3beda /kernel/src/filesystem/filesystem.cpp
parenteb36544624c18a284debdf78b43fe627f40a8371 (diff)
downloadteachos-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.cpp22
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