From owner-freebsd-rc@FreeBSD.ORG Mon Aug 27 20:46:36 2012 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 664) id B2F311065674; Mon, 27 Aug 2012 20:46:36 +0000 (UTC) Date: Mon, 27 Aug 2012 13:46:35 -0700 From: David O'Brien To: freebsd-rc@freebsd.org Message-ID: <20120827204635.GA55142@dragon.NUXI.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Operating-System: FreeBSD 10.0-CURRENT X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.20 (2009-06-14) Subject: FILESYSTEMS wierdness X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: obrien@freebsd.org List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Aug 2012 20:46:36 -0000 '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