--- a/sys/dev/raid/vinum/vinumio.c 2026-09-21 23:37:03.060829040 +0000 +++ b/sys/dev/raid/vinum/vinumio.c 2026-09-21 23:42:20.468698920 +0000 @@ -514,15 +514,23 @@ */ if (drivename[0] == '\0') drivename = "*invalid*"; - ksnprintf(s, - configend - s, - "sd name %s drive %s plex %s len %llus driveoffset %llus state %s", - sd->name, - drivename, - vinum_conf.plex[sd->plexno].name, - (unsigned long long) sd->sectors, - (unsigned long long) sd->driveoffset, - sd_state(sd->state)); + if (sd->plexno >= 0) + ksnprintf(s, configend - s, + "sd name %s drive %s plex %s len %llus driveoffset %llus state %s", + sd->name, + drivename, + vinum_conf.plex[sd->plexno].name, + (unsigned long long) sd->sectors, + (unsigned long long) sd->driveoffset, + sd_state(sd->state)); + else + ksnprintf(s, configend - s, + "sd name %s drive %s len %llus driveoffset %llus state %s", + sd->name, + drivename, + (unsigned long long) sd->sectors, + (unsigned long long) sd->driveoffset, + sd_state(sd->state)); while (*s) s++; /* find the end */ if (sd->plexno >= 0)