DM RAID: Use md_error() in place of simply setting Faulty bit
authorJonathan Brassow <jbrassow@redhat.com>
Tue, 22 May 2012 03:55:31 +0000 (13:55 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 22 May 2012 03:55:31 +0000 (13:55 +1000)
When encountering an error while reading the superblock, call md_error.

We are currently setting the 'Faulty' bit on one of the array devices when an
error is encountered while reading the superblock of a dm-raid array.  We should
be calling md_error(), as it handles the error more completely.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/dm-raid.c

index f1797c4..017c34d 100644 (file)
@@ -603,7 +603,7 @@ static int read_disk_sb(struct md_rdev *rdev, int size)
        if (!sync_page_io(rdev, 0, size, rdev->sb_page, READ, 1)) {
                DMERR("Failed to read superblock of device at position %d",
                      rdev->raid_disk);
-               set_bit(Faulty, &rdev->flags);
+               md_error(rdev->mddev, rdev);
                return -EINVAL;
        }