aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2011-08-30 02:20:17 -0400
committerNeilBrown <neilb@suse.de>2011-08-30 02:20:17 -0400
commit7da64a0abc3b2c6cbd3521672e9bb74dd560bb89 (patch)
tree1b17033fe40a2b29c7e4d6a2f200f54f39514a4d
parent1b6afa17581027218088a18a9ceda600e0ddba7a (diff)
md: fix clearing of 'blocked' flag in the presence of bad blocks.
When the 'blocked' flag on a device is cleared while there are unacknowledged bad blocks we must fail the device. This is needed for backwards compatability of the interface. The code currently uses the wrong test for "unacknowledged bad blocks exist". Change it to the right test. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--drivers/md/md.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index aca61171126..3742ce8b0ac 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2592,7 +2592,7 @@ state_store(mdk_rdev_t *rdev, const char *buf, size_t len)
2592 err = 0; 2592 err = 0;
2593 } else if (cmd_match(buf, "-blocked")) { 2593 } else if (cmd_match(buf, "-blocked")) {
2594 if (!test_bit(Faulty, &rdev->flags) && 2594 if (!test_bit(Faulty, &rdev->flags) &&
2595 test_bit(BlockedBadBlocks, &rdev->flags)) { 2595 rdev->badblocks.unacked_exist) {
2596 /* metadata handler doesn't understand badblocks, 2596 /* metadata handler doesn't understand badblocks,
2597 * so we need to fail the device 2597 * so we need to fail the device
2598 */ 2598 */