Am 17.01.21 um 04:18 schrieb Rodney W. Grimes:
The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=7e4eca7136eaa35e15f67682468f09aa7127b543

commit 7e4eca7136eaa35e15f67682468f09aa7127b543
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2021-01-11 20:13:41 +0000
Commit:     Gleb Smirnoff <gleb...@freebsd.org>
CommitDate: 2021-01-15 20:44:06 +0000

     Revert 97ec6eba653a07.  There shouldn't be a dependency of 'tmp' on
     remote filesystems.  Discussed this with Brooks and he can't find
     evidence that provoked the change in 2005.  If anything gets broken
     I will fix it in a different way, not via rc sequence change.

This is because /etc/rc.d/tmp has this line:
         if ! /bin/df /tmp | grep -q "^/dev/md[0-9].* /tmp"; then

and when your doing NFS boots with seperate /usr you do not have
/usr/bin/grep to run that line.

Almost always the reason things have a REQUIRE: mountcritremote
is that they use some commands from /usr.

This dependency on /usr/bin/grep is easily removed, see:

        https://reviews.freebsd.org/D28209

diff --git a/libexec/rc/rc.d/tmp b/libexec/rc/rc.d/tmp
index a61321e058ee..2a7205e92b59 100755
--- a/libexec/rc/rc.d/tmp
+++ b/libexec/rc/rc.d/tmp
@@ -40,10 +40,16 @@ load_rc_config $name

 mount_tmpmfs()
 {
-       if ! /bin/df /tmp | grep -q "^/dev/md[0-9].* /tmp"; then
-               mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
-               chmod 01777 /tmp
-       fi
+       while read line; do
+               case $line in
+               /dev/md[0-9]*\ /tmp)
+                       return;;
+               esac
+       done <<*EOF
+$(df /tmp)
+*EOF
+       mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
+       chmod 01777 /tmp
 }

 # If we do not have a writable /tmp, create a memory

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to