From b6e33f0cd53683e06570606d5bd88fc04a4b76fe Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Sat, 14 Jun 2025 06:16:16 -0700 Subject: [PATCH] rc.d/mountcritlocal: Make sure zpools are imported for legacy ZFS Legacy ZFS uses fstab to mount its datasets. In an attempt to fix another problem 900bc0206348 broke legacy ZFS in fstab(5). This comit works around the problem by mountcritlocal scanning /etc/fstab for zfs mountpoint and if any are found invoke /etc/rc.d/zpool start. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D50844 --- libexec/rc/rc.d/mountcritlocal | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libexec/rc/rc.d/mountcritlocal b/libexec/rc/rc.d/mountcritlocal index f91eaf44457..6dce672657f 100755 --- a/libexec/rc/rc.d/mountcritlocal +++ b/libexec/rc/rc.d/mountcritlocal @@ -27,6 +27,15 @@ mountcritlocal_start() ;; esac + while read a b vfstype rest; do + if [ "$vfstype" = "zfs" -a "$a" != "#" ]; then + # zpool is needed for legacy ZFS + echo 'Importing zpools for legacy ZFS' + /etc/rc.d/zpool start + break + fi + done < /etc/fstab + # Mount everything except nfs filesystems. startmsg -n 'Mounting local filesystems:' mount_excludes='no'