---
iprutils/iprconfig.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
Index: b/iprutils/iprconfig.c
===================================================================
--- a/iprutils/iprconfig.c 2014-01-31 17:18:38.000000000 -0600
+++ b/iprutils/iprconfig.c 2014-01-31 17:22:35.847766342 -0600
@@ -3847,6 +3847,8 @@ int confirm_raid_start(i_container *i_co
rc = ipr_start_array_protection(ioa,
cur_raid_cmd->stripe_size,
cur_raid_cmd->prot_level);
+ if (rc)
+ return RC_19_Create_Fail;
}
rc = raid_start_complete();
@@ -13297,7 +13299,7 @@ static int format_for_raid(char **args,
static int raid_create(char **args, int num_args)
{
int i, num_devs = 0, rc;
- int hdd_count = 0, ssd_count = 0, non_4k_count = 0, is_4k_count = 0;
+ int non_4k_count = 0, is_4k_count = 0;
int next_raid_level, next_stripe_size, next_qdepth;
char *raid_level = IPR_DEFAULT_RAID_LVL;
int stripe_size, qdepth, zeroed_devs;
@@ -13355,22 +13357,12 @@ static int raid_create(char **args, int
return -EINVAL;
}
- if (dev->block_dev_class & IPR_SSD)
- ssd_count++;
- else
- hdd_count++;
-
if (dev->block_dev_class & IPR_BLK_DEV_CLASS_4K)
is_4k_count++;
else
non_4k_count++;
}
- if (hdd_count > 0 && ssd_count > 0) {
- syslog(LOG_ERR, _("SSDs and HDDs can not be mixed in an array.\n"));
- return -EINVAL;
- }
-
if (is_4k_count > 0 && non_4k_count > 0) {
syslog(LOG_ERR, _("4K disks and 5XX disks can not be mixed in an array.\n"));
return -EINVAL;