diff options
author | jimharris <jimharris@FreeBSD.org> | 2012-08-03 20:24:16 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2012-08-03 20:24:16 +0000 |
commit | af530828371b1e115d9ea8d2a7408cf4545c4fdb (patch) | |
tree | 7c424b8744383dc45998dc0b0da364da8c2ef9d2 /sys/geom | |
parent | 28a38a123e9fcade06554ebf05856bbd6b22ccd5 (diff) | |
download | FreeBSD-src-af530828371b1e115d9ea8d2a7408cf4545c4fdb.zip FreeBSD-src-af530828371b1e115d9ea8d2a7408cf4545c4fdb.tar.gz |
In virstor_ctl_stop(), check for a valid softc before trying to update
metadata.
Sponsored by: Intel
Reported and tested by: Marcelo Gondim <gondim at bsdinfo dot com dot br>
PR: kern/170199
MFC after: 3 days
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/virstor/g_virstor.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/geom/virstor/g_virstor.c b/sys/geom/virstor/g_virstor.c index a180ef2..40e25d1 100644 --- a/sys/geom/virstor/g_virstor.c +++ b/sys/geom/virstor/g_virstor.c @@ -235,6 +235,12 @@ virstor_ctl_stop(struct gctl_req *req, struct g_class *cp) return; } sc = virstor_find_geom(cp, name); + if (sc == NULL) { + gctl_error(req, "Don't know anything about '%s'", name); + g_topology_unlock(); + return; + } + LOG_MSG(LVL_INFO, "Stopping %s by the userland command", sc->geom->name); update_metadata(sc); |