From 1f9fe3cf18b561749cfbdb2db8ab7572ddc40c03 Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Fri, 15 May 2026 22:38:24 +0200 Subject: uniform interface for open and close --- kernel/include/kernel/filesystem/vfs.hpp | 6 +++--- kernel/kapi/filesystem.cpp | 2 +- kernel/src/filesystem/vfs.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'kernel') diff --git a/kernel/include/kernel/filesystem/vfs.hpp b/kernel/include/kernel/filesystem/vfs.hpp index 48b99b2..0058d04 100644 --- a/kernel/include/kernel/filesystem/vfs.hpp +++ b/kernel/include/kernel/filesystem/vfs.hpp @@ -62,11 +62,11 @@ namespace kernel::filesystem auto open(std::string_view path) -> kstd::shared_ptr; /** - @brief Close a file by its associated @p dentry. - @param dentry The dentry of the file to close. + @brief Close a file by its associated @p path. + @param path The path to the file to close. @return The result of the close operation. */ - auto close(kstd::shared_ptr const & dentry) -> operation_result; + auto close(std::string_view path) -> operation_result; /** @brief Mount a @p source path to a specific @p target path. diff --git a/kernel/kapi/filesystem.cpp b/kernel/kapi/filesystem.cpp index 1782da5..53a71be 100644 --- a/kernel/kapi/filesystem.cpp +++ b/kernel/kapi/filesystem.cpp @@ -46,7 +46,7 @@ namespace kapi::filesystem { if (auto open_file_descriptor = kernel::filesystem::open_file_table::get().get_file(file_descriptor)) { - if (kernel::filesystem::vfs::get().close(open_file_descriptor->get_dentry()) == + if (kernel::filesystem::vfs::get().close(open_file_descriptor->get_dentry()->get_absolute_path().view()) == kernel::filesystem::vfs::operation_result::success) { return kernel::filesystem::open_file_table::get().remove_file(file_descriptor); diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp index 67671e2..de19d38 100644 --- a/kernel/src/filesystem/vfs.cpp +++ b/kernel/src/filesystem/vfs.cpp @@ -86,9 +86,9 @@ namespace kernel::filesystem return dentry; } - auto vfs::close(kstd::shared_ptr const & dentry) -> operation_result + auto vfs::close(std::string_view path) -> operation_result { - if (auto mount = find_mount(dentry->get_absolute_path().view())) + if (auto mount = find_mount(path)) { if (mount->decrement_ref_count()) { -- cgit v1.2.3