mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-24 02:09:28 +00:00
Ext2FS: Don't reload already-cached block list when freeing inode
If we already have a cached copy of the inode's block list, we can use that to free the blocks. No need to reload the list.
This commit is contained in:
@@ -543,8 +543,10 @@ void Ext2FS::free_inode(Ext2FSInode& inode)
|
||||
dbgln_if(EXT2_DEBUG, "Ext2FS: Inode {} has no more links, time to delete!", inode.index());
|
||||
|
||||
// Mark all blocks used by this inode as free.
|
||||
auto block_list = block_list_for_inode(inode.m_raw_inode, true);
|
||||
for (auto block_index : block_list) {
|
||||
if (inode.m_block_list.is_empty())
|
||||
inode.m_block_list = block_list_for_inode(inode.m_raw_inode, true);
|
||||
|
||||
for (auto block_index : inode.m_block_list) {
|
||||
VERIFY(block_index <= super_block().s_blocks_count);
|
||||
if (block_index.value()) {
|
||||
auto result = set_block_allocation_state(block_index, false);
|
||||
|
||||
Reference in New Issue
Block a user