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

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 1 Aug 2016 13:52:05 -0600
On Mon, Aug 1, 2016 at 1:36 PM, Ian Lepore <ian_at_freebsd.org> wrote:
> 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

Yea, this change "looks" ok, but if it has this side effect it should
be backed out ASAP.

I've CC'd Andrey for comment. I can't imagine that this was his
intent with the change, since the commit log makes no mention
of it and I'm having trouble understanding the justification for
the 'pend change' bit...

Warner
Received on Mon Aug 01 2016 - 17:52:07 UTC

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