From 18f194ee1fda56b6d475be685c0ba4a290a058f0 Mon Sep 17 00:00:00 2001 From: Tao Ma Date: Wed, 26 Sep 2012 00:08:57 -0400 Subject: [PATCH] --- yaml --- r: 331596 b: refs/heads/master c: 0acdb8876fead922c9ffa6768c5675a37485c48c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ext4/resize.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7eaa8d02425f..9d5c555bd72d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7f1468d1d50d368097ab13596dc08eaba7eace7f +refs/heads/master: 0acdb8876fead922c9ffa6768c5675a37485c48c diff --git a/trunk/fs/ext4/resize.c b/trunk/fs/ext4/resize.c index f21fdbf5c75d..7a75e1086961 100644 --- a/trunk/fs/ext4/resize.c +++ b/trunk/fs/ext4/resize.c @@ -1460,6 +1460,7 @@ static int ext4_flex_group_add(struct super_block *sb, 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 @@ static int ext4_flex_group_add(struct super_block *sb, 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: