Subject: Re: rc, rc.subr, rc.conf, nfs-mounted /usr [was: Re: CVS commit:
To: Bill Studenmund <wrstuden@nas.nasa.gov>
From: Rob Windsor <windsor@warthog.com>
List: tech-userlevel
Date: 01/12/2000 21:16:33
Verily did Bill Studenmund write:

> bcc'd to source changes, redirected to tech-userlevel

>>> Speaking as someone who mounts /usr over NFS regularly.. I'm none too
>>> happy about this change..

>> To be blunt, you're the minority these days.  However, the change
>> shouldn't break you without any way to easily recover.

> I don't network mount /usr, but I don't hink we should be just zapping
> current users. :-)

Well, we didn't zap any current users, and my last change that triggered this 
thread actually fixed the standard install.  The nfs-mounted-/usr problems 
existed already and somewhat snuck in through the pet door.

I think there are some bad assumptions that finger-point myself or Matthias as 
the problem which isn't true, so I'd like to clarify the chain of events...

Matthias made a commit to rc.subr on July 7th to fix diskless.  This should 
also have made nfs-mount-/usr folks happy, also (I don't nfs-mount /usr, so I 
can't be certain).

Many (ten) changes were made to rc since then, some obviously with no regards 
to nfs-mounted-/usr folks, some even not paying attention to 
critical_filesystems_beforenet and it's lack of /usr.

Enter me.  I did a fresh -current install, and some of the items in rc were 
broken.  I poked around and determined that critical_filesystems_beforenet (in 
rc.conf) needed /usr for the average everyday (majority) install.  It was A 
Simple Fix, so I believed (and still do) that no debate was needed to fix a 
standard install.

Now, the problem is that rc makes assumptions that you have /usr up before the 
network interfaces are configured.

I might reiterate that neither Matthias nor myself made these changes, but my 
last commit to rc.conf has triggered the awareness.

Ok, I'm done with my defense.  :>

>> The real problem is that starting up a network interface is becoming
>> harder and harder.  You might want to run any number of programs
>> before you start up your network interfaces, or just after they're
>> ifconfig'd.  For instance, I want to run gated, and I do so from
>> /etc/netstart.local, since that is the only place I can get it going
>> as soon as my interfaces are up.

>> Since gated is in /usr, I need /usr mounted first.

> Taken. But why change the default for everyone?

>> Perhaps we need a "/usr is NFS" switch, which will assume the admin
>> knows what is going on, and will continue to mount /usr late.

>> The normal case, where /usr isn't mounted via the network, should be
>> the default.  I would estimate that 95% or more do not NFS mount /usr,
>> and those who do know a lot more about how to change things than the
>> average user.

I think this is the fundamental thing that needs to be hashed out, either here 
or on -developers.

Someone needs to 'profile' rc(8) and determine _when_ /usr should be mounted 
so that Things Don't Break.

> Well, this is now on tech-userlevel, where it should be discussed. :-)

> What do people think?

Sure, tech-userlevel is fine with me.

-- Rob
----------------------------------------
Internet: windsor@warthog.com                             __o
Life: Rob@Carrollton.Texas.USA.Earth                    _`\<,_
                                                       (_)/ (_)
The weather is here, wish you were beautiful.