From 108263314af7198c2751c0db098f613e4718751a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 18 Aug 2020 17:42:21 +0200 Subject: [PATCH] TmpFS: Stop using FS::DirectoryEntry in TmpFSInode The list of children can just be a bunch of { name, inode }. --- Kernel/FileSystem/TmpFS.cpp | 11 ++++------- Kernel/FileSystem/TmpFS.h | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) 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;