diff options
author | phk <phk@FreeBSD.org> | 2002-09-27 21:37:11 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-09-27 21:37:11 +0000 |
commit | bd4b8491399a8df6b7aea34dc30845289f3bc0f8 (patch) | |
tree | 02c4bf4995be772bfd0fd8a2f45388a5e079ecb5 /sys/geom/geom_aes.c | |
parent | 577f8b1e73497700b0f10db6cf84bd6db96cd62c (diff) | |
download | FreeBSD-src-bd4b8491399a8df6b7aea34dc30845289f3bc0f8.zip FreeBSD-src-bd4b8491399a8df6b7aea34dc30845289f3bc0f8.tar.gz |
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.
Diffstat (limited to 'sys/geom/geom_aes.c')
-rw-r--r-- | sys/geom/geom_aes.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/geom_aes.c b/sys/geom/geom_aes.c index 4304c2d..ed9e66e 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); |