From aba0efca111e6e3f143eaa859a557e3ed5942e64 Mon Sep 17 00:00:00 2001 From: Brian King Date: Wed, 19 Apr 2017 10:48:02 -0500 Subject: [PATCH] iprutils: Display RAID migration status When performing a RAID array level migration operation, display this as a unique status rather than simply reporting Degraded. Adds a new status of Migrating and XX% Migrated. Signed-off-by: Brian King --- iprconfig.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/iprconfig.c b/iprconfig.c index d6a06d0..11233cf 100644 --- a/iprconfig.c +++ b/iprconfig.c @@ -12908,6 +12908,7 @@ static void get_status(struct ipr_dev *dev, char *buf, int percent, int path_sta int percent_cmplt = 0; int format_in_progress = 0; int resync_in_progress = 0; + int migrate_in_progress = 0; int initialization_in_progress = 0; struct ipr_res_redundancy_info info; @@ -12936,6 +12937,8 @@ static void get_status(struct ipr_dev *dev, char *buf, int percent, int path_sta resync_in_progress = 1; if (status_record->command_code == IPR_START_ARRAY_PROTECTION) initialization_in_progress = 1; + if (status_record->command_code == IPR_MIGRATE_ARRAY_PROTECTION) + migrate_in_progress = 1; percent_cmplt = status_record->percent_complete; } } @@ -13063,6 +13066,11 @@ static void get_status(struct ipr_dev *dev, char *buf, int percent, int path_sta sprintf(buf, "Initializing"); else sprintf(buf, "%d%% Initializing", percent_cmplt); + } else if (migrate_in_progress) { + if ((!percent || (percent_cmplt == 0))) + sprintf(buf, "Migrating"); + else + sprintf(buf, "%d%% Migrated", percent_cmplt); } else if (res_state.prot_suspended) sprintf(buf, "Degraded"); else if (res_state.degraded_oper || res_state.service_req)