git: 7e4eca7136ea - main - 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 dif

Cy Schubert Cy.Schubert at cschubert.com
Sun Jan 17 14:48:10 UTC 2021


In message <202101171403.10HE32Vc058085 at gndrsh.dnsmgr.net>, "Rodney W. 
Grimes"
writes:
> -- Start of PGP signed section.
> [ Charset windows-1252 ignored, treated as US-ASCII ]
>
> > 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=7e4eca7136eaa35e15f67682468
> f09aa7127b543
> > >>
> > >> commit 7e4eca7136eaa35e15f67682468f09aa7127b543
> > >> Author:     Gleb Smirnoff <glebius at FreeBSD.org>
> > >> AuthorDate: 2021-01-11 20:13:41 +0000
> > >> Commit:     Gleb Smirnoff <glebius at 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.
>
> Critical statement, :"some commands": you fixed 1 of them,
> I also so a bit later:
>         if _tmpdir=$(mktemp -d -q /tmp/.diskless.XXXXXX); then
>
> mktemp lives in /usr/bin also
>
> > This dependency on /usr/bin/grep is easily removed, see:
> > 
> > 	https://reviews.freebsd.org/D28209
> > 
>
> I like this fix, less dependance on /usr during boot
> processing is good.

I left a comment in the review. I'll leave it below too.

Like Rod, I agree this is a good fix.

>
> > 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

df /tmp | while read line ... looks cleaner. Otherwise I agree this is a 
better approach.

> > +       mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
> > +       chmod 01777 /tmp
> >   }
> > 
> >   # If we do not have a writable /tmp, create a memory
> > 
> -- End of PGP section, PGP failed!
>
> -- 
> Rod Grimes                                                 rgrimes at freebsd.or
> g
>


-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy at nwtime.org>    Web:  https://nwtime.org

	The need of the many outweighs the greed of the few.




More information about the dev-commits-src-all mailing list