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>
This commit is contained in:
NeilBrown 2016-01-14 14:09:57 +11:00
parent f170a5a9a0
commit dfd7822ca6
1 changed files with 3 additions and 2 deletions

View File

@ -330,7 +330,7 @@ int Create(struct supertype *st, char *mddev,
} }
close(dfd); close(dfd);
info.array.working_disks++; info.array.working_disks++;
if (dnum < s->raiddisks) if (dnum < s->raiddisks && dv->disposition != 'j')
info.array.active_disks++; info.array.active_disks++;
if (st == NULL) { if (st == NULL) {
struct createinfo *ci = conf_get_create_info(); struct createinfo *ci = conf_get_create_info();
@ -400,7 +400,7 @@ int Create(struct supertype *st, char *mddev,
} }
if (dv->disposition == 'j') 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 */ freesize /= 2; /* convert to K */
if (s->chunk && s->chunk != UnSet) { if (s->chunk && s->chunk != UnSet) {
@ -434,6 +434,7 @@ int Create(struct supertype *st, char *mddev,
mindisc = dname; mindisc = dname;
minsize = freesize; minsize = freesize;
} }
skip_size_check:
if (c->runstop != 1 || c->verbose >= 0) { if (c->runstop != 1 || c->verbose >= 0) {
int fd = open(dname, O_RDONLY); int fd = open(dname, O_RDONLY);
if (fd <0 ) { if (fd <0 ) {