On Mon, Feb 27, 2017 at 05:54:01PM +0000, Mariusz Zaborski wrote: > Author: oshogbo > Date: Mon Feb 27 17:54:01 2017 > New Revision: 314359 > URL: https://svnweb.freebsd.org/changeset/base/314359 > > Log: > Add sysctl to control auto resize of the GEOM metadata. > > Reviewed by: AllanJude > Differential Revision: https://reviews.freebsd.org/D9603 Sorry, I think I should add: Discussed with: ae
Sorry about that, Mariusz Zaborski > > Modified: > head/sbin/geom/class/part/gpart.8 > head/sys/geom/part/g_part.c > > Modified: head/sbin/geom/class/part/gpart.8 > ============================================================================== > --- head/sbin/geom/class/part/gpart.8 Mon Feb 27 17:50:38 2017 > (r314358) > +++ head/sbin/geom/class/part/gpart.8 Mon Feb 27 17:54:01 2017 > (r314359) > @@ -1146,6 +1146,18 @@ variables can be used to control the beh > GEOM class. > The default value is shown next to each variable. > .Bl -tag -width indent > +.It Va kern.geom.part.auto_resize: No 1 > +This variable controls automatic resize behavior of > +.Nm > +GEOM class. > +When this variable is enable and new size of provider is detected, the schema > +metadata is resized but all changes are not saved to disk, until > +.Cm gpart commit > +is run to confirm changes. > +This behavior is also reported with diagnostic message: > +.Sy "GEOM_PART: (provider) was automatically resized." > +.Sy "Use `gpart commit (provider)` to save changes or `gpart undo > (provider)`" > +.Sy "to revert them." > .It Va kern.geom.part.check_integrity : No 1 > This variable controls the behaviour of metadata integrity checks. > When integrity checks are enabled, the > > Modified: head/sys/geom/part/g_part.c > ============================================================================== > --- head/sys/geom/part/g_part.c Mon Feb 27 17:50:38 2017 > (r314358) > +++ head/sys/geom/part/g_part.c Mon Feb 27 17:54:01 2017 > (r314359) > @@ -135,6 +135,10 @@ static u_int check_integrity = 1; > SYSCTL_UINT(_kern_geom_part, OID_AUTO, check_integrity, > CTLFLAG_RWTUN, &check_integrity, 1, > "Enable integrity checking"); > +static u_int auto_resize = 1; > +SYSCTL_UINT(_kern_geom_part, OID_AUTO, auto_resize, > + CTLFLAG_RW, &auto_resize, 1, > + "Enable auto resize"); > > /* > * The GEOM partitioning class. > @@ -2095,6 +2099,9 @@ g_part_resize(struct g_consumer *cp) > G_PART_TRACE((G_T_TOPOLOGY, "%s(%s)", __func__, cp->provider->name)); > g_topology_assert(); > > + if (auto_resize == 0) > + return; > + > table = cp->geom->softc; > if (table->gpt_opened == 0) { > if (g_access(cp, 1, 1, 1) != 0) > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
signature.asc
Description: PGP signature