diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-05 20:33:28 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-05 20:33:28 +0200 |
| commit | 7414148b662a33cf6c69f89b7b0c3162f6880d6c (patch) | |
| tree | f526d73349a14ad234c6b08339c7dfce0c159b1a /kernel/src/filesystem/mount_table.cpp | |
| parent | a0f1c6f2199f55d2faaa5d9eafa9f763b2b299e4 (diff) | |
| download | kernel-7414148b662a33cf6c69f89b7b0c3162f6880d6c.tar.xz kernel-7414148b662a33cf6c69f89b7b0c3162f6880d6c.zip | |
refactoring mount_table lookup
Diffstat (limited to 'kernel/src/filesystem/mount_table.cpp')
| -rw-r--r-- | kernel/src/filesystem/mount_table.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/src/filesystem/mount_table.cpp b/kernel/src/filesystem/mount_table.cpp index e21e497..965e83b 100644 --- a/kernel/src/filesystem/mount_table.cpp +++ b/kernel/src/filesystem/mount_table.cpp @@ -102,4 +102,12 @@ namespace kernel::filesystem return mount_with_longest_prefix; } + + auto mount_table::find_exact_mount(std::string_view path) const -> kstd::shared_ptr<mount> + { + auto reversed_mounts = std::ranges::reverse_view(m_mounts); + auto mount_it = + std::ranges::find_if(reversed_mounts, [&](auto const & mount) { return mount->get_mount_path() == path; }); + return (mount_it != reversed_mounts.end()) ? *mount_it : nullptr; + } } // namespace kernel::filesystem
\ No newline at end of file |
