summaryrefslogtreecommitdiffstats
path: root/sbin/geom/class
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2006-09-16 09:26:57 +0000
committerpjd <pjd@FreeBSD.org>2006-09-16 09:26:57 +0000
commit034bd1e69561dbb62c23417a5dc19440bba806b3 (patch)
tree8b1caa46ff367b10a3157ba651962bfb400f56de /sbin/geom/class
parentc1cc0912e154b796c803c34655f2658c4512ceb2 (diff)
downloadFreeBSD-src-034bd1e69561dbb62c23417a5dc19440bba806b3.zip
FreeBSD-src-034bd1e69561dbb62c23417a5dc19440bba806b3.tar.gz
First kill detached providers, because of two reasons:
- after killing all attached providers, all providers are then detached and operation is repeated for those who were attached, - we don't want to remove keys for read-only attached providers, we only want to detach them. MFC after: 1 week
Diffstat (limited to 'sbin/geom/class')
-rw-r--r--sbin/geom/class/eli/geom_eli.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sbin/geom/class/eli/geom_eli.c b/sbin/geom/class/eli/geom_eli.c
index d9543ae..3da4e83 100644
--- a/sbin/geom/class/eli/geom_eli.c
+++ b/sbin/geom/class/eli/geom_eli.c
@@ -926,18 +926,14 @@ eli_kill(struct gctl_req *req)
* geli kill da0 da1
*/
- /*
- * First attached providers.
- */
- gctl_issue(req);
- /*
- * Now the rest.
- */
+ /* First detached provider. */
for (i = 0; i < nargs; i++) {
prov = gctl_get_ascii(req, "arg%d", i);
if (!eli_is_attached(prov))
eli_kill_detached(req, prov);
}
+ /* Now attached providers. */
+ gctl_issue(req);
}
static void
OpenPOWER on IntegriCloud