Index | Thread | Search

From:
Alexander Klimov <a@kli.mov>
Subject:
[patch] [ok?] bioctl: disallow -c 1C with only one chunk (as per man page)
To:
tech@openbsd.org
Date:
Fri, 26 Apr 2024 11:12:18 +0200

Download raw body.

Thread
Hello everyone!

bioctl(8) clearly states that "The RAID 1C discipline
requires a minimum of two chunks when a new volume is created".

However, bio_createraid() in /usr/src/sbin/bioctl/bioctl.c requires
only min_disks = 1; for 1C, allowing me a "bioctl -c 1C -l sdXY softraid0".

Luckily the kernel complains with "softraid0: RAID 1C requires two or more chunks".

The attached diff lets /sbin/bioctl complain with "bioctl: not enough disks".
Ok?
--- /usr/src/sbin/bioctl/bioctl.c
+++ /usr/src/sbin/bioctl/bioctl.c
@@ -857,8 +857,10 @@
 		min_disks = 3;
 		break;
 	case 'C':
-	case 0x1C:
 		min_disks = 1;
+		break;
+	case 0x1C:
+		min_disks = 2;
 		break;
 	case 'c':
 		min_disks = 1;