top of ZVOLs. The problem is that rc.d/fsck runs before rc.d/zfs. The latter makes ZVOLs to appear in /dev/. In such case rc.d/fsck cannot find devfs entry and aborts. We cannot simply move rc.d/zfs before rc.d/fsck, because we first want kern.hostid to be configured (by rc.d/hostid). If we won't wait (hostid will be 0) we can reuse disks which are in use by different systems (eg. in SAN/NAS environment). We also cannot move rc.d/hostid before rc.d/fsck, because rc.d/hostid on first system start stores generated kern.hostuuid in /etc/hostid file, so it needs root file system to be mounted read-write. The fix is to split rc.d/hostid so that rc.d/hostid (which will now run before rc.d/fsck) only generates hostid and sets up sysctls, but doesn't touch root file system and rc.d/hostid_save (which is run after rc.d/root) and only creates /etc/hostid file. With that in place, we can move ZVOL initialization to dedicated rc.d/zvol script which runs before rc.d/fsck. PR: conf/120194 Reported by: James Snow <snow@teardrop.org> Reviewed by: brooks Approved by: re (kib) MFC after: 2 weeks
57 lines
1.4 KiB
Makefile
Executable File
57 lines
1.4 KiB
Makefile
Executable File
# $FreeBSD$
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \
|
|
abi accounting addswap adjkerntz amd \
|
|
apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \
|
|
bgfsck bluetooth bootparams bridge bsnmpd bthidd \
|
|
ccd cleanvar cleartmp cron \
|
|
ddb defaultroute devd devfs dhclient \
|
|
dmesg dumpon \
|
|
encswap \
|
|
fsck ftp-proxy ftpd \
|
|
gbde geli geli2 gssd \
|
|
hcsecd \
|
|
hostapd hostid hostid_save hostname \
|
|
inetd initrandom \
|
|
ip6addrctl ip6fw ipfilter ipfs ipfw ipmon \
|
|
ipnat ipsec ipxrouted \
|
|
jail \
|
|
kadmind kerberos keyserv kldxref kpasswdd \
|
|
ldconfig local localpkg lockd lpd \
|
|
mixer motd mountcritlocal mountcritremote mountlate \
|
|
mdconfig mdconfig2 mountd moused mroute6d mrouted msgs \
|
|
named natd netif netoptions \
|
|
network_ipv6 newsyslog nfsclient nfscbd nfsd \
|
|
nfsserver nfsuserd nisdomain nsswitch ntpd ntpdate \
|
|
othermta \
|
|
pf pflog pfsync \
|
|
powerd power_profile ppp pppoed pwcheck \
|
|
quota \
|
|
random rarpd resolv rfcomm_pppd_server root \
|
|
route6d routed routing rpcbind rtadvd rwho \
|
|
savecore sdpd securelevel sendmail \
|
|
serial sppp statd swap1 \
|
|
syscons sysctl syslogd \
|
|
timed tmp \
|
|
ugidfw \
|
|
var virecover \
|
|
watchdogd wpa_supplicant \
|
|
ypbind yppasswdd ypserv \
|
|
ypset ypupdated ypxfrd \
|
|
zfs zvol
|
|
|
|
.if ${MK_OPENSSH} != "no"
|
|
FILES+= sshd
|
|
.endif
|
|
|
|
.if ${MK_NS_CACHING} != "no"
|
|
FILES+= nscd
|
|
.endif
|
|
|
|
FILESDIR= /etc/rc.d
|
|
FILESMODE= ${BINMODE}
|
|
|
|
.include <bsd.prog.mk>
|