aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/vfs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/filesystem/vfs.cpp')
-rw-r--r--kernel/src/filesystem/vfs.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp
index ae85291..e5dff8c 100644
--- a/kernel/src/filesystem/vfs.cpp
+++ b/kernel/src/filesystem/vfs.cpp
@@ -12,7 +12,6 @@
#include <kapi/system.hpp>
#include <kstd/memory>
-#include <kstd/string>
#include <kstd/vector>
#include <algorithm>
@@ -36,11 +35,10 @@ namespace kernel::filesystem
kapi::system::panic("[FILESYSTEM] vfs has already been initialized.");
}
- active_vfs.emplace(vfs{});
- active_vfs->init_internal();
+ active_vfs.emplace();
}
- auto vfs::init_internal() -> void
+ vfs::vfs()
{
// mount rootfs at /
auto root_fs = kstd::make_shared<rootfs::filesystem>();
@@ -226,22 +224,22 @@ namespace kernel::filesystem
continue;
}
- auto next_dentry = current_dentry->find_child(part.view());
+ auto next_dentry = current_dentry->find_child(part);
if (!next_dentry)
{
auto current_fs = current_mount->get_filesystem();
- auto found_inode = current_fs->lookup(current_dentry->get_inode(), part.view());
+ auto found_inode = current_fs->lookup(current_dentry->get_inode(), part);
if (!found_inode)
{
return {nullptr, nullptr};
}
- next_dentry = kstd::make_shared<dentry>(current_dentry, found_inode, part.view());
+ next_dentry = kstd::make_shared<dentry>(current_dentry, found_inode, part);
current_dentry->add_child(next_dentry);
}
else if (next_dentry->has_flag(dentry::dentry_flags::is_mount_point))
{
- current_mount = m_mount_table.find_mount(next_dentry->absolute_path().view());
+ current_mount = m_mount_table.find_mount(next_dentry->absolute_path());
if (!current_mount)
{
kapi::system::panic("[FILESYSTEM] mount for dentry with mounted flag not found.");