aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel/filesystem/filesystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel/filesystem/filesystem.cpp')
-rw-r--r--kernel/kernel/filesystem/filesystem.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/kernel/kernel/filesystem/filesystem.cpp b/kernel/kernel/filesystem/filesystem.cpp
index 1d222888..362c4d1e 100644
--- a/kernel/kernel/filesystem/filesystem.cpp
+++ b/kernel/kernel/filesystem/filesystem.cpp
@@ -8,13 +8,10 @@
#include <kstd/result.hpp>
#include <kstd/system_error.hpp>
-#include <utility>
-
namespace kernel::filesystem
{
- auto filesystem::probe_and_mount(kstd::shared_ptr<inode> const & backing_inode)
- -> kstd::result<std::pair<kstd::shared_ptr<filesystem>, kstd::shared_ptr<inode>>>
+ auto filesystem::probe(kstd::shared_ptr<inode> const & backing_inode) -> kstd::result<kstd::shared_ptr<filesystem>>
{
for (auto & type : type_registry::get().all())
{
@@ -23,14 +20,10 @@ namespace kernel::filesystem
continue;
}
- auto fs = type->make_instance();
- auto root = fs->mount(backing_inode);
- if (!root)
+ if (auto fs = type->make_instance())
{
- continue;
+ return fs;
}
-
- return std::pair{fs, *root};
}
return kstd::failure(vfs_errc::unsupported_filesystem);