From 74491c777517b3b0a45bc87c4d32d28ffc662ae4 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 19 Mar 2012 12:46:41 +1100 Subject: [PATCH] --- yaml --- r: 292805 b: refs/heads/master c: d0962936bff659d20522555b517582a2715fd23f h: refs/heads/master i: 292803: 66ec8a49bf8874ede86cd38e6bedd3cdfe69d19f v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3e43d88aef72..8b73871fe179 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 61a0d80ce4ab5b4fb9ecb38f1fb19654778b71ed +refs/heads/master: d0962936bff659d20522555b517582a2715fd23f diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 26591cc8ee87..21a90efb13b7 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -1805,13 +1805,13 @@ static void super_1_sync(struct mddev *mddev, struct md_rdev *rdev) | BB_LEN(internal_bb)); *bbp++ = cpu_to_le64(store_bb); } + bb->changed = 0; if (read_seqretry(&bb->lock, seq)) goto retry; bb->sector = (rdev->sb_start + (int)le32_to_cpu(sb->bblog_offset)); bb->size = le16_to_cpu(sb->bblog_size); - bb->changed = 0; } } @@ -2366,6 +2366,7 @@ static void md_update_sb(struct mddev * mddev, int force_change) clear_bit(MD_CHANGE_PENDING, &mddev->flags); rdev_for_each(rdev, mddev) { if (rdev->badblocks.changed) { + rdev->badblocks.changed = 0; md_ack_all_badblocks(&rdev->badblocks); md_error(mddev, rdev); }