Greetings,

I've been using Fedora with a "simple" LVM setup with no problems for the least 
3 years. Recently I've decided to set up my laptop with LVM on top of LUKS in 
F23. While migration from the previous setup was relatively painless, I've been 
noting issues with shutdown: I consistently observe logs stating failure to 
properly deactivate the logical volumes and the LUKS device (as reported by 
others in bug 1097322 [1], which unfortunately has been closed due to EOL). I 
don't know if they are spurious, which led me to investigate a bit about how 
things work, and I'm failing to make sense of it.

I've noticed the existence of `blk-availability.service` in systemd. It's a 
service that does nothing on start, and calls the `blkdeactivate` executable on 
system shutdown, after the "special block-device" services (LVM, iSCSI, etc) 
have stopped. `blkdeactivate` is called with the option to umount devices in 
use. But I don't see how it can ever succeed for the system root: other 
services will still be shutting down, and systemd's unmounting phase will not 
have been reached yet. The same might hold true for non-system-root mounts as 
well, if services that depend on them are in the same situation.

My understanding was that special block-device handling was a task performed by 
dracut in the initramfs. It does have a shutdown hook called `dm-shutdown.sh` 
that uses the `dmsetup` executable to remove any device-mapper devices still 
enabled. I don't see any shutdown hooks for the LVM module, so I assume the DM 
module also takes care of them. Is my understanding correct?

Wouldn't it be possible to replace the custom DM hook with a call to 
`blkdeactivate`, and remove the `blk-availability` service from the "normal 
root" shutdown? Could that possibly work better than the current setup, since 
`blkdeactivate` claims to be capable to handle nested device-mapper setups, and 
to be able to use LVM commands in a more intelligent way (for example, 
deactivating whole volume groups at once)? Shouldn't `blkactivate` at least be 
told not to unmount the root, as it will always fail? 

Apologies if I said anything egregiously wrong, and I'd be glad to be corrected 
in that case.

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1097322

Thanks and happy holidays,
Daniel Miranda
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Reply via email to