From 47d79ef8e5bb59f2c3207d04806d3a823a733820 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Mon, 5 Dec 2005 05:54:48 +0000 Subject: Support --assume-clean for --create Signed-off-by: Neil Brown --- Create.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Create.c') 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 -- cgit