From eeffd5be07a0ece25e8ba799e41bd2b0f29d23f1 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 7 Oct 2020 13:42:17 +0200 Subject: [PATCH] Ext2FS: Fix block allocation ignoring the very last block group The block group indices are 1-based for some reason. Because of that, we were forgetting to check in the very last block group when doing block allocation. This caused block allocation to fail even when the superblock indicated that we had free blocks. Fixes #3674. --- Kernel/FileSystem/Ext2FileSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/FileSystem/Ext2FileSystem.cpp b/Kernel/FileSystem/Ext2FileSystem.cpp index a31abaef50..e85b302e02 100644 --- a/Kernel/FileSystem/Ext2FileSystem.cpp +++ b/Kernel/FileSystem/Ext2FileSystem.cpp @@ -1135,7 +1135,7 @@ Vector Ext2FS::allocate_blocks(GroupIndex preferred_group_in } else { if (group_index == preferred_group_index) group_index = 1; - for (; group_index < m_block_group_count; ++group_index) { + for (; group_index <= m_block_group_count; ++group_index) { if (group_descriptor(group_index).bg_free_blocks_count) { found_a_group = true; break;