NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/46732: setroot(9) is called twice after "MI rootonwedges"changes
The following reply was made to PR kern/46732; it has been noted by GNATS.
From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: mlelstv%serpens.de@localhost
Cc: gnats-bugs%NetBSD.org@localhost, mlelstv%NetBSD.org@localhost,
tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: kern/46732: setroot(9) is called twice after "MI
rootonwedges"changes
Date: Fri, 27 Jul 2012 00:48:07 +0900
mlelstv@ wrote:
> On Wed, Jul 25, 2012 at 08:56:55PM +0900, Izumi Tsutsui wrote:
> > mlelstv@ wrote:
> >
> > > And as my idea for rootconf() was to also clean up the root-on-raidframe
> > > hack later, things would be even more complicated.
> >
> > What won't actually work are you claiming?
> > Just root on wedge (or raidframe) case?
>
> Yes.
>
>
> > Not RB_ASKNAME case, but "bootloader is loaded via network,
> > but a kernel needs to be loaded from harddisk (or viceversa)."
> >
> > In that case, a user has to specify a kernel loadpath (including
> > device name) on the bootloader's prompt at the first boot, but
> > no need to specify it on the bootloader prompt after reboot.
>
> Sounds like a strange edge case. Isn't passing back the loadpath
> much easier?
Before MI root on wedge changes:
- main()
- cpu_rootconf()
- [MD pre setroot() ops]
- setroot(md_boot_device, md_boot_partition)
- [MD post setroot() ops]
After MI root on wedge changes:
- main()
- rootconf()
- cpu_rootconf()
- [MD pre setroot() ops]
- setroot(md_boot_device, md_boot_partition)
- [MD post setroot() ops]
- rootconf_handle_wedges()
- setroot(booted_device, booted_partition)
Your proposed fix is:
- main()
- rootconf()
- cpu_rootconf()
- [MD pre setroot() ops]
- booted_device = md_boot_device
- booted_partition = md_booted_partition
- rootconf_handle_wedges()
- setroot(booted_device, booted_partition)
(no place to put MD post setroot() ops so we have to rewrite them)
What I asked is:
- main()
- cpu_rootconf()
- [MD pre setroot() ops]
- booted_device = md_boot_device
- booted_partition = md_booted_partition
- rootconf()
- rootconf_handle_wedges()
- setroot(booted_device, booted_partition)
- [MD post setroot() ops]
What is not easier with the last one?
At least hp300 GENERIC kernel works without extra MD fixes
other than rootconf()/setroot() changes for wedges.
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index