As of r364746 (OpenZFS import) existing ZPOOLs are not imported
prior to zvol and mountcritlocal resulting in ZVOLs (swap and virtual machine UFS filesystems) being unavailable, leading to boot failures. We move the zpool import from zfs to a new zpool script, with the -N option to avoid mounting datasets while making the ZPOOL's datasets available for "legacy" mount (mountpoint=legacy) and ZVOLs available for subsequent use for swap (in the zvol rc sript) or for UFS or other filesystems in fstab(5), mounted by mountcritlocal. Reviewed by: freqlabs (previous version) Differential Revision: https://reviews.freebsd.org/D26185
This commit is contained in:
parent
1e9a0b391d
commit
74e2b24f2c
@ -318,6 +318,7 @@ CONFGROUPS+= ZFS
|
||||
ZFS+= zfs
|
||||
ZFS+= zfsbe
|
||||
ZFS+= zfsd
|
||||
ZFS+= zpool
|
||||
ZFS+= zvol
|
||||
.endif
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
# PROVIDE: mountcritlocal
|
||||
# REQUIRE: root hostid_save mdconfig
|
||||
# REQUIRE: root hostid_save mdconfig zvol
|
||||
# KEYWORD: nojail shutdown
|
||||
|
||||
. /etc/rc.subr
|
||||
|
@ -25,13 +25,6 @@ zfs_start_jail()
|
||||
|
||||
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
|
||||
|
31
libexec/rc/rc.d/zpool
Executable file
31
libexec/rc/rc.d/zpool
Executable file
@ -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"
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
# PROVIDE: zvol
|
||||
# REQUIRE: hostid
|
||||
# REQUIRE: zpool
|
||||
# BEFORE: dumpon
|
||||
# KEYWORD: nojail
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user