[ 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.

Reply via email to