md-cluster: add CHANGE_CAPACITY message type
authorGuoqing Jiang <gqjiang@suse.com>
Wed, 1 Mar 2017 08:42:38 +0000 (16:42 +0800)
committerShaohua Li <shli@fb.com>
Thu, 16 Mar 2017 23:55:49 +0000 (16:55 -0700)
The msg type CHANGE_CAPACITY is introduced to support
resize clustered raid in later patch, and it is sent
after all the nodes have the same sync_size, receiver
node just need to set new capacity once received this
msg.

Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/md-cluster.c

index 5cf0a9d29bf04c9846f02c11cb8ca3baee1839e0..8b7d55bf5aa288a0710428ea43ebd066178a00ec 100644 (file)
@@ -104,6 +104,7 @@ enum msg_type {
        REMOVE,
        RE_ADD,
        BITMAP_NEEDS_SYNC,
+       CHANGE_CAPACITY,
 };
 
 struct cluster_msg {
@@ -579,6 +580,10 @@ static int process_recvd_msg(struct mddev *mddev, struct cluster_msg *msg)
        case METADATA_UPDATED:
                process_metadata_update(mddev, msg);
                break;
+       case CHANGE_CAPACITY:
+               set_capacity(mddev->gendisk, mddev->array_sectors);
+               revalidate_disk(mddev->gendisk);
+               break;
        case RESYNCING:
                process_suspend_info(mddev, le32_to_cpu(msg->slot),
                                     le64_to_cpu(msg->low),