|
@@ -197,9 +197,6 @@ static void fail_mirror(struct mirror *m, enum dm_raid1_error error_type)
|
|
struct mirror_set *ms = m->ms;
|
|
struct mirror_set *ms = m->ms;
|
|
struct mirror *new;
|
|
struct mirror *new;
|
|
|
|
|
|
- if (!errors_handled(ms))
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* error_count is used for nothing more than a
|
|
* error_count is used for nothing more than a
|
|
* simple way to tell if a device has encountered
|
|
* simple way to tell if a device has encountered
|
|
@@ -210,6 +207,9 @@ static void fail_mirror(struct mirror *m, enum dm_raid1_error error_type)
|
|
if (test_and_set_bit(error_type, &m->error_type))
|
|
if (test_and_set_bit(error_type, &m->error_type))
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
+ if (!errors_handled(ms))
|
|
|
|
+ return;
|
|
|
|
+
|
|
if (m != get_default_mirror(ms))
|
|
if (m != get_default_mirror(ms))
|
|
goto out;
|
|
goto out;
|
|
|
|
|