summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Create.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/Create.c b/Create.c
index 7b4d0fe..48115db 100644
--- a/Create.c
+++ b/Create.c
@@ -856,11 +856,19 @@ int Create(struct supertype *st, char *mddev,
/* getinfo_super might have lost these ... */
inf->disk.major = major(stb.st_rdev);
inf->disk.minor = minor(stb.st_rdev);
+ /* FIXME the following should not be needed
+ * as getinfo_super is suppose to set
+ * them. However it doesn't for imsm,
+ * so we have this hack for now
+ */
+ if (st->ss == &super_imsm) {
+ inf->disk.number = dnum;
+ inf->disk.raid_disk = dnum;
+ }
}
break;
case 2:
inf->errors = 0;
- rv = 0;
rv = add_disk(mdfd, st, &info, inf);