|
@@ -3879,6 +3879,12 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
|
|
|
bgl_lock_init(sbi->s_blockgroup_lock);
|
|
|
|
|
|
+ /* Pre-read the descriptors into the buffer cache */
|
|
|
+ for (i = 0; i < db_count; i++) {
|
|
|
+ block = descriptor_loc(sb, logical_sb_block, i);
|
|
|
+ sb_breadahead(sb, block);
|
|
|
+ }
|
|
|
+
|
|
|
for (i = 0; i < db_count; i++) {
|
|
|
block = descriptor_loc(sb, logical_sb_block, i);
|
|
|
sbi->s_group_desc[i] = sb_bread_unmovable(sb, block);
|