mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 15:41:36 +00:00
ext4: avoid duplicate writes of the backup bg descriptor blocks
The resize code was needlessly writing the backup block group descriptor blocks multiple times (once per block group) during an online resize. Signed-off-by: Yongqiang Yang <xiaoqiangnk@gmail.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: stable@vger.kernel.org
This commit is contained in:
parent
6df935ad2f
commit
2ebd1704de
@ -1358,13 +1358,15 @@ exit_journal:
|
||||
err = err2;
|
||||
|
||||
if (!err) {
|
||||
int i;
|
||||
int gdb_num = group / EXT4_DESC_PER_BLOCK(sb);
|
||||
int gdb_num_end = ((group + flex_gd->count - 1) /
|
||||
EXT4_DESC_PER_BLOCK(sb));
|
||||
|
||||
update_backups(sb, sbi->s_sbh->b_blocknr, (char *)es,
|
||||
sizeof(struct ext4_super_block));
|
||||
for (i = 0; i < flex_gd->count; i++, group++) {
|
||||
for (; gdb_num <= gdb_num_end; gdb_num++) {
|
||||
struct buffer_head *gdb_bh;
|
||||
int gdb_num;
|
||||
gdb_num = group / EXT4_BLOCKS_PER_GROUP(sb);
|
||||
|
||||
gdb_bh = sbi->s_group_desc[gdb_num];
|
||||
update_backups(sb, gdb_bh->b_blocknr, gdb_bh->b_data,
|
||||
gdb_bh->b_size);
|
||||
|
Loading…
Reference in New Issue
Block a user