diff --git a/Kernel/FileSystem/TmpFS.cpp b/Kernel/FileSystem/TmpFS.cpp index 0b43302315..04ac98d33d 100644 --- a/Kernel/FileSystem/TmpFS.cpp +++ b/Kernel/FileSystem/TmpFS.cpp @@ -135,8 +135,8 @@ KResult TmpFSInode::traverse_as_directory(Functionidentifier(), 0 }); } return KSuccess; } @@ -218,7 +218,7 @@ RefPtr TmpFSInode::lookup(StringView name) auto it = m_children.find(name); if (it == m_children.end()) return {}; - return it->value.inode; + return fs().get_inode(it->value.inode->identifier()); } KResultOr TmpFSInode::directory_entry_count() const @@ -295,10 +295,7 @@ KResult TmpFSInode::add_child(Inode& child, const StringView& name, mode_t) ASSERT(is_directory()); ASSERT(child.fsid() == fsid()); - String owned_name = name; - FS::DirectoryEntry entry = { owned_name.characters(), owned_name.length(), child.identifier(), 0 }; - - m_children.set(owned_name, { entry, static_cast(child) }); + m_children.set(name, { name, static_cast(child) }); did_add_child(name); return KSuccess; } diff --git a/Kernel/FileSystem/TmpFS.h b/Kernel/FileSystem/TmpFS.h index cb126ae591..bb77e6b946 100644 --- a/Kernel/FileSystem/TmpFS.h +++ b/Kernel/FileSystem/TmpFS.h @@ -104,7 +104,7 @@ private: Optional m_content; struct Child { - FS::DirectoryEntry entry; + String name; NonnullRefPtr inode; }; HashMap m_children;