]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ext4/ialloc.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo...
[karo-tx-linux.git] / fs / ext4 / ialloc.c
index 26154b81b83679aaf711f52477f2d048d6078d5a..fa36372f3fdf827ed2557a3ecf5ccceab9e2cfe1 100644 (file)
@@ -697,6 +697,15 @@ got_group:
                if (!gdp)
                        goto fail;
 
+               /*
+                * Check free inodes count before loading bitmap.
+                */
+               if (ext4_free_inodes_count(sb, gdp) == 0) {
+                       if (++group == ngroups)
+                               group = 0;
+                       continue;
+               }
+
                brelse(inode_bitmap_bh);
                inode_bitmap_bh = ext4_read_inode_bitmap(sb, group);
                if (!inode_bitmap_bh)