diff options
Diffstat (limited to 'kernel/src/filesystem/filesystem.cpp')
| -rw-r--r-- | kernel/src/filesystem/filesystem.cpp | 60 |
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 |
