summaryrefslogtreecommitdiffstats
path: root/Create.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-12-05 05:54:48 +0000
committerNeil Brown <neilb@suse.de>2005-12-05 05:54:48 +0000
commit47d79ef8e5bb59f2c3207d04806d3a823a733820 (patch)
tree03035e0446e36517d4578e0f5fc312ed64b24554 /Create.c
parentc06487ce2061b7acfe6bc40bea7ad12393b0e4c6 (diff)
downloadmdadm-47d79ef8e5bb59f2c3207d04806d3a823a733820.tar.gz
mdadm-47d79ef8e5bb59f2c3207d04806d3a823a733820.tar.xz
mdadm-47d79ef8e5bb59f2c3207d04806d3a823a733820.zip
Support --assume-clean for --create
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'Create.c')
-rw-r--r--Create.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Create.c b/Create.c
index 0fd38a5..9a10d16 100644
--- a/Create.c
+++ b/Create.c
@@ -35,7 +35,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
int chunk, int level, int layout, unsigned long size, int raiddisks, int sparedisks,
char *name,
int subdevs, mddev_dev_t devlist,
- int runstop, int verbose, int force,
+ int runstop, int verbose, int force, int assume_clean,
char *bitmap_file, int bitmap_chunk, int write_behind, int delay)
{
/*
@@ -288,7 +288,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
* as missing, so that a reconstruct happens (faster than re-parity)
* FIX: Can we do this for raid6 as well?
*/
- if (force == 0 && first_missing >= raiddisks) {
+ if (assume_clean==0 && force == 0 && first_missing >= raiddisks) {
switch ( level ) {
case 5:
insert_point = raiddisks-1;
@@ -318,6 +318,8 @@ int Create(struct supertype *st, char *mddev, int mdfd,
(insert_point < raiddisks || first_missing < raiddisks) )
||
( level == 6 && missing_disks == 2)
+ ||
+ assume_clean
)
array.state = 1; /* clean, but one+ drive will be missing */
else