From 81ab0ba35d724dd465ed870e87047b3bf74cea13 Mon Sep 17 00:00:00 2001 From: "marcel.braun" Date: Mon, 30 Mar 2026 21:01:18 +0200 Subject: Rename rootfs filesystem files --- kernel/CMakeLists.txt | 4 +-- .../kernel/filesystem/rootfs/filesystem.hpp | 24 +++++++++++++ kernel/include/kernel/filesystem/rootfs/inode.hpp | 31 +++++++++++++++++ .../kernel/filesystem/rootfs/rootfs_filesystem.hpp | 23 ------------- .../kernel/filesystem/rootfs/rootfs_inode.hpp | 31 ----------------- kernel/src/filesystem/rootfs/filesystem.cpp | 29 ++++++++++++++++ kernel/src/filesystem/rootfs/inode.cpp | 39 ++++++++++++++++++++++ kernel/src/filesystem/rootfs/rootfs_filesystem.cpp | 29 ---------------- kernel/src/filesystem/rootfs/rootfs_inode.cpp | 39 ---------------------- kernel/src/filesystem/vfs.cpp | 4 +-- 10 files changed, 127 insertions(+), 126 deletions(-) create mode 100644 kernel/include/kernel/filesystem/rootfs/filesystem.hpp create mode 100644 kernel/include/kernel/filesystem/rootfs/inode.hpp delete mode 100644 kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp delete mode 100644 kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp create mode 100644 kernel/src/filesystem/rootfs/filesystem.cpp create mode 100644 kernel/src/filesystem/rootfs/inode.cpp delete mode 100644 kernel/src/filesystem/rootfs/rootfs_filesystem.cpp delete mode 100644 kernel/src/filesystem/rootfs/rootfs_inode.cpp (limited to 'kernel') diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index f9e4a70..3dbc0f4 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -36,8 +36,8 @@ add_executable("kernel" "src/filesystem/mount_table.cpp" "src/filesystem/mount.cpp" "src/filesystem/open_file_description.cpp" - "src/filesystem/rootfs/rootfs_filesystem.cpp" - "src/filesystem/rootfs/rootfs_inode.cpp" + "src/filesystem/rootfs/filesystem.cpp" + "src/filesystem/rootfs/inode.cpp" "src/filesystem/vfs.cpp" ) diff --git a/kernel/include/kernel/filesystem/rootfs/filesystem.hpp b/kernel/include/kernel/filesystem/rootfs/filesystem.hpp new file mode 100644 index 0000000..b1f33a9 --- /dev/null +++ b/kernel/include/kernel/filesystem/rootfs/filesystem.hpp @@ -0,0 +1,24 @@ +#ifndef TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_FILESYSTEM_HPP +#define TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_FILESYSTEM_HPP + +#include "kernel/devices/device.hpp" +#include "kernel/filesystem/filesystem.hpp" +#include "kernel/filesystem/inode.hpp" + +#include +#include +#include + +#include + +namespace kernel::filesystem::rootfs +{ + struct filesystem : kernel::filesystem::filesystem + { + auto mount(kstd::shared_ptr const & device) -> int override; + auto lookup(kstd::shared_ptr const & parent, std::string_view name) + -> kstd::shared_ptr override; + }; +} // namespace kernel::filesystem::rootfs + +#endif \ No newline at end of file diff --git a/kernel/include/kernel/filesystem/rootfs/inode.hpp b/kernel/include/kernel/filesystem/rootfs/inode.hpp new file mode 100644 index 0000000..24d3e6b --- /dev/null +++ b/kernel/include/kernel/filesystem/rootfs/inode.hpp @@ -0,0 +1,31 @@ +#ifndef TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_INODE_HPP +#define TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_INODE_HPP + +#include "kernel/filesystem/inode.hpp" + +#include +#include +#include + +#include +#include +#include + +namespace kernel::filesystem::rootfs +{ + struct inode : kernel::filesystem::inode + { + inode(); + + auto read(void * buffer, size_t offset, size_t size) const -> size_t override; + auto write(void const * buffer, size_t offset, size_t size) -> size_t override; + + auto add_child(std::string_view name) -> void; + auto lookup_child(std::string_view name) -> kstd::shared_ptr; + + private: + kstd::vector>> m_children; + }; +} // namespace kernel::filesystem::rootfs + +#endif diff --git a/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp b/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp deleted file mode 100644 index b91f728..0000000 --- a/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_ROOTFS_FILESYSTEM_HPP -#define TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_ROOTFS_FILESYSTEM_HPP - -#include "kernel/devices/device.hpp" -#include "kernel/filesystem/filesystem.hpp" -#include "kernel/filesystem/inode.hpp" - -#include -#include -#include - -#include - -namespace kernel::filesystem::rootfs -{ - struct rootfs_filesystem : filesystem - { - auto mount(kstd::shared_ptr const & device) -> int override; - auto lookup(kstd::shared_ptr const & parent, std::string_view name) -> kstd::shared_ptr override; - }; -} // namespace kernel::filesystem::rootfs - -#endif diff --git a/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp b/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp deleted file mode 100644 index 26e7f88..0000000 --- a/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_ROOTFS_INODE_HPP -#define TEACH_OS_KERNEL_FILESYSTEM_ROOTFS_ROOTFS_INODE_HPP - -#include "kernel/filesystem/inode.hpp" - -#include -#include -#include - -#include -#include -#include - -namespace kernel::filesystem::rootfs -{ - struct rootfs_inode : inode - { - rootfs_inode(); - - auto read(void * buffer, size_t offset, size_t size) const -> size_t override; - auto write(void const * buffer, size_t offset, size_t size) -> size_t override; - - auto add_child(std::string_view name) -> void; - auto lookup_child(std::string_view name) -> kstd::shared_ptr; - - private: - kstd::vector>> m_children; - }; -} // namespace kernel::filesystem::rootfs - -#endif diff --git a/kernel/src/filesystem/rootfs/filesystem.cpp b/kernel/src/filesystem/rootfs/filesystem.cpp new file mode 100644 index 0000000..0133612 --- /dev/null +++ b/kernel/src/filesystem/rootfs/filesystem.cpp @@ -0,0 +1,29 @@ +#include "kernel/filesystem/rootfs/filesystem.hpp" + +#include "kernel/devices/device.hpp" +#include "kernel/filesystem/inode.hpp" +#include "kernel/filesystem/rootfs/inode.hpp" + +#include + +#include + +namespace kernel::filesystem::rootfs +{ + auto filesystem::mount(kstd::shared_ptr const &) -> int + { + auto rfs_inode = kstd::make_shared(); + rfs_inode->add_child("dev"); + m_root_inode = rfs_inode; + + return 0; + } + + auto filesystem::lookup(kstd::shared_ptr const & parent, std::string_view name) + -> kstd::shared_ptr + { + if (auto * rfs_inode = static_cast(parent.get())) + return rfs_inode->lookup_child(name); + return nullptr; + } +} // namespace kernel::filesystem::rootfs diff --git a/kernel/src/filesystem/rootfs/inode.cpp b/kernel/src/filesystem/rootfs/inode.cpp new file mode 100644 index 0000000..3ca9c02 --- /dev/null +++ b/kernel/src/filesystem/rootfs/inode.cpp @@ -0,0 +1,39 @@ +#include "kernel/filesystem/inode.hpp" + +#include "kernel/filesystem/rootfs/inode.hpp" + +#include +#include + +#include +#include +#include +#include + +namespace kernel::filesystem::rootfs +{ + inode::inode() + : kernel::filesystem::inode(inode_kind::directory) + {} + + auto inode::read(void * /*buffer*/, size_t /*offset*/, size_t /*size*/) const -> size_t + { + return 0; + } + + auto inode::write(void const * /*buffer*/, size_t /*offset*/, size_t /*size*/) -> size_t + { + return 0; + } + + auto inode::add_child(std::string_view name) -> void + { + m_children.push_back(std::make_pair(kstd::string{name}, kstd::make_shared())); + } + + auto inode::lookup_child(std::string_view name) -> kstd::shared_ptr + { + auto it = std::ranges::find_if(m_children, [&](auto const & pair) { return pair.first == name; }); + return (it != m_children.end()) ? it->second : nullptr; + } +} // namespace kernel::filesystem::rootfs diff --git a/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp b/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp deleted file mode 100644 index 804e211..0000000 --- a/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "kernel/filesystem/rootfs/rootfs_filesystem.hpp" - -#include "kernel/devices/device.hpp" -#include "kernel/filesystem/inode.hpp" -#include "kernel/filesystem/rootfs/rootfs_inode.hpp" - -#include - -#include - -namespace kernel::filesystem::rootfs -{ - auto rootfs_filesystem::mount(kstd::shared_ptr const &) -> int - { - auto rfs_inode = kstd::make_shared(); - rfs_inode->add_child("dev"); - m_root_inode = rfs_inode; - - return 0; - } - - auto rootfs_filesystem::lookup(kstd::shared_ptr const & parent, std::string_view name) - -> kstd::shared_ptr - { - if (auto * rfs_inode = static_cast(parent.get())) - return rfs_inode->lookup_child(name); - return nullptr; - } -} // namespace kernel::filesystem::rootfs diff --git a/kernel/src/filesystem/rootfs/rootfs_inode.cpp b/kernel/src/filesystem/rootfs/rootfs_inode.cpp deleted file mode 100644 index f44f06c..0000000 --- a/kernel/src/filesystem/rootfs/rootfs_inode.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "kernel/filesystem/rootfs/rootfs_inode.hpp" - -#include "kernel/filesystem/inode.hpp" - -#include -#include - -#include -#include -#include -#include - -namespace kernel::filesystem::rootfs -{ - rootfs_inode::rootfs_inode() - : inode(inode_kind::directory) - {} - - auto rootfs_inode::read(void * /*buffer*/, size_t /*offset*/, size_t /*size*/) const -> size_t - { - return 0; - } - - auto rootfs_inode::write(void const * /*buffer*/, size_t /*offset*/, size_t /*size*/) -> size_t - { - return 0; - } - - auto rootfs_inode::add_child(std::string_view name) -> void - { - m_children.push_back(std::make_pair(kstd::string{name}, kstd::make_shared())); - } - - auto rootfs_inode::lookup_child(std::string_view name) -> kstd::shared_ptr - { - auto it = std::ranges::find_if(m_children, [&](auto const & pair) { return pair.first == name; }); - return (it != m_children.end()) ? it->second : nullptr; - } -} // namespace kernel::filesystem::rootfs diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp index fdad36c..bee68e6 100644 --- a/kernel/src/filesystem/vfs.cpp +++ b/kernel/src/filesystem/vfs.cpp @@ -9,7 +9,7 @@ #include "kernel/filesystem/filesystem.hpp" #include "kernel/filesystem/mount.hpp" #include "kernel/filesystem/open_file_description.hpp" -#include "kernel/filesystem/rootfs/rootfs_filesystem.hpp" +#include "kernel/filesystem/rootfs/filesystem.hpp" #include @@ -37,7 +37,7 @@ namespace kernel::filesystem auto vfs::init_internal() -> void { - auto root_fs = kstd::make_shared(); + auto root_fs = kstd::make_shared(); root_fs->mount(nullptr); auto root_fs_root_dentry = kstd::make_shared(nullptr, root_fs->root_inode()); -- cgit v1.2.3