diff options
Diffstat (limited to 'kernel/src/filesystem')
| -rw-r--r-- | kernel/src/filesystem/rootfs/filesystem.cpp | 29 | ||||
| -rw-r--r-- | kernel/src/filesystem/rootfs/inode.cpp (renamed from kernel/src/filesystem/rootfs/rootfs_inode.cpp) | 18 | ||||
| -rw-r--r-- | kernel/src/filesystem/rootfs/rootfs_filesystem.cpp | 29 | ||||
| -rw-r--r-- | kernel/src/filesystem/vfs.cpp | 4 |
4 files changed, 40 insertions, 40 deletions
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 <kstd/memory> + +#include <string_view> + +namespace kernel::filesystem::rootfs +{ + auto filesystem::mount(kstd::shared_ptr<devices::device> const &) -> int + { + auto rfs_inode = kstd::make_shared<inode>(); + rfs_inode->add_child("dev"); + m_root_inode = rfs_inode; + + return 0; + } + + auto filesystem::lookup(kstd::shared_ptr<kernel::filesystem::inode> const & parent, std::string_view name) + -> kstd::shared_ptr<kernel::filesystem::inode> + { + if (auto * rfs_inode = static_cast<inode *>(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/inode.cpp index f44f06c..3ca9c02 100644 --- a/kernel/src/filesystem/rootfs/rootfs_inode.cpp +++ b/kernel/src/filesystem/rootfs/inode.cpp @@ -1,7 +1,7 @@ -#include "kernel/filesystem/rootfs/rootfs_inode.hpp" - #include "kernel/filesystem/inode.hpp" +#include "kernel/filesystem/rootfs/inode.hpp" + #include <kstd/memory> #include <kstd/string> @@ -12,26 +12,26 @@ namespace kernel::filesystem::rootfs { - rootfs_inode::rootfs_inode() - : inode(inode_kind::directory) + inode::inode() + : kernel::filesystem::inode(inode_kind::directory) {} - auto rootfs_inode::read(void * /*buffer*/, size_t /*offset*/, size_t /*size*/) const -> size_t + auto 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 + auto 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 + auto inode::add_child(std::string_view name) -> void { - m_children.push_back(std::make_pair(kstd::string{name}, kstd::make_shared<rootfs_inode>())); + m_children.push_back(std::make_pair(kstd::string{name}, kstd::make_shared<inode>())); } - auto rootfs_inode::lookup_child(std::string_view name) -> kstd::shared_ptr<inode> + auto inode::lookup_child(std::string_view name) -> kstd::shared_ptr<inode> { auto it = std::ranges::find_if(m_children, [&](auto const & pair) { return pair.first == name; }); return (it != m_children.end()) ? it->second : nullptr; 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 <kstd/memory> - -#include <string_view> - -namespace kernel::filesystem::rootfs -{ - auto rootfs_filesystem::mount(kstd::shared_ptr<devices::device> const &) -> int - { - auto rfs_inode = kstd::make_shared<rootfs_inode>(); - rfs_inode->add_child("dev"); - m_root_inode = rfs_inode; - - return 0; - } - - auto rootfs_filesystem::lookup(kstd::shared_ptr<inode> const & parent, std::string_view name) - -> kstd::shared_ptr<inode> - { - if (auto * rfs_inode = static_cast<rootfs_inode *>(parent.get())) - return rfs_inode->lookup_child(name); - return 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 <kstd/memory> @@ -37,7 +37,7 @@ namespace kernel::filesystem auto vfs::init_internal() -> void { - auto root_fs = kstd::make_shared<rootfs::rootfs_filesystem>(); + auto root_fs = kstd::make_shared<rootfs::filesystem>(); root_fs->mount(nullptr); auto root_fs_root_dentry = kstd::make_shared<dentry>(nullptr, root_fs->root_inode()); |
