aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-26 20:27:23 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-26 21:19:34 +0100
commite97b668f82ad1a51e1e9352073a3ae51cedfdd34 (patch)
tree3f298a7ee717440eb9c0fce7bb3e6ce616d30177 /kernel/src/filesystem/rootfs/rootfs_filesystem.cpp
parent31ac3e6ffff00b7ac3b3dbb3db38c44409251b34 (diff)
downloadteachos-e97b668f82ad1a51e1e9352073a3ae51cedfdd34.tar.xz
teachos-e97b668f82ad1a51e1e9352073a3ae51cedfdd34.zip
mount /dev in the rootfs
Diffstat (limited to 'kernel/src/filesystem/rootfs/rootfs_filesystem.cpp')
-rw-r--r--kernel/src/filesystem/rootfs/rootfs_filesystem.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp b/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp
index 22b1962..e819fc7 100644
--- a/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp
+++ b/kernel/src/filesystem/rootfs/rootfs_filesystem.cpp
@@ -12,13 +12,18 @@ namespace filesystem::rootfs
{
auto rootfs_filesystem::mount(kstd::shared_ptr<devices::device> const & /*device*/) -> int
{
- m_root_inode = kstd::make_shared<rootfs_inode>();
+ 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*/)
+ 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 filesystem::rootfs