aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/md-cluster.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c
index 35ac2e8cb7f1..aad5e7cda523 100644
--- a/drivers/md/md-cluster.c
+++ b/drivers/md/md-cluster.c
@@ -847,20 +847,21 @@ static int metadata_update_finish(struct mddev *mddev)
847 struct cluster_msg cmsg; 847 struct cluster_msg cmsg;
848 struct md_rdev *rdev; 848 struct md_rdev *rdev;
849 int ret = 0; 849 int ret = 0;
850 int raid_slot = -1;
850 851
851 memset(&cmsg, 0, sizeof(cmsg)); 852 memset(&cmsg, 0, sizeof(cmsg));
852 cmsg.type = cpu_to_le32(METADATA_UPDATED); 853 cmsg.type = cpu_to_le32(METADATA_UPDATED);
853 cmsg.raid_slot = -1;
854 /* Pick up a good active device number to send. 854 /* Pick up a good active device number to send.
855 */ 855 */
856 rdev_for_each(rdev, mddev) 856 rdev_for_each(rdev, mddev)
857 if (rdev->raid_disk > -1 && !test_bit(Faulty, &rdev->flags)) { 857 if (rdev->raid_disk > -1 && !test_bit(Faulty, &rdev->flags)) {
858 cmsg.raid_slot = cpu_to_le32(rdev->desc_nr); 858 raid_slot = rdev->desc_nr;
859 break; 859 break;
860 } 860 }
861 if (cmsg.raid_slot >= 0) 861 if (raid_slot >= 0) {
862 cmsg.raid_slot = cpu_to_le32(raid_slot);
862 ret = __sendmsg(cinfo, &cmsg); 863 ret = __sendmsg(cinfo, &cmsg);
863 else 864 } else
864 pr_warn("md-cluster: No good device id found to send\n"); 865 pr_warn("md-cluster: No good device id found to send\n");
865 unlock_comm(cinfo); 866 unlock_comm(cinfo);
866 return ret; 867 return ret;