Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Aug 2012 13:46:35 -0700
From:      David O'Brien <obrien@FreeBSD.org>
To:        freebsd-rc@freebsd.org
Subject:   FILESYSTEMS wierdness
Message-ID:  <20120827204635.GA55142@dragon.NUXI.org>

next in thread | raw e-mail | index | archive | help
'FILESYSTEMS' states: "This is a dummy dependency, for services which
require file systems to be mounted before starting."  However, we have
'var' which can mount /var if it already isn't mounted.  Therefor it
seems to me that 'FILESYSTEMS' should depend on 'var' and not the
other way around.

Additionally, the 'var' and 'addswap' requirement of 'kld' puzzles me.
We've done a poor job of documenting why a non-trivially obvious
requirement exists.  Why does the 'kld' requirement exist for these two?

It also seems to me that 'FILESYSTEMS' means the file systems are fully
"ready to go".  But /var isn't until after 'cleanvar' runs.  So it seems
to me that 'FILESYSTEMS' should require 'cleanvar' also.


For the same reasons as 'swap1', it seems to me that 'addswap' should
occur pretty early to ensure we have a swap pager [D&I 5.10].  It is
unclear to me if 'addswap' should be considered a pseudo-FS and should
have a "BEFORE: FILESYSTEMS" also.


On a 3rd note, I found the gap between FILESYSTEMS & NETWORKING too
large.  See seem to have some artificial "BEFORE: netif" to fill the
need for BASIC (or LOCAL) things that should run early before we go
through any motions bringing up networking, but only after FILESYSTEMS.
It is used in things like: addswap, adjkerntz, hostname, kldxref,
opensm, random.


On a fourth note, what is 'opensm' for?  Seems part of Jeffr's InfiniBand
work as some googling implies it is "InfiniBand compliant Subnet Manager"
but the utility used in 'opensm' (/usr/bin/opensm) doesn't exist on any
10-CURRENT I checked.  Was 'opensm' added before its time?

Thoughts?
-- 
-- David  (obrien@FreeBSD.org)


Index: ldconfig
===================================================================
--- ldconfig	(revision 239751)
+++ ldconfig	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: ldconfig
-# REQUIRE: mountcritremote cleanvar
+# REQUIRE: mountcritremote FILESYSTEMS
 # BEFORE:  DAEMON
 
 . /etc/rc.subr
Index: random
===================================================================
--- random	(revision 239751)
+++ random	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: random
-# REQUIRE: initrandom var
+# REQUIRE: initrandom FILESYSTEMS
 # BEFORE: netif
 # KEYWORD: nojail shutdown
 
Index: mountcritremote
===================================================================
--- mountcritremote	(revision 239751)
+++ mountcritremote	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: mountcritremote
-# REQUIRE: NETWORKING FILESYSTEMS cleanvar ipsec netwait
+# REQUIRE: NETWORKING FILESYSTEMS ipsec netwait
 # KEYWORD: nojail
 
 . /etc/rc.subr
Index: dmesg
===================================================================
--- dmesg	(revision 239751)
+++ dmesg	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: dmesg
-# REQUIRE: mountcritremote cleanvar
+# REQUIRE: mountcritremote FILESYSTEMS
 # BEFORE:  DAEMON
 # KEYWORD: nojail
 
Index: sshd
===================================================================
--- sshd	(revision 239751)
+++ sshd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: sshd
-# REQUIRE: LOGIN cleanvar
+# REQUIRE: LOGIN FILESYSTEMS
 # KEYWORD: shutdown
 
 . /etc/rc.subr
Index: watchdogd
===================================================================
--- watchdogd	(revision 239751)
+++ watchdogd	(working copy)
@@ -28,7 +28,7 @@
 #
 
 # PROVIDE: watchdogd
-# REQUIRE: FILESYSTEMS cleanvar syslogd
+# REQUIRE: FILESYSTEMS syslogd
 # KEYWORD: nojail shutdown
 
 . /etc/rc.subr
Index: mixer
===================================================================
--- mixer	(revision 239751)
+++ mixer	(working copy)
@@ -28,7 +28,7 @@
 #
 
 # PROVIDE: mixer
-# REQUIRE: cleanvar
+# REQUIRE: FILESYSTEMS
 # KEYWORD: nojail shutdown
 
 . /etc/rc.subr
Index: sendmail
===================================================================
--- sendmail	(revision 239751)
+++ sendmail	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: mail
-# REQUIRE: LOGIN cleanvar
+# REQUIRE: LOGIN FILESYSTEMS
 #	we make mail start late, so that things like .forward's are not
 #	processed until the system is fully operational
 # KEYWORD: shutdown
Index: resolv
===================================================================
--- resolv	(revision 239751)
+++ resolv	(working copy)
@@ -28,7 +28,7 @@
 #
 
 # PROVIDE: resolv
-# REQUIRE: netif var
+# REQUIRE: netif FILESYSTEMS
 # KEYWORD: nojail
 
 . /etc/rc.subr
Index: jail
===================================================================
--- jail	(revision 239751)
+++ jail	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: jail
-# REQUIRE: LOGIN cleanvar
+# REQUIRE: LOGIN FILESYSTEMS
 # BEFORE: securelevel
 # KEYWORD: nojail shutdown
 
Index: postrandom
===================================================================
--- postrandom	(revision 239751)
+++ postrandom	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: postrandom
-# REQUIRE: initrandom random var
+# REQUIRE: initrandom random FILESYSTEMS
 # BEFORE: LOGIN
 # KEYWORD: nojail
 
Index: var
===================================================================
--- var	(revision 239751)
+++ var	(working copy)
@@ -28,7 +28,9 @@
 #
 
 # PROVIDE: var
-# REQUIRE: FILESYSTEMS kld addswap
+# REQUIRE: mountcritlocal zfs
+
+# NFS /var is not supported, unless NFS /var is part of diskless NFS /
 
 . /etc/rc.subr
 
Index: ftpd
===================================================================
--- ftpd	(revision 239751)
+++ ftpd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: ftpd
-# REQUIRE: LOGIN cleanvar
+# REQUIRE: LOGIN FILESYSTEMS
 # KEYWORD: shutdown
 
 . /etc/rc.subr
Index: mrouted
===================================================================
--- mrouted	(revision 239751)
+++ mrouted	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: mrouted
-# REQUIRE: netif routing cleanvar
+# REQUIRE: netif routing FILESYSTEMS
 # KEYWORD: nojail
 
 . /etc/rc.subr
Index: amd
===================================================================
--- amd	(revision 239751)
+++ amd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: amd
-# REQUIRE: rpcbind ypset nfsclient cleanvar ldconfig
+# REQUIRE: rpcbind ypset nfsclient FILESYSTEMS ldconfig
 # BEFORE: DAEMON
 # KEYWORD: nojail shutdown
 
Index: netif
===================================================================
--- netif	(revision 239751)
+++ netif	(working copy)
@@ -26,7 +26,7 @@
 #
 
 # PROVIDE: netif
-# REQUIRE: atm1 cleanvar FILESYSTEMS serial sppp sysctl
+# REQUIRE: atm1 FILESYSTEMS serial sppp sysctl
 # REQUIRE: ipfilter ipfs
 # KEYWORD: nojail
 
Index: FILESYSTEMS
===================================================================
--- FILESYSTEMS	(revision 239751)
+++ FILESYSTEMS	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: FILESYSTEMS
-# REQUIRE: root mountcritlocal zfs
+# REQUIRE: root mountcritlocal cleanvar zfs
 
 #	This is a dummy dependency, for services which require file systems
 #	to be mounted before starting.  It also serves as the default early /
Index: utx
===================================================================
--- utx	(revision 239751)
+++ utx	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: utx
-# REQUIRE: DAEMON cleanvar
+# REQUIRE: DAEMON FILESYSTEMS
 # KEYWORD: shutdown
 
 . /etc/rc.subr
Index: addswap
===================================================================
--- addswap	(revision 239751)
+++ addswap	(working copy)
@@ -7,6 +7,7 @@
 
 # PROVIDE: addswap
 # REQUIRE: FILESYSTEMS kld
+# BEFORE:  netif
 # KEYWORD: nojail
 
 . /etc/rc.subr
Index: cron
===================================================================
--- cron	(revision 239751)
+++ cron	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: cron
-# REQUIRE: LOGIN cleanvar
+# REQUIRE: LOGIN FILESYSTEMS
 # BEFORE: securelevel
 # KEYWORD: shutdown
 
Index: pflog
===================================================================
--- pflog	(revision 239751)
+++ pflog	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: pflog
-# REQUIRE: FILESYSTEMS netif cleanvar
+# REQUIRE: FILESYSTEMS netif FILESYSTEMS
 # KEYWORD: nojail
 
 . /etc/rc.subr
Index: named
===================================================================
--- named	(revision 239751)
+++ named	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: named
-# REQUIRE: SERVERS cleanvar
+# REQUIRE: SERVERS FILESYSTEMS
 # KEYWORD: shutdown
 
 . /etc/rc.subr
Index: cleanvar
===================================================================
--- cleanvar	(revision 239751)
+++ cleanvar	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: cleanvar
-# REQUIRE: FILESYSTEMS var
+# REQUIRE: var
 
 . /etc/rc.subr
 
Index: moused
===================================================================
--- moused	(revision 239751)
+++ moused	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: moused
-# REQUIRE: DAEMON cleanvar
+# REQUIRE: DAEMON FILESYSTEMS
 # KEYWORD: nojail shutdown
 
 . /etc/rc.subr
Index: syslogd
===================================================================
--- syslogd	(revision 239751)
+++ syslogd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: syslogd
-# REQUIRE: mountcritremote cleanvar newsyslog
+# REQUIRE: mountcritremote FILESYSTEMS newsyslog
 # BEFORE:  SERVERS
 
 . /etc/rc.subr
Index: inetd
===================================================================
--- inetd	(revision 239751)
+++ inetd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: inetd
-# REQUIRE: DAEMON LOGIN cleanvar
+# REQUIRE: DAEMON LOGIN FILESYSTEMS
 # KEYWORD: shutdown
 
 . /etc/rc.subr
Index: ipmon
===================================================================
--- ipmon	(revision 239751)
+++ ipmon	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: ipmon
-# REQUIRE: FILESYSTEMS hostname sysctl cleanvar ipfilter
+# REQUIRE: FILESYSTEMS hostname sysctl FILESYSTEMS ipfilter
 # BEFORE:  SERVERS
 # KEYWORD: nojail
 
Index: newsyslog
===================================================================
--- newsyslog	(revision 239751)
+++ newsyslog	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: newsyslog
-# REQUIRE: cleanvar mountcritremote
+# REQUIRE: FILESYSTEMS mountcritremote
 
 . /etc/rc.subr
 
Index: ntpd
===================================================================
--- ntpd	(revision 239751)
+++ ntpd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: ntpd
-# REQUIRE: DAEMON ntpdate cleanvar devfs
+# REQUIRE: DAEMON ntpdate FILESYSTEMS devfs
 # BEFORE:  LOGIN
 # KEYWORD: nojail shutdown
 
Index: rarpd
===================================================================
--- rarpd	(revision 239751)
+++ rarpd	(working copy)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: rarpd
-# REQUIRE: DAEMON cleanvar
+# REQUIRE: DAEMON FILESYSTEMS
 # BEFORE:  LOGIN
 # KEYWORD: nojail
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120827204635.GA55142>