static void process_recvd_msg(struct mddev *mddev, struct cluster_msg *msg) { switch (msg->type) { case METADATA_UPDATED: pr_info("%s: %d Received message: METADATA_UPDATE from %d\n", __func__, __LINE__, msg->slot); process_metadata_update(mddev, msg); break; case RESYNCING: pr_info("%s: %d Received message: RESYNCING from %d\n", __func__, __LINE__, msg->slot); process_suspend_info(mddev->cluster_info, msg->slot, msg->low, msg->high); break; case NEWDISK: pr_info("%s: %d Received message: NEWDISK from %d\n", __func__, __LINE__, msg->slot); process_add_new_disk(mddev, msg); break; case REMOVE: pr_info("%s: %d Received REMOVE from %d\n", __func__, __LINE__, msg->slot); process_remove_disk(mddev, msg); break; case RE_ADD: pr_info("%s: %d Received RE_ADD from %d\n", __func__, __LINE__, msg->slot); process_readd_disk(mddev, msg); break; default: pr_warn("%s:%d Received unknown message from %d\n", __func__, __LINE__, msg->slot); } }
static void process_recvd_msg(struct mddev *mddev, struct cluster_msg *msg) { if (WARN(mddev->cluster_info->slot_number - 1 == le32_to_cpu(msg->slot), "node %d received it's own msg\n", le32_to_cpu(msg->slot))) return; switch (le32_to_cpu(msg->type)) { case METADATA_UPDATED: process_metadata_update(mddev, msg); break; case RESYNCING: process_suspend_info(mddev, le32_to_cpu(msg->slot), le64_to_cpu(msg->low), le64_to_cpu(msg->high)); break; case NEWDISK: process_add_new_disk(mddev, msg); break; case REMOVE: process_remove_disk(mddev, msg); break; case RE_ADD: process_readd_disk(mddev, msg); break; case BITMAP_NEEDS_SYNC: __recover_slot(mddev, le32_to_cpu(msg->slot)); break; default: pr_warn("%s:%d Received unknown message from %d\n", __func__, __LINE__, msg->slot); } }