aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/filesystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/filesystem/filesystem.cpp')
-rw-r--r--kernel/src/filesystem/filesystem.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/kernel/src/filesystem/filesystem.cpp b/kernel/src/filesystem/filesystem.cpp
deleted file mode 100644
index 24d0e229..00000000
--- a/kernel/src/filesystem/filesystem.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <kernel/filesystem/filesystem.hpp>
-
-#include <kernel/filesystem/ext2/filesystem.hpp>
-#include <kernel/filesystem/inode.hpp>
-
-#include <kapi/system.hpp>
-
-#include <kstd/memory>
-
-#include <array>
-
-namespace kernel::filesystem
-{
- namespace
- {
- constexpr auto static filesystem_factories = std::array{
- []() { return kstd::make_shared<ext2::filesystem>(); },
- };
- } // namespace
-
- auto filesystem::probe_and_mount(kstd::shared_ptr<inode> const & backing_inode) -> kstd::shared_ptr<filesystem>
- {
- if (!backing_inode)
- {
- kapi::system::panic("[FILESYSTEM] cannot mount filesystem: backing inode is null.");
- }
-
- for (auto & factory : filesystem_factories)
- {
- auto fs = factory();
- if (fs->mount(backing_inode) == operation_result::success)
- {
- return fs;
- }
- }
-
- return nullptr;
- }
-
- auto filesystem::mount(kstd::shared_ptr<inode> const & backing_inode) -> operation_result
- {
- if (!backing_inode)
- {
- kapi::system::panic("[FILESYSTEM] cannot mount filesystem: backing inode is null.");
- }
-
- m_backing_inode = backing_inode;
- return operation_result::success;
- }
-
- auto filesystem::root_inode() const -> kstd::shared_ptr<inode> const &
- {
- return m_root_inode;
- }
-
- auto filesystem::backing_inode() const -> kstd::shared_ptr<inode> const &
- {
- return m_backing_inode;
- }
-} // namespace kernel::filesystem \ No newline at end of file