aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/geom_aes.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2002-09-27 21:37:11 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2002-09-27 21:37:11 +0000
commit5a6baf5457acf734757d22fba7640e8261da8edf (patch)
tree02c4bf4995be772bfd0fd8a2f45388a5e079ecb5 /sys/geom/geom_aes.c
parentb1937dd1ca9254e6022a2a427ee20661b7aa285b (diff)
Add the new g_slice_config() call, which can add/delete/change a slice,
with support for trying, doing and forcing. This will eventually replace g_slice_addslice() which gets changed from grabbing topology to requing it in this commit as well. Sponsored by: DARPA & NAI Labs.
Notes
Notes: svn path=/head/; revision=104064
Diffstat (limited to 'sys/geom/geom_aes.c')
-rw-r--r--sys/geom/geom_aes.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/geom_aes.c b/sys/geom/geom_aes.c
index 4304c2d4f58e..ed9e66e82f88 100644
--- a/sys/geom/geom_aes.c
+++ b/sys/geom/geom_aes.c
@@ -317,6 +317,7 @@ g_aes_taste(struct g_class *mp, struct g_provider *pp, int flags __unused)
return (NULL);
}
buf = NULL;
+ g_topology_unlock();
while (1) {
if (gp->rank != 2)
break;
@@ -370,11 +371,14 @@ g_aes_taste(struct g_class *mp, struct g_provider *pp, int flags __unused)
*p++ = u >> 24;
}
}
+ g_topology_lock();
pp = g_new_providerf(gp, gp->name);
pp->mediasize = mediasize - sectorsize;
g_error_provider(pp, 0);
+ g_topology_unlock();
break;
}
+ g_topology_lock();
if (buf)
g_free(buf);
g_access_rel(cp, -1, 0, 0);