Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jun 2025 23:29:06 -0700
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Warner Losh <imp@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: 900bc0206348 - main - rc.d/zpool: change mountcritlocal  dep from BEFORE to REQUIRE
Message-ID:  <20250614062906.169EA113@slippy.cwsent.com>
In-Reply-To: <202506131548.55DFmqnu004627@gitrepo.freebsd.org>
References:  <202506131548.55DFmqnu004627@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <202506131548.55DFmqnu004627@gitrepo.freebsd.org>, Warner Losh 
write
s:
> The branch main has been updated by imp:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=900bc0206348a439b3a0625a7239cb87
> a2dc27c5
>
> commit 900bc0206348a439b3a0625a7239cb87a2dc27c5
> Author:     Siva Mahadevan <me@svmhdvn.name>
> AuthorDate: 2025-03-14 15:52:12 +0000
> Commit:     Warner Losh <imp@FreeBSD.org>
> CommitDate: 2025-06-13 15:47:25 +0000
>
>     rc.d/zpool: change mountcritlocal dep from BEFORE to REQUIRE
>     
>     In cases where the `/boot` directory is mounted from a different disk,
>     `/boot/zfs/zpool.cache` will not be found during a `rc.d/zpool`
>     run. This is because `/etc/fstab` mounts are mounted in
>     `rc.d/mountcritlocal`, which currently runs AFTER (i.e. `REQUIRE:`)
>     `rc.d/zpool`.
>     
>     This change swaps the `rcorder` of `rc.d/zpool`'s dependency on
>     `mountcritlocal` from `BEFORE:` to `REQUIRE:`. This will ensure that
>     `/boot` (or even `/etc/` in some configurations) to be visible while
>     searching for `zpool.cache`.
>     
>     Reviewed by: imp
>     Pull Request: https://github.com/freebsd/freebsd-src/pull/1614
>     Closes: https://github.com/freebsd/freebsd-src/pull/1614
> ---
>  libexec/rc/rc.d/zpool | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/libexec/rc/rc.d/zpool b/libexec/rc/rc.d/zpool
> index 94e107bd9ae0..63f040ad122b 100755
> --- a/libexec/rc/rc.d/zpool
> +++ b/libexec/rc/rc.d/zpool
> @@ -3,8 +3,7 @@
>  #
>  
>  # PROVIDE: zpool
> -# REQUIRE: hostid disks
> -# BEFORE: mountcritlocal
> +# REQUIRE: hostid disks mountcritlocal
>  # KEYWORD: nojail
>  
>  . /etc/rc.subr
>

This causes systems which boot off UFS with ZFS to fail boot. The machine 
drops into single user until one can /etc/rc.d/zpool start and hit 
control-d to continue the boot.

The reason this fails is /etc/fstab with legacy ZFS will no longer boot 
into multiuser.

slippy$ grep zfs /etc/fstab | head
# tank/usr/lib/debug/amd64      /usr/lib/debug          zfs     rw,noatime  
    0 0
tank/sfw/modules        /boot/modules           zfs     rw,noatime      0 0
tank/sfw/local  /usr/local              zfs     rw,noatime      0 0
tank/sfw/compat /usr/compat             zfs     rw,noatime      0 0
tank/sfw/var/lib        /var/lib                zfs     rw,noatime      0 0
tank/sfw/var/db/pkg     /var/db/pkg             zfs     rw,noatime      0 0
tank/sfw/var/db/ports   /var/db/ports           zfs     rw,noatime      0 0
tank/var/db/mysql       /var/db/mysql           zfs     rw,noatime      0 0
tank/db/pgsql           /var/db/postgres        zfs     rw,noatime      0 0
tank/var/db/local       /var/db/local           zfs     rw,noatime      0 0
slippy$ 

Please revert this.


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

			e**(i*pi)+1=0





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