* [PATCH] imsm: fix: correct adding and activation of spare disks
@ 2011-10-04 14:56 Lukasz Dorau
2011-10-05 3:19 ` NeilBrown
0 siblings, 1 reply; 2+ messages in thread
From: Lukasz Dorau @ 2011-10-04 14:56 UTC (permalink / raw)
To: neilb; +Cc: linux-raid, marcin.labun, ed.ciechanowski
During activation of spare disks, only one of all available
spare disks can be activated at this moment.
It causes that for example during take-over from
RAID0 with 2 disks to RAID10, only one of two spare disks
is taken for recovery and a degraded RAID10 array
with only 3 of 4 working disks is created.
It has been fixed by adding more than one of all available
spare disks and saving them in additional_test_list
which is passed to imsm_add_spare().
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
---
super-intel.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/super-intel.c b/super-intel.c
index 7de207a..3185e91 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -6672,9 +6672,9 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a,
*/
dl = imsm_readd(super, i, a);
if (!dl)
- dl = imsm_add_spare(super, i, a, 0, NULL);
+ dl = imsm_add_spare(super, i, a, 0, rv);
if (!dl)
- dl = imsm_add_spare(super, i, a, 1, NULL);
+ dl = imsm_add_spare(super, i, a, 1, rv);
if (!dl)
continue;
@@ -6711,8 +6711,6 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a,
num_spares++;
dprintf("%x:%x to be %d at %llu\n", dl->major, dl->minor,
i, di->data_offset);
-
- break;
}
if (!rv)
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] imsm: fix: correct adding and activation of spare disks
2011-10-04 14:56 [PATCH] imsm: fix: correct adding and activation of spare disks Lukasz Dorau
@ 2011-10-05 3:19 ` NeilBrown
0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2011-10-05 3:19 UTC (permalink / raw)
To: Lukasz Dorau; +Cc: linux-raid, marcin.labun, ed.ciechanowski
[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]
On Tue, 04 Oct 2011 16:56:54 +0200 Lukasz Dorau <lukasz.dorau@intel.com>
wrote:
> During activation of spare disks, only one of all available
> spare disks can be activated at this moment.
> It causes that for example during take-over from
> RAID0 with 2 disks to RAID10, only one of two spare disks
> is taken for recovery and a degraded RAID10 array
> with only 3 of 4 working disks is created.
> It has been fixed by adding more than one of all available
> spare disks and saving them in additional_test_list
> which is passed to imsm_add_spare().
>
> Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
> ---
> super-intel.c | 6 ++----
> 1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/super-intel.c b/super-intel.c
> index 7de207a..3185e91 100644
> --- a/super-intel.c
> +++ b/super-intel.c
> @@ -6672,9 +6672,9 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a,
> */
> dl = imsm_readd(super, i, a);
> if (!dl)
> - dl = imsm_add_spare(super, i, a, 0, NULL);
> + dl = imsm_add_spare(super, i, a, 0, rv);
> if (!dl)
> - dl = imsm_add_spare(super, i, a, 1, NULL);
> + dl = imsm_add_spare(super, i, a, 1, rv);
> if (!dl)
> continue;
>
> @@ -6711,8 +6711,6 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a,
> num_spares++;
> dprintf("%x:%x to be %d at %llu\n", dl->major, dl->minor,
> i, di->data_offset);
> -
> - break;
> }
>
> if (!rv)
applied, thanks,
NeilBrown
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-10-05 3:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-04 14:56 [PATCH] imsm: fix: correct adding and activation of spare disks Lukasz Dorau
2011-10-05 3:19 ` NeilBrown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).