diff options
author | trasz <trasz@FreeBSD.org> | 2012-07-07 17:09:44 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2012-07-07 17:09:44 +0000 |
commit | c29dc3c9613cfe4e9eb56a0a18c9bf11bd02992b (patch) | |
tree | 1b1be4494336dbf14054f0f13f4b81b948f45569 /sys/geom/uzip | |
parent | 2a7f91bf1afb27f4cfcf5f29aded548db4a01a18 (diff) | |
download | FreeBSD-src-c29dc3c9613cfe4e9eb56a0a18c9bf11bd02992b.zip FreeBSD-src-c29dc3c9613cfe4e9eb56a0a18c9bf11bd02992b.tar.gz |
Fix orphan() methods of several GEOM classes to not assume that there
is an error set on the provider. With GEOM resizing, class can become
orphaned when it doesn't implement resize() method and the provider size
decreases.
Reviewed by: mav
Sponsored by: FreeBSD Foundation
Diffstat (limited to 'sys/geom/uzip')
-rw-r--r-- | sys/geom/uzip/g_uzip.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/geom/uzip/g_uzip.c b/sys/geom/uzip/g_uzip.c index f19e14c..0327211 100644 --- a/sys/geom/uzip/g_uzip.c +++ b/sys/geom/uzip/g_uzip.c @@ -313,13 +313,11 @@ g_uzip_orphan(struct g_consumer *cp) g_trace(G_T_TOPOLOGY, "g_uzip_orphan(%p/%s)", cp, cp->provider->name); g_topology_assert(); - KASSERT(cp->provider->error != 0, - ("g_uzip_orphan with error == 0")); gp = cp->geom; g_uzip_softc_free(gp->softc, gp); gp->softc = NULL; - g_wither_geom(gp, cp->provider->error); + g_wither_geom(gp, ENXIO); } static int |