Re: CURRENT: [USB] : GEOM_PART: da4 was automatically resized.

From: Ian Lepore <ian_at_freebsd.org>
Date: Mon, 01 Aug 2016 13:36:50 -0600
On Mon, 2016-08-01 at 13:55 -0500, Matthew Grooms wrote:
> On 8/1/2016 12:40 PM, Randy Westlund wrote:
> > On Mon, Aug 01, 2016 at 11:05:54AM +0200, O. Hartmann wrote:
> > > On every(!) USB drive which worked well with 11-CURRENT up to 11
> > > -BETA, I fail
> > > to access with 12-CURRENT (12.0-CURRENT FreeBSD 12.0-CURRENT #14
> > > r303475: Fri
> > > Jul 29 11:59:11 CEST 2016) with the error shown below.
> > > 
> > > On USB flash drives I created myself, the suggested gpart command
> > > solved the
> > > problem, but I can not do this with drives I was given by a
> > > vendor or supplier.
> > > 
> > > What is wrong?
> > > 
> > > Kind regards and thank you very much in advance,
> > > 
> > > O. Hartmann
> > > 
> > > 
> > > On console, I get the report:
> > > 
> > > [...]
> > > GEOM_PART: da4 was automatically resized.
> > >   Use `gpart commit da4` to save changes or `gpart undo da4` to
> > > revert them.
> > 
> > I noticed something similar when I was trying to dd a more recent
> > memstick installer to a USB drive on 12-CURRENT.  When I plugged in
> > the
> > flash drive I couldn't dd to it until I noticed that message in
> > syslog
> > and ran 'gpart undo da0'.  Looks like something is unhelpfully
> > auto-resizing partitions.
> > 
> 
> Do you have growfs_enable in your rc.conf file? I think this is added
> to 
> certain flash images by default so it will automatically grow to your
> device capacity. See ...
> 
> /etc/rc.d/growfs
> 
> ... and ...
> 
> https://lists.freebsd.org/pipermail/freebsd-rc/2014-May/003497.html
> 
> -Matthew

I think rather than being related to growfs, this is fallout from
r303019 [*] which automatically resizes the device geom based on what
the device reports.  I suspect the intent was to make gpt backup
partition data appear at the right place on the device even when the
original image is created on a device of a different size.

Unfortunately, leaving an uncommited geom change lurking in the system
is going to lead to a fair amount of confusion, since it makes other
attempts to work with the device fail, usually with no clue about why
it's failing.  Uncommitted geom changes are a bit like an invisible
time bomb in your system; it wouldn't be so bad if they weren't so
invisible, and weren't so hard to figure out how to properly get out of
the situation.

Something like a "gpart undo -r <geom>" to recursively undo all
uncommitted changes would go a long way towards fixing the "what to do"
part.  I'm not sure how to make pending changes more visible.  Maybe it
would work to have gpart show flag uncommitted changes somehow.

* https://svnweb.freebsd.org/base/head/sys/geom/geom_disk.c?view=log

-- Ian
Received on Mon Aug 01 2016 - 17:37:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:07 UTC