Index: head/libexec/rc/rc.d/Makefile =================================================================== --- head/libexec/rc/rc.d/Makefile +++ head/libexec/rc/rc.d/Makefile @@ -318,6 +318,7 @@ ZFS+= zfs ZFS+= zfsbe ZFS+= zfsd +ZFS+= zpool ZFS+= zvol .endif Index: head/libexec/rc/rc.d/mountcritlocal =================================================================== --- head/libexec/rc/rc.d/mountcritlocal +++ head/libexec/rc/rc.d/mountcritlocal @@ -4,7 +4,7 @@ # # PROVIDE: mountcritlocal -# REQUIRE: root hostid_save mdconfig +# REQUIRE: root hostid_save mdconfig zvol # KEYWORD: nojail shutdown . /etc/rc.subr Index: head/libexec/rc/rc.d/zfs =================================================================== --- head/libexec/rc/rc.d/zfs +++ head/libexec/rc/rc.d/zfs @@ -25,13 +25,6 @@ zfs_start_main() { - local cachefile - - for cachefile in /boot/zfs/zpool.cache /etc/zfs/zpool.cache; do - if [ -r $cachefile ]; then - zpool import -c $cachefile -a - fi - done zfs mount -va zfs share -a if [ ! -r /etc/zfs/exports ]; then Index: head/libexec/rc/rc.d/zpool =================================================================== --- head/libexec/rc/rc.d/zpool +++ head/libexec/rc/rc.d/zpool @@ -0,0 +1,31 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: zpool +# REQUIRE: hostid +# BEFORE: zvol mountcritlocal +# KEYWORD: nojail + +. /etc/rc.subr + +name="zpool" +desc="Import ZPOOLs" +rcvar="zfs_enable" +start_cmd="zpool_start" +required_modules="zfs" + +zpool_start() +{ + local cachefile + + for cachefile in /boot/zfs/zpool.cache /etc/zfs/zpool.cache; do + if [ -r $cachefile ]; then + zpool import -c $cachefile -a -N + fi + done +} + +load_rc_config $name +run_rc_command "$1" Index: head/libexec/rc/rc.d/zvol =================================================================== --- head/libexec/rc/rc.d/zvol +++ head/libexec/rc/rc.d/zvol @@ -4,7 +4,7 @@ # # PROVIDE: zvol -# REQUIRE: hostid +# REQUIRE: zpool # BEFORE: dumpon # KEYWORD: nojail