Commit faeff83f authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Goldwyn Rodrigues

md-cluster: make other members of cluster_msg is handled by little endian funcs

Signed-off-by: default avatarGuoqing Jiang <gqjiang@suse.com>
parent d216711b
...@@ -418,7 +418,7 @@ static void process_add_new_disk(struct mddev *mddev, struct cluster_msg *cmsg) ...@@ -418,7 +418,7 @@ static void process_add_new_disk(struct mddev *mddev, struct cluster_msg *cmsg)
len = snprintf(disk_uuid, 64, "DEVICE_UUID="); len = snprintf(disk_uuid, 64, "DEVICE_UUID=");
sprintf(disk_uuid + len, "%pU", cmsg->uuid); sprintf(disk_uuid + len, "%pU", cmsg->uuid);
snprintf(raid_slot, 16, "RAID_DISK=%d", cmsg->raid_slot); snprintf(raid_slot, 16, "RAID_DISK=%d", le32_to_cpu(cmsg->raid_slot));
pr_info("%s:%d Sending kobject change with %s and %s\n", __func__, __LINE__, disk_uuid, raid_slot); pr_info("%s:%d Sending kobject change with %s and %s\n", __func__, __LINE__, disk_uuid, raid_slot);
init_completion(&cinfo->newdisk_completion); init_completion(&cinfo->newdisk_completion);
set_bit(MD_CLUSTER_WAITING_FOR_NEWDISK, &cinfo->state); set_bit(MD_CLUSTER_WAITING_FOR_NEWDISK, &cinfo->state);
...@@ -438,22 +438,26 @@ static void process_metadata_update(struct mddev *mddev, struct cluster_msg *msg ...@@ -438,22 +438,26 @@ static void process_metadata_update(struct mddev *mddev, struct cluster_msg *msg
static void process_remove_disk(struct mddev *mddev, struct cluster_msg *msg) static void process_remove_disk(struct mddev *mddev, struct cluster_msg *msg)
{ {
struct md_rdev *rdev = md_find_rdev_nr_rcu(mddev, msg->raid_slot); struct md_rdev *rdev = md_find_rdev_nr_rcu(mddev,
le32_to_cpu(msg->raid_slot));
if (rdev) if (rdev)
md_kick_rdev_from_array(rdev); md_kick_rdev_from_array(rdev);
else else
pr_warn("%s: %d Could not find disk(%d) to REMOVE\n", __func__, __LINE__, msg->raid_slot); pr_warn("%s: %d Could not find disk(%d) to REMOVE\n",
__func__, __LINE__, le32_to_cpu(msg->raid_slot));
} }
static void process_readd_disk(struct mddev *mddev, struct cluster_msg *msg) static void process_readd_disk(struct mddev *mddev, struct cluster_msg *msg)
{ {
struct md_rdev *rdev = md_find_rdev_nr_rcu(mddev, msg->raid_slot); struct md_rdev *rdev = md_find_rdev_nr_rcu(mddev,
le32_to_cpu(msg->raid_slot));
if (rdev && test_bit(Faulty, &rdev->flags)) if (rdev && test_bit(Faulty, &rdev->flags))
clear_bit(Faulty, &rdev->flags); clear_bit(Faulty, &rdev->flags);
else else
pr_warn("%s: %d Could not find disk(%d) which is faulty", __func__, __LINE__, msg->raid_slot); pr_warn("%s: %d Could not find disk(%d) which is faulty",
__func__, __LINE__, le32_to_cpu(msg->raid_slot));
} }
static void process_recvd_msg(struct mddev *mddev, struct cluster_msg *msg) static void process_recvd_msg(struct mddev *mddev, struct cluster_msg *msg)
...@@ -936,7 +940,7 @@ static int add_new_disk(struct mddev *mddev, struct md_rdev *rdev) ...@@ -936,7 +940,7 @@ static int add_new_disk(struct mddev *mddev, struct md_rdev *rdev)
memset(&cmsg, 0, sizeof(cmsg)); memset(&cmsg, 0, sizeof(cmsg));
cmsg.type = cpu_to_le32(NEWDISK); cmsg.type = cpu_to_le32(NEWDISK);
memcpy(cmsg.uuid, uuid, 16); memcpy(cmsg.uuid, uuid, 16);
cmsg.raid_slot = rdev->desc_nr; cmsg.raid_slot = cpu_to_le32(rdev->desc_nr);
lock_comm(cinfo); lock_comm(cinfo);
ret = __sendmsg(cinfo, &cmsg); ret = __sendmsg(cinfo, &cmsg);
if (ret) if (ret)
...@@ -979,8 +983,8 @@ static int remove_disk(struct mddev *mddev, struct md_rdev *rdev) ...@@ -979,8 +983,8 @@ static int remove_disk(struct mddev *mddev, struct md_rdev *rdev)
{ {
struct cluster_msg cmsg; struct cluster_msg cmsg;
struct md_cluster_info *cinfo = mddev->cluster_info; struct md_cluster_info *cinfo = mddev->cluster_info;
cmsg.type = REMOVE; cmsg.type = cpu_to_le32(REMOVE);
cmsg.raid_slot = rdev->desc_nr; cmsg.raid_slot = cpu_to_le32(rdev->desc_nr);
return __sendmsg(cinfo, &cmsg); return __sendmsg(cinfo, &cmsg);
} }
...@@ -992,8 +996,8 @@ static int gather_bitmaps(struct md_rdev *rdev) ...@@ -992,8 +996,8 @@ static int gather_bitmaps(struct md_rdev *rdev)
struct mddev *mddev = rdev->mddev; struct mddev *mddev = rdev->mddev;
struct md_cluster_info *cinfo = mddev->cluster_info; struct md_cluster_info *cinfo = mddev->cluster_info;
cmsg.type = RE_ADD; cmsg.type = cpu_to_le32(RE_ADD);
cmsg.raid_slot = rdev->desc_nr; cmsg.raid_slot = cpu_to_le32(rdev->desc_nr);
err = sendmsg(cinfo, &cmsg); err = sendmsg(cinfo, &cmsg);
if (err) if (err)
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment