diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-04-09 08:32:51 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-04-11 08:05:52 +0200 |
| commit | 3c9ad45492d7417c65594fa7fa2fb9a8d5439276 (patch) | |
| tree | c198818f2ba3f66d1dc7d8ce6ca783d43e4e70ca /kernel/src/filesystem/vfs.cpp | |
| parent | 9ce8ed3dd3aa5f6e21b53d02bac4f62eb8b3f337 (diff) | |
| download | teachos-3c9ad45492d7417c65594fa7fa2fb9a8d5439276.tar.xz teachos-3c9ad45492d7417c65594fa7fa2fb9a8d5439276.zip | |
add deinit functions for singletons in tests
Diffstat (limited to 'kernel/src/filesystem/vfs.cpp')
| -rw-r--r-- | kernel/src/filesystem/vfs.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp index 45ae053..67d1af2 100644 --- a/kernel/src/filesystem/vfs.cpp +++ b/kernel/src/filesystem/vfs.cpp @@ -17,13 +17,13 @@ #include <ranges> #include <string_view> -namespace kernel::filesystem +namespace { - namespace - { - constinit auto static active_vfs = std::optional<vfs>{}; - } // namespace + constinit auto static active_vfs = std::optional<kernel::filesystem::vfs>{}; +} // namespace +namespace kernel::filesystem +{ auto vfs::init() -> void { if (active_vfs) @@ -47,7 +47,10 @@ namespace kernel::filesystem if (auto boot_device = storage_mgmt.determine_boot_device()) { auto boot_root_fs = kernel::filesystem::filesystem::probe_and_mount(boot_device); - do_mount_internal("/", root_fs_root_dentry, boot_root_fs); + if (boot_root_fs) + { + do_mount_internal("/", root_fs_root_dentry, boot_root_fs); + } } auto device_fs = kstd::make_shared<devfs::filesystem>(); @@ -172,5 +175,12 @@ namespace kernel::filesystem return current_dentry; } +} // namespace kernel::filesystem -} // namespace kernel::filesystem
\ No newline at end of file +namespace kernel::tests::filesystem::vfs +{ + auto deinit() -> void + { + active_vfs.reset(); + } +} // namespace kernel::tests::filesystem::vfs |
