Assemble: allow a RAID4 to assemble easily when parity devices is missing.
If the parity device of a RAID4 is missing, then there is no immediate
risk to data. So it doesn't matter if the array is dirty or not.
This can be important when reshaping a RAID0, and is a much better
solution that that in the resent-reverted.
b720636a58
Reported-by: "Jonathan Harker (Jesusaurus)" <jesusaurus@gentlydownthe.net>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
d316dba7c9
commit
330d6900bb
7
util.c
7
util.c
|
@ -368,6 +368,13 @@ int enough(int level, int raid_disks, int layout, int clean, char *avail)
|
|||
case 1:
|
||||
return avail_disks >= 1;
|
||||
case 4:
|
||||
if (avail_disks == raid_disks - 1 &&
|
||||
!avail[raid_disks - 1])
|
||||
/* If just the parity device is missing, then we
|
||||
* have enough, even if not clean
|
||||
*/
|
||||
return 1;
|
||||
/* FALL THROUGH */
|
||||
case 5:
|
||||
if (clean)
|
||||
return avail_disks >= raid_disks-1;
|
||||
|
|
Loading…
Reference in New Issue