diff options
author | Liav A <liavalb@gmail.com> | 2022-08-06 18:07:03 +0300 |
---|---|---|
committer | Idan Horowitz <idan.horowitz@gmail.com> | 2022-09-16 14:55:45 +0300 |
commit | 843bd43c5be5b5d1b8bff8aa2a81b99ed232bc57 (patch) | |
tree | 5d687afeccd422ca56877a450501571e5e455f2c /Kernel/FileSystem | |
parent | b04de3090f25506c00a1f159dc5d9b211dc839fe (diff) | |
download | serenity-843bd43c5be5b5d1b8bff8aa2a81b99ed232bc57.zip |
Kernel/FileSystem: Mark ext2 inode lookup cache non-const
For the lookup cache, no method being declared const tried to modify it,
so it was easy to drop the mutable declaration on the HashMap member.
Diffstat (limited to 'Kernel/FileSystem')
-rw-r--r-- | Kernel/FileSystem/Ext2FileSystem.cpp | 6 | ||||
-rw-r--r-- | Kernel/FileSystem/Ext2FileSystem.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/Kernel/FileSystem/Ext2FileSystem.cpp b/Kernel/FileSystem/Ext2FileSystem.cpp index b2f90f85ac..48aa3b4cdd 100644 --- a/Kernel/FileSystem/Ext2FileSystem.cpp +++ b/Kernel/FileSystem/Ext2FileSystem.cpp @@ -1499,9 +1499,9 @@ ErrorOr<NonnullLockRefPtr<Inode>> Ext2FS::create_inode(Ext2FSInode& parent_inode return new_inode; } -ErrorOr<void> Ext2FSInode::populate_lookup_cache() const +ErrorOr<void> Ext2FSInode::populate_lookup_cache() { - MutexLocker locker(m_inode_lock); + VERIFY(m_inode_lock.is_exclusively_locked_by_current_thread()); if (!m_lookup_cache.is_empty()) return {}; HashMap<NonnullOwnPtr<KString>, InodeIndex> children; @@ -1521,11 +1521,11 @@ ErrorOr<NonnullLockRefPtr<Inode>> Ext2FSInode::lookup(StringView name) { VERIFY(is_directory()); dbgln_if(EXT2_DEBUG, "Ext2FSInode[{}]:lookup(): Looking up '{}'", identifier(), name); - TRY(populate_lookup_cache()); InodeIndex inode_index; { MutexLocker locker(m_inode_lock); + TRY(populate_lookup_cache()); auto it = m_lookup_cache.find(name); if (it == m_lookup_cache.end()) { dbgln_if(EXT2_DEBUG, "Ext2FSInode[{}]:lookup(): '{}' not found", identifier(), name); diff --git a/Kernel/FileSystem/Ext2FileSystem.h b/Kernel/FileSystem/Ext2FileSystem.h index e9b7de9fbd..8441fc70a3 100644 --- a/Kernel/FileSystem/Ext2FileSystem.h +++ b/Kernel/FileSystem/Ext2FileSystem.h @@ -53,7 +53,7 @@ private: virtual ErrorOr<int> get_block_address(int) override; ErrorOr<void> write_directory(Vector<Ext2FSDirectoryEntry>&); - ErrorOr<void> populate_lookup_cache() const; + ErrorOr<void> populate_lookup_cache(); ErrorOr<void> resize(u64); ErrorOr<void> write_indirect_block(BlockBasedFileSystem::BlockIndex, Span<BlockBasedFileSystem::BlockIndex>); ErrorOr<void> grow_doubly_indirect_block(BlockBasedFileSystem::BlockIndex, size_t, Span<BlockBasedFileSystem::BlockIndex>, Vector<BlockBasedFileSystem::BlockIndex>&, unsigned&); @@ -71,7 +71,7 @@ private: Ext2FSInode(Ext2FS&, InodeIndex); mutable Vector<BlockBasedFileSystem::BlockIndex> m_block_list; - mutable HashMap<NonnullOwnPtr<KString>, InodeIndex> m_lookup_cache; + HashMap<NonnullOwnPtr<KString>, InodeIndex> m_lookup_cache; ext2_inode m_raw_inode {}; }; |