Bug 209856

Summary: GELI-encrypted nvd0 doesn't get automounted at boot
Product: Base System Reporter: Ciaby <ciaby>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: New ---    
Severity: Affects Only Me CC: amd64
Priority: ---    
Version: 10.3-RELEASE   
Hardware: amd64   
OS: Any   

Description Ciaby 2016-05-30 10:41:28 UTC
I have a server running with multiple disks, all encrypted with the same keyfile and password. 
I have these three option in loader.conf:
geom_eli_load="YES"
geom_eli_passphrase_prompt="YES"
geom_mirror_load="YES"

These allow me to type the password only once, at the bootloader prompt, and have all the disks automatically mounted at boot.
Everything works fine, but then I added a NVMe device to speed up the different ZFS pools, using it as a SLOG and CACHE device.
The problem is that I added these lines to loader.conf, to make sure that the nvd0 device gets mounted before the system tries to import the pools:
geli_nvd0_keyfile0_load="YES"
geli_nvd0_keyfile0_type="nvd0:geli_keyfile0"
geli_nvd0_keyfile0_name="/boot/encryption.key"

It's exactly the same as all the others disks, but it doesn't work.
Working config:
geli_ada0p4_keyfile0_load="YES"
geli_ada0p4_keyfile0_type="ada0p4:geli_keyfile0"
geli_ada0p4_keyfile0_name="/boot/encryption.key"
geli_ada1p4_keyfile0_load="YES"
geli_ada1p4_keyfile0_type="ada1p4:geli_keyfile0"
geli_ada1p4_keyfile0_name="/boot/encryption.key"
[...]

What could be the problem? I checked the kernel log, the nvd0 device gets recognized _before_ the other disks, so it should be automatically mounted/decrypted like the other ones.