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-main
mailing list