DF-1647 / fix.diff
diff --git a/sys/dev/raid/vinum/vinumrequest.c b/sys/dev/raid/vinum/vinumrequest.c --- a/sys/dev/raid/vinum/vinumrequest.c +++ b/sys/dev/raid/vinum/vinumrequest.c @@ -489,6 +489,8 @@ switch (plex->organization) { case plex_concat: sd = NULL; /* (keep compiler quiet) */ + if (plex->subdisks == 0) + return REQUEST_DOWN; for (sdno = 0; sdno < plex->subdisks; sdno++) { sd = &SD[plex->sdnos[sdno]]; if (*diskaddr < sd->plexoffset) /* we must have a hole, */ |