Hi, On Fri, Oct 14, 2011 at 11:54 AM, Arnaud Lacombe <lacombar_at_gmail.com> wrote: > Andry Gapon wrote: >> Simple: revert to the previous behavior. If a user enters incorrect device name >>(i.e. root mounting fails), then return back to the prompt instead of panicing. > That should do the job. > Actually, my primary interest in that patch was to be able to hit <enter> to be sure I had the prompt (think a serial console connecting after the message has been displayed), then enter the information. Not sure that'd suit what you expect though. - Arnaud > - Arnaud > > --- > sys/kern/vfs_mountroot.c | 45 +++++++++++++++++++++++---------------------- > 1 files changed, 23 insertions(+), 22 deletions(-) > > diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c > index ccbcb33..ae3ffa7 100644 > --- a/sys/kern/vfs_mountroot.c > +++ b/sys/kern/vfs_mountroot.c > _at__at_ -481,28 +481,29 _at__at_ parse_dir_ask(char **conf) > printf("\n"); > printf(" ? List valid disk boot devices\n"); > printf(" . Yield 1 second (for background tasks)\n"); > - printf(" <empty line> Abort manual input\n"); > + printf(" x Abort manual input)\n"); > + > + do { > + error = EINVAL; > + printf("\nmountroot> "); > + gets(name, sizeof(name), GETS_ECHO); > + if (name[0] == '?') { > + printf("\nList of GEOM managed disk devices:\n "); > + g_dev_print(); > + continue; > + } > + if (name[0] == '.') { > + pause("rmask", hz); > + continue; > + } > + if (name[0] == 'x' && name[1] == '\0') > + break; > + mnt = name; > + error = parse_mount(&mnt); > + if (error < 0) > + printf("Invalid specification.\n"); > + } while (error != 0); > > - again: > - printf("\nmountroot> "); > - gets(name, sizeof(name), GETS_ECHO); > - if (name[0] == '\0') > - return (0); > - if (name[0] == '?') { > - printf("\nList of GEOM managed disk devices:\n "); > - g_dev_print(); > - goto again; > - } > - if (name[0] == '.') { > - pause("rmask", hz); > - goto again; > - } > - mnt = name; > - error = parse_mount(&mnt); > - if (error == -1) { > - printf("Invalid specification.\n"); > - goto again; > - } > return (error); > } > > -- > 1.7.6.153.g78432 > >Received on Fri Oct 14 2011 - 13:58:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:19 UTC