It's still a behaviour change..

On Thu, Jan 12, 2017 at 11:22:16PM -0500, Christos Zoulas wrote:
> +static void
> +rf_handle_hosed(RF_Raid_t *raidPtr, RF_Config_t *cfgPtr, int hosed_column)
> +{
> +     if (raidPtr->Disks[hosed_column].status == rf_ds_failed)
> +             return;

equivalent to
if (raidPtr->Disks[hosed_column].status != rf_ds_failed) { do stuff }
in the second check, but this is first one:

>  
> -                     printf("Hosed component: %s\n",
> -                            &cfgPtr->devnames[0][hosed_column][0]);
> -                     if (!force) {
> -                             /* we'll fail this component, as if there are
> -                                other major errors, we arn't forcing things
> -                                and we'll abort the config anyways */
> -                             raidPtr->Disks[hosed_column].status
> -                                     = rf_ds_failed;
> -                             raidPtr->numFailures++;
> -                             raidPtr->status = rf_rs_degraded;
> -                     }
> +                     if (hosed_column != -1)
> +                             rf_handle_hosed(raidPtr, cfgPtr, hosed_column);
> 

It always increments numfailures, even if this column has
failed in the distant past.

Reply via email to