|
@@ -1805,13 +1805,13 @@ retry:
|
|
|
| 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 @@ repeat:
|
|
|
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);
|
|
|
}
|