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.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp
index febb844..a3e554e 100644
--- a/kernel/src/filesystem/vfs.cpp
+++ b/kernel/src/filesystem/vfs.cpp
@@ -7,6 +7,7 @@
#include "kernel/filesystem/custody.hpp"
#include "kernel/filesystem/device_inode.hpp"
#include "kernel/filesystem/ext2/ext2_filesystem.hpp"
+#include "kernel/filesystem/filesystem.hpp"
#include "kernel/filesystem/mount.hpp"
#include "kernel/filesystem/open_file_description.hpp"
@@ -62,7 +63,7 @@ namespace filesystem
return *active_vfs;
}
- auto vfs::open(std::string_view path) -> std::optional<open_file_description>
+ auto vfs::open(std::string_view path) -> kstd::shared_ptr<open_file_description>
{
if (auto custody = resolve_path(path))
{
@@ -70,14 +71,13 @@ namespace filesystem
if (auto current_inode_file = node->open_file())
{
- // TODO BA-FS26 return shared_ptr?
- return open_file_description{current_inode_file};
+ return kstd::make_shared<open_file_description>(current_inode_file);
}
kapi::system::panic("[FILESYSTEM] inode::open_file returned null file.");
}
- return std::nullopt;
+ return nullptr;
}
auto vfs::do_mount(std::string_view path, kstd::shared_ptr<filesystem> const & filesystem) -> int