diff options
author | pjd <pjd@FreeBSD.org> | 2006-09-16 09:26:57 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2006-09-16 09:26:57 +0000 |
commit | 034bd1e69561dbb62c23417a5dc19440bba806b3 (patch) | |
tree | 8b1caa46ff367b10a3157ba651962bfb400f56de /sbin/geom/class/eli | |
parent | c1cc0912e154b796c803c34655f2658c4512ceb2 (diff) | |
download | FreeBSD-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/eli')
-rw-r--r-- | sbin/geom/class/eli/geom_eli.c | 10 |
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 |