Date: Tue, 30 Aug 2011 13:01:38 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: Marcel Moolenaar <marcel@FreeBSD.org>, FreeBSD-Current <freebsd-current@FreeBSD.org> Subject: Re: possible mountroot regression Message-ID: <4E5CB502.5020508@FreeBSD.org> In-Reply-To: <4E5BF43A.5050306@FreeBSD.org> References: <4E580B14.7090208@FreeBSD.org> <1A828073-1D5F-4850-9379-4AB62CF3DAE3@xcllnt.net> <4E5B4BFB.9040907@FreeBSD.org> <E2FDBF46-8DA6-4D13-B5B5-7EB22C220F9D@xcllnt.net> <4E5BF43A.5050306@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E5CB502.5020508>
