summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2012-07-07 22:20:47 +0000
committertrasz <trasz@FreeBSD.org>2012-07-07 22:20:47 +0000
commit92879956edeb2994a3a88ed9345acc826a8b02dd (patch)
tree55385fd39d6a452c38a9277c0e9fa5d8883e37fd /sys/geom
parent770bbae61e56e038c7a6ec60dfecfef0b944b547 (diff)
downloadFreeBSD-src-92879956edeb2994a3a88ed9345acc826a8b02dd.zip
FreeBSD-src-92879956edeb2994a3a88ed9345acc826a8b02dd.tar.gz
Add trivial resize handling to gmountver(8).
Reviewed by: mav Sponsored by: FreeBSD Foundation
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/mountver/g_mountver.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/geom/mountver/g_mountver.c b/sys/geom/mountver/g_mountver.c
index 37cb924..6858b31 100644
--- a/sys/geom/mountver/g_mountver.c
+++ b/sys/geom/mountver/g_mountver.c
@@ -59,6 +59,7 @@ static eventhandler_tag g_mountver_pre_sync = NULL;
static void g_mountver_queue(struct bio *bp);
static void g_mountver_orphan(struct g_consumer *cp);
+static void g_mountver_resize(struct g_consumer *cp);
static int g_mountver_destroy(struct g_geom *gp, boolean_t force);
static g_taste_t g_mountver_taste;
static int g_mountver_destroy_geom(struct gctl_req *req, struct g_class *mp,
@@ -257,6 +258,7 @@ g_mountver_create(struct gctl_req *req, struct g_class *mp, struct g_provider *p
gp->softc = sc;
gp->start = g_mountver_start;
gp->orphan = g_mountver_orphan;
+ gp->resize = g_mountver_resize;
gp->access = g_mountver_access;
gp->dumpconf = g_mountver_dumpconf;
@@ -457,6 +459,18 @@ g_mountver_orphan(struct g_consumer *cp)
G_MOUNTVER_DEBUG(0, "%s is offline. Mount verification in progress.", sc->sc_provider_name);
}
+static void
+g_mountver_resize(struct g_consumer *cp)
+{
+ struct g_geom *gp;
+ struct g_provider *pp;
+
+ gp = cp->geom;
+
+ LIST_FOREACH(pp, &gp->provider, provider)
+ g_resize_provider(pp, cp->provider->mediasize);
+}
+
static int
g_mountver_ident_matches(struct g_geom *gp)
{
OpenPOWER on IntegriCloud