possible mountroot regression

Andriy Gapon avg at FreeBSD.org
Fri Oct 14 07:51:16 UTC 2011


on 30/08/2011 13:01 Andriy Gapon said the following:
> 
> So, just to re-iterate, I think that this is indeed a regression and the one
> that could be particularly unhelpful for a new release - the time when people
> are much more likely to end up at the mountroot prompt during an installation of
> a new system or an upgrade.

Marcel,

is there any chance that this regression can be fixed before the release?
If not, then maybe it would be proper to pull the change that introduced it out
of the release branch (r214006) ?

> on 29/08/2011 23:19 Andriy Gapon said the following:
>> on 29/08/2011 19:45 Marcel Moolenaar said the following:
>>>
>>> On Aug 29, 2011, at 1:21 AM, Andriy Gapon wrote:
>>>
>>>> on 27/08/2011 18:16 Marcel Moolenaar said the following:
>>>>>
>>>>> On Aug 26, 2011, at 2:07 PM, Andriy Gapon wrote:
>>>>>
>>>>>>
>>>>>> It seems that after the introduction of the mountroot scripting language a user
>>>>>> now has exactly one chance to try to specify a correct root device at the
>>>>>> mountroot prompt.  I am not sure that that is convenient/enough.
>>>>>
>>>>> This is no different from before.
>>>>
>>>> Are you sure?
>>>> I remember trying multiple (incorrect) possibilities at the prompt and not
>>>> getting the panic.  But I know that sometimes I have cases of "false memories",
>>>> so _I_ am not sure.
>>>
>>> I'm sure now that we're both not sure :-)
>>>
>>> It's possible the failure mode varied by how the root mount
>>> failed...
>>
>>
>> Judging from the code before r214006 it shouldn't have panic-ed upon such a failure:
>> static int
>> vfs_mountroot_ask(void)
>> {
>>         char name[128];
>>         char *mountfrom;
>>         char *options;
>>
>>         for(;;) {
>> ...
>>                 gets(name, sizeof(name), 1);
>>                 if (name[0] == '\0')
>>                         return (1);
>>                 if (name[0] == '?') {
>>                         printf("\nList of GEOM managed disk devices:\n  ");
>>                         g_dev_print();
>>                         continue;
>>                 }
>>                 if (!vfs_mountroot_try(name, NULL))
>>                         return (0);
>>         }
>> }
>>
>>
>> So this "endless" loop was exited only if vfs_mountroot_try() returned success
>> (error == 0) or if a user entered an empty string.
>>
> 
> 


-- 
Andriy Gapon


More information about the freebsd-current mailing list