aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2002-10-05 03:33:38 +0000
committerRobert Watson <rwatson@FreeBSD.org>2002-10-05 03:33:38 +0000
commit0c0d4e17e4c02064aef76500e83c13e1dc614b56 (patch)
tree996f1faef309becb278398afb708b1e055f70737 /sys
parent96364d68067c5ff1e65b1398416b052edc4e1cbf (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/vinum/vinumconfig.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/vinum/vinumconfig.c b/sys/dev/vinum/vinumconfig.c
index 85c545db2ca3..bfc8c0647459 100644
--- a/sys/dev/vinum/vinumconfig.c
+++ b/sys/dev/vinum/vinumconfig.c
@@ -726,7 +726,6 @@ return_drive_space(int driveno, int64_t offset, int length)
void
free_sd(int sdno)
{
- struct plex *plex = &PLEX[sdno];
struct sd *sd;
sd = &SD[sdno];
@@ -736,9 +735,7 @@ free_sd(int sdno)
sd->driveoffset,
sd->sectors);
if (sd->plexno >= 0)
- plex->subdisks--; /* one less subdisk */
- if (isstriped (plex))
- mtx_destroy(&plex->lockmtx);
+ PLEX[sd->plexno].subdisks--; /* one less subdisk */
destroy_dev(sd->dev);
bzero(sd, sizeof(struct sd)); /* and clear it out */
sd->state = sd_unallocated;
@@ -817,6 +814,8 @@ free_plex(int plexno)
Free(plex->sdnos);
if (plex->lock)
Free(plex->lock);
+ if (isstriped (plex))
+ mtx_destroy(&plex->lockmtx);
destroy_dev(plex->dev);
bzero(plex, sizeof(struct plex)); /* and clear it out */
plex->state = plex_unallocated;