Quellcode durchsuchen

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.
Andreas Kling vor 4 Jahren
Ursprung
Commit
eeffd5be07
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      Kernel/FileSystem/Ext2FileSystem.cpp

+ 1 - 1
Kernel/FileSystem/Ext2FileSystem.cpp

@@ -1135,7 +1135,7 @@ Vector<Ext2FS::BlockIndex> Ext2FS::allocate_blocks(GroupIndex preferred_group_in
         } else {
         } else {
             if (group_index == preferred_group_index)
             if (group_index == preferred_group_index)
                 group_index = 1;
                 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) {
                 if (group_descriptor(group_index).bg_free_blocks_count) {
                     found_a_group = true;
                     found_a_group = true;
                     break;
                     break;