From dc9bd3b44cbbd0235a176f05c27eb15ff31f5e09 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 22 May 2026 20:18:05 +0200 Subject: kernel/vfs: prepare fs type registration support --- kernel/src/filesystem/vfs.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'kernel/src/filesystem/vfs.cpp') diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp index ae85291..d22c74b 100644 --- a/kernel/src/filesystem/vfs.cpp +++ b/kernel/src/filesystem/vfs.cpp @@ -8,10 +8,12 @@ #include #include #include +#include #include #include +#include #include #include @@ -19,9 +21,16 @@ #include #include #include +#include #include #include +extern "C" +{ + extern kernel::filesystem::type const * const __vfs_type_descriptors_begin; + extern kernel::filesystem::type const * const __vfs_type_descriptors_end; +} + namespace { constinit auto static active_vfs = std::optional{}; @@ -42,6 +51,12 @@ namespace kernel::filesystem auto vfs::init_internal() -> void { + auto type_descriptors = std::span{&__vfs_type_descriptors_begin, &__vfs_type_descriptors_end} | + std::views::filter([](auto p) { return p != nullptr; }); + std::ranges::for_each(type_descriptors, [](auto descriptor) { + kstd::println("[OS] registering filesystem '{}'", descriptor->name()); + }); + // mount rootfs at / auto root_fs = kstd::make_shared(); root_fs->mount(nullptr); -- cgit v1.2.3