zfs_enable vs zfs_load in loader.conf (but neither works)

J David j.david.lists at gmail.com
Mon Sep 9 17:15:19 UTC 2013


On Mon, Sep 9, 2013 at 8:55 AM, krad <kraduk at gmail.com> wrote:
> you will find without 'zfs_enable="YES" ' set a lot of the zfs datasets
> might not get mounted

Matthew has the same understanding of this that I do: zfs_load goes in
loader.conf and zfs_enable goes in rc.conf.

zfs_load causes the loader to load zfs.ko and opensolaris.ko so that
the kernel can access the zpool (e.g. to mount the root filesystem)
after /boot/zfsloader finishes.

zfs_enable in rc.conf activates the /etc/rc.d/zfs and /etc/rc.d/zvol
scripts.  (And tweaks mountd on nfs servers.)

There are several online ZFS-root recipies that say differently
(mainly that using zfs_load has been replaced by zfs_enable in
loader.conf), but I haven't found any authoritative references that
support that.  Have you?  (Also, it doesn't work in testing; the two
.ko's aren't loaded if zfs_load is not present.)

In the absence of new info, that seems like the right way to do it.

Things get sticky when it comes to establishing the ZFS root
filesystem.  There are at least four ways to go about it:

1) Set vfs.root.mountfrom="zfs:data/root" in loader.conf.
2) Run "zpool set bootfs=data/root data" on the pool.
3) Run "zfs set mountpoint=/ data/root" on the root filesystem.
4) Run "zfs set mountpoint=legacy data/root" on the root filesystem
and an /etc/fstab entry.

Unfortunately, some of these are not sufficient by themselves, or they
don't work at all.  So the question is, for 9.2, which (combination
of?) these is the authoritatively correct way to identify the ZFS root
filesystem?

And, for the sake of release engineering, how does 9.2 differ from 9.1
in this regard?

Thanks!


More information about the freebsd-fs mailing list