diff options
Diffstat (limited to 'fs/ext4/resize.c')
| -rw-r--r-- | fs/ext4/resize.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index f21fdbf5c75..7a75e108696 100644 --- a/fs/ext4/resize.c +++ b/fs/ext4/resize.c @@ -1460,6 +1460,7 @@ exit_journal:  				   EXT4_DESC_PER_BLOCK(sb));  		int meta_bg = EXT4_HAS_INCOMPAT_FEATURE(sb,  				EXT4_FEATURE_INCOMPAT_META_BG); +		sector_t old_gdb = 0;  		update_backups(sb, sbi->s_sbh->b_blocknr, (char *)es,  			       sizeof(struct ext4_super_block), 0); @@ -1467,8 +1468,11 @@ exit_journal:  			struct buffer_head *gdb_bh;  			gdb_bh = sbi->s_group_desc[gdb_num]; +			if (old_gdb == gdb_bh->b_blocknr) +				continue;  			update_backups(sb, gdb_bh->b_blocknr, gdb_bh->b_data,  				       gdb_bh->b_size, meta_bg); +			old_gdb = gdb_bh->b_blocknr;  		}  	}  exit:  |