aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/dentry.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukas.oesch@ost.ch>2026-05-12 08:58:18 +0200
committerLukas Oesch <lukas.oesch@ost.ch>2026-05-12 08:58:18 +0200
commitfee33c0b2e2ab91a008bec16e143fba755b51974 (patch)
tree4a88dfc1c2fbab3ce7d670e4289bdaa5df77352d /kernel/src/filesystem/dentry.cpp
parent5853b580c74411ecf196d241449411e0d01f0532 (diff)
parentac5213633721fcf0e72da814d7ef70c51090c3f9 (diff)
downloadkernel-fee33c0b2e2ab91a008bec16e143fba755b51974.tar.xz
kernel-fee33c0b2e2ab91a008bec16e143fba755b51974.zip
Merge branch 'refactoring' into 'develop-BA-FS26'
Refactoring See merge request teachos/kernel!32
Diffstat (limited to 'kernel/src/filesystem/dentry.cpp')
-rw-r--r--kernel/src/filesystem/dentry.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/src/filesystem/dentry.cpp b/kernel/src/filesystem/dentry.cpp
index a77ce23..c21771b 100644
--- a/kernel/src/filesystem/dentry.cpp
+++ b/kernel/src/filesystem/dentry.cpp
@@ -66,6 +66,16 @@ namespace kernel::filesystem
return path;
}
+ auto dentry::find_mount_root_dentry() const -> kstd::shared_ptr<dentry>
+ {
+ auto parent = m_parent;
+ while (parent && !parent->has_flag(dentry_flags::is_mount_root))
+ {
+ parent = parent->get_parent();
+ }
+ return parent;
+ }
+
auto dentry::add_child(kstd::shared_ptr<dentry> const & child) -> void
{
m_children.push_back(child);