Where do you store the key anyway?
The key itself is on an encrypted drive, an extra passphrase is not required for my purposes.
Sorry didn't read your message carefully. I assumed it was a system drive as you were using rc.
Nope, it is an external drive.
Why not use a udev rule as дамјан mentioned. That's what systemd would use anyway. Or even a simple button in your gui to mount it.
Thanks for reminding me of udev rules. I've now created a udev rule which triggers the decryption; even better than the rc.local solution since it will be decrypted whenever I plug the external drive in. The timing issue remains. My drive is really slow compared to a very new one; I will replace it eventually anyway, so it's just a matter of time that the problem disappears... J.