Re: rc.d/zpool runs before ada(4) attaches

From: Harry Schmalzbauer <freebsd_at_omnilan.de>
Date: Sat, 5 Dec 2020 18:46:22 +0100
Am 01.12.2020 um 16:34 schrieb Ian Lepore::
:
:
:
>> You can define these in /boot/loader.conf:
>> #kern.cam.boot_delay="10000" # Delay (in ms) of root mount for CAM
>> bus
>> #kern.cam.scsi_delay="2000" # Delay (in ms) before probing SCSI
>>
>> Maybe that helps.
>>
>> Ronald.
>>
> Those settings control waiting before mounting root.  Harry's problem
> is that root is mounted quickly, before other drives are ready for zfs.
>   
> The zpool script waits for 'disks'.  It would be nice if the cam
> subsystem had something like a sysctl it set to indicate when initial
> probing for disks was done, then there could be an rc.d/camprobe script
> with 'PROVIDE: disks' which waits for the probing to complete.
>
> -- Ian

Until something described above is available, or anybody is aware of any 
other trick,
here's a tested workaround: 
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251610

It turned out that also swapon and dumpon suffer from early 
root_hold_wait() release.
For dumpon, cam(4) doesn't even start probing.  Luckily all target:LUNs 
are visible at that earliest stage in rc.d/dumpon.
So that's the point where I check if any real target is in state 
unattached (()) or probing ((aprobe)).
I don't know details of the involved vfs.root_mount_hold sysctl, but 
assume this is dead end currently...

Best regards,
-harry
Received on Sat Dec 05 2020 - 16:46:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:26 UTC