[ Oops, resending to include the source-changes-d list. ] [ Sorry for the double-up for the original recipients. ]
Hi Alexander, folks, Sorry for chiming in a bit late on this. I'm running with a complete ZFS-only setup with no legacy mounts. This is my basic ZFS layout (leaving out a few mounts that don't add any more value to this discussion): NAME MOUNTPOINT pool0 /pool0 pool0/ROOT none pool0/ROOT/default / pool0/home /home pool0/home/simonb /home/simonb pool0/usr /usr pool0/usr/obj /usr/obj pool0/usr/pkg /usr/pkg pool0/var /var pool0/var/crash /var/crash pool0/var/log /var/log pool0/var/mail /var/mail pool0/var/tmp /var/tmp and I then have this grot in my mountcritlocal: # XXXXXX zfs mount pool0/var zfs mount pool0/var/crash zfs mount pool0/var/log zfs mount pool0/var/mail zfs mount pool0/var/tmp I have been trying to think of better solutions to this before you added this new critical_filesystems_zfs rc.conf variable. One idea was to add a user defined property (eg "netbsd:mountcrit=yes") and use that in a similar way to how you implemented mount_critical_filesystems_zfs . Then another idea hit me. Why don't we just mount all the ZFS filesystems in mountcritlocal? I can't think of any negative reasons for not mounting all non-legacy mountable ZFS filesystems early in the boot process. This would be as simple as moving this chunk from mountall to mountcritlocal: # Mount ZFS filesystems first because fstab # may try and null mount paths on ZFS. if checkyesno zfs; then zfs mount -a zfs share -a fi and the unmount stuff from mountall to a new mountcritlocal_stop function. For people using critical early legacy mounts, they can still be added via critical_filesystems_local as that looks up via /etc/fstab (right? I haven't tested this). Anyone see a reason for not using this much simpler approach to having ZFS filesystems available? I don't think we'd need to keep critical_filesystems_zfs if we change mountcritlocal as I suggest, as that explicitly only deals with non-legacy filesystems. Cheers, Simon.