summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2016-01-14 14:09:57 +1100
committerNeilBrown <neilb@suse.com>2016-01-14 14:13:17 +1100
commitdfd7822ca686339f77ea808a4bdf2b085674e611 (patch)
tree1c6995aec79577a09996f3547086bcf9ee62e7da
parentf170a5a9a0b5dbdd502b1014cfe040bf83da5ccf (diff)
downloadmdadm-dfd7822ca686339f77ea808a4bdf2b085674e611.tar.gz
Create: minor fix when adding a journal device
The check of "is there a filesystem here" is still appropriate for a journal device. Also set active_disks correctly - even though it is ignored. Signed-off-by: NeilBrown <neilb@suse.com>
-rw-r--r--Create.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Create.c b/Create.c
index 40f1b7e..1e4a6ee 100644
--- a/Create.c
+++ b/Create.c
@@ -330,7 +330,7 @@ int Create(struct supertype *st, char *mddev,
}
close(dfd);
info.array.working_disks++;
- if (dnum < s->raiddisks)
+ if (dnum < s->raiddisks && dv->disposition != 'j')
info.array.active_disks++;
if (st == NULL) {
struct createinfo *ci = conf_get_create_info();
@@ -400,7 +400,7 @@ int Create(struct supertype *st, char *mddev,
}
if (dv->disposition == 'j')
- continue; /* skip write journal for size check */
+ goto skip_size_check; /* skip write journal for size check */
freesize /= 2; /* convert to K */
if (s->chunk && s->chunk != UnSet) {
@@ -434,6 +434,7 @@ int Create(struct supertype *st, char *mddev,
mindisc = dname;
minsize = freesize;
}
+ skip_size_check:
if (c->runstop != 1 || c->verbose >= 0) {
int fd = open(dname, O_RDONLY);
if (fd <0 ) {