When query-raid-levels-migrate is issued to a secondary (Non-optimized)
device on a dual adapter configuration, we send a Query Array
configuration with the Array Migrate Query option, which ends up
retrieving every RAID level supported by the adapter instead of only
returning the possible migration level candidates.

This patch blocks query-raid-levels-migrate for RAIDS that aren't ready
for migration, which avoids displaying impossible level candidates for
secondary devices and better complies with the behavior of the ncurses
interface.

Signed-off-by: Gabriel Krisman Bertazi <kris...@linux.vnet.ibm.com>
---
 iprconfig.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/iprconfig.c b/iprconfig.c
index 3189af0..8d97065 100644
--- a/iprconfig.c
+++ b/iprconfig.c
@@ -16672,6 +16672,11 @@ static int query_raid_levels_raid_migrate(char **args, 
int num_args)
                return -EINVAL;
        }
 
+       if (!dev->array_rcd->migrate_cand) {
+               scsi_err(dev, "%s is not a candidate for array migration.\n");
+               return -EINVAL;
+       }
+
        /* query array config for volume set migrate status */
        rc = ipr_query_array_config(dev->ioa, 0, 0, 1, dev->array_id, 
&qac_data);
        if (rc)
-- 
2.1.0


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Iprdd-devel mailing list
Iprdd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iprdd-devel

Reply via email to