aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/uzip/g_uzip.c
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2012-07-07 17:09:44 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2012-07-07 17:09:44 +0000
commitad624005b3db69af8eeff9aff3eb073f114d96fb (patch)
tree1b1be4494336dbf14054f0f13f4b81b948f45569 /sys/geom/uzip/g_uzip.c
parente43ecd2b1513cb91e26dcbd7f87b8f3e09d208c7 (diff)
downloadsrc-ad624005b3db69af8eeff9aff3eb073f114d96fb.tar.gz
src-ad624005b3db69af8eeff9aff3eb073f114d96fb.zip
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
Notes
Notes: svn path=/head/; revision=238198
Diffstat (limited to 'sys/geom/uzip/g_uzip.c')
-rw-r--r--sys/geom/uzip/g_uzip.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/geom/uzip/g_uzip.c b/sys/geom/uzip/g_uzip.c
index f19e14c60a88..03272115edb9 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