diff options
author | marcel <marcel@FreeBSD.org> | 2006-04-10 03:55:13 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2006-04-10 03:55:13 +0000 |
commit | c168f9530e1b94a463b6747ea1f1bcb5b4ab8cbf (patch) | |
tree | 81cff68e80c2afb7c70386d60e4b5557ec440179 /sys/geom/geom_slice.c | |
parent | 271e02009f1ba97cb64faec0aef6565c45658e3e (diff) | |
download | FreeBSD-src-c168f9530e1b94a463b6747ea1f1bcb5b4ab8cbf.zip FreeBSD-src-c168f9530e1b94a463b6747ea1f1bcb5b4ab8cbf.tar.gz |
Add g_wither_provider() to abstract the details of destroying a
particular provider. Use this function where g_orphan_provider()
is being called so that the flags are updated correctly and
g_orphan_provider() is called only when allowed.
Diffstat (limited to 'sys/geom/geom_slice.c')
-rw-r--r-- | sys/geom/geom_slice.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/geom/geom_slice.c b/sys/geom/geom_slice.c index 97b58f5..2cf3385 100644 --- a/sys/geom/geom_slice.c +++ b/sys/geom/geom_slice.c @@ -338,8 +338,7 @@ g_slice_config(struct g_geom *gp, u_int idx, int how, off_t offset, off_t length return (0); if (bootverbose) printf("GEOM: Deconfigure %s\n", pp->name); - pp->flags |= G_PF_WITHER; - g_orphan_provider(pp, ENXIO); + g_wither_provider(pp, ENXIO); gsl->provider = NULL; gsp->nprovider--; return (0); |