Index: label.c =================================================================== RCS file: /usr/cvs/src/release/sysinstall/label.c,v retrieving revision 1.97 diff -u -r1.97 label.c --- label.c 1999/12/18 02:04:02 1.97 +++ label.c 1999/12/28 16:51:52 @@ -277,6 +277,8 @@ if (c2->type == part) { if (c2->subtype == FS_SWAP) label_chunk_info[j].type = PART_SWAP; + else if (c2->subtype == FS_VINUM) + label_chunk_info[j].type = PART_VINUM; else label_chunk_info[j].type = PART_FILESYSTEM; label_chunk_info[j].c = c2; @@ -383,19 +385,24 @@ "A file system", "Swap", "A swap partition.", + "Vinum", + "A vinum partition.", }; WINDOW *w = savescr(); i = dialog_menu("Please choose a partition type", "If you want to use this partition for swap space, select Swap.\n" - "If you want to put a filesystem on it, choose FS.", - -1, -1, 2, 2, fs_types, selection, NULL, NULL); + "If you want to put a filesystem on it, choose FS.\n" + "If you want to use this partition as a vinum drive, select Vinum.", + -1, -1, 3, 3, fs_types, selection, NULL, NULL); restorescr(w); if (!i) { if (!strcmp(selection, "FS")) return PART_FILESYSTEM; else if (!strcmp(selection, "Swap")) return PART_SWAP; + else if (!strcmp(selection, "Vinum")) + return PART_VINUM; } return PART_NONE; } @@ -571,6 +578,8 @@ mountpoint = ((PartInfo *)label_chunk_info[i].c->private_data)->mountpoint; else if (label_chunk_info[i].type == PART_SWAP) mountpoint = "swap"; + else if (label_chunk_info[i].type == PART_VINUM) + mountpoint = "vinum"; else mountpoint = ""; @@ -581,6 +590,8 @@ newfs = ((PartInfo *)label_chunk_info[i].c->private_data)->newfs ? "UFS Y" : "UFS N"; else if (label_chunk_info[i].type == PART_SWAP) newfs = "SWAP"; + else if (label_chunk_info[i].type == PART_VINUM) + newfs = "VINUM"; else newfs = "*"; for (j = 0; j < MAX_MOUNT_NAME && mountpoint[j]; j++) @@ -959,7 +970,7 @@ tmp = Create_Chunk_DWIM(label_chunk_info[here].c->disk, label_chunk_info[here].c, size, part, - (type == PART_SWAP) ? FS_SWAP : FS_BSDFFS, + (type == PART_SWAP) ? FS_SWAP : (type == PART_VINUM) ? FS_VINUM : FS_BSDFFS, flags); if (!tmp) { msgConfirm("Unable to create the partition. Too big?"); @@ -975,7 +986,7 @@ clear_wins(); break; } - if (type != PART_SWAP) { + if (type == PART_FILESYSTEM) { /* This is needed to tell the newfs -u about the size */ tmp->private_data = new_part(p->mountpoint, p->newfs, tmp->size); safe_free(p); @@ -1026,7 +1037,8 @@ break; case PART_SWAP: - msg = "You don't need to specify a mountpoint for a swap partition."; + case PART_VINUM: + msg = "You don't need to specify a mountpoint for swap and vinum partitions."; break; case PART_FAT: @@ -1224,6 +1236,10 @@ if (!strcmp(typ, "swap")) { type = PART_SWAP; strcpy(mpoint, "SWAP"); + } + else if (!strcmp(typ, "vinum")) { + type = PART_VINUM; + strcpy(mpoint, "VINUM"); } else { type = PART_FILESYSTEM; Index: sysinstall.h =================================================================== RCS file: /usr/cvs/src/release/sysinstall/sysinstall.h,v retrieving revision 1.178 diff -u -r1.178 sysinstall.h --- sysinstall.h 1999/11/08 11:51:57 1.178 +++ sysinstall.h 1999/12/14 00:03:25 @@ -263,6 +263,7 @@ PART_SWAP, PART_FILESYSTEM, PART_FAT, + PART_VINUM } PartType; /* The longest newfs command we'll hand to system() */