Dear Maintainer, I encountered this bug when I upgraded my system from buster to bullseye, causing my system to be unable to boot without manual intervention. I also reproduced the bug in a fresh bullseye install.
When I originally installed buster I used guided partitioning with LVM, which resulted in the lvm2 package being installed but not its recommended thin-provisioning-tools. While on buster I configured a volume (/home) to have a cache pool following the steps in lvmcache(7). The system booted with the cached volume available without /usr/sbin/cache_check from thin-provisioning-tools. After upgrading my system to bullseye and rebooting, my cached volume could not be mounted at home and I was asked to enter the root password for the emergency mode maintenance shell. "lvconvert --splitcache vg/cached_lv" would allow me to reboot with the now uncached volume once again activated on boot. Alternatively I could "lvchange -ay vg/cached_lv" at the emergency mode root shell, which would produce the error: /usr/sbin/cache_check: execvp failed: No such file or directory WARNING: Check is skipped, please install recommended missing binary /usr/sbin/cache_check! After manually activating the volume "systemctl default" would continue booting normally. I also encountered this bug on a fresh install of bullseye in a virtual machine. Steps to reproduce (demonstrated using two virtio drives): * Requires two drives * Install bullseye from debian-testing-amd64-netinst.iso from 2021-04- 12 * Guided partitioning with LVM, separate /home * SSH and standard tasks root@lvmtest:~# fdisk /dev/vdb # Create GPT partition table and /dev/vdb1 as type Linux LVM root@lvmtest:~# pvcreate /dev/vdb1 Physical volume "/dev/vdb1" successfully created. root@lvmtest:~# vgextend lvmtest-vg /dev/vdb1 Volume group "lvmtest-vg" successfully extended root@lvmtest:~# lvcreate -n cachehome -L 32g lvmtest-vg Logical volume "cachehome" created. root@lvmtest:~# lvconvert --type cache --cachepool cachehome lvmtest- vg/home WARNING: Converting lvmtest-vg/cachehome to cache pool's data volume with metadata wiping. THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.) Do you really want to convert lvmtest-vg/cachehome? [y/n]: y Converted lvmtest-vg/cachehome to cache pool. Logical volume lvmtest-vg/home is now cached. * Reboot will bring system into emergency mode because /home cannot be mounted. The lvm2 package was again installed by the bullseye debian-installer because of the guided partitioning choice, but without its recommended thin-provisioning-tools which contains /usr/sbin/cache_check. I think that activating cached volumes on boot was working during buster is related to this line from /usr/share/doc/lvm2/changelog.gz: Version 2.02.178-rc1 - 24th May 2018 … Allow activation of pools when thin/cache_check tool is missing. However this seems to be no longer the case on bullseye, at least automatically at boot. This may warrant a warning in the bullseye release notes as systems using lvmcache on buster without thin-provisioning-tools installed will not boot properly after upgrading to bullseye. Thanks, Jeremy McNaughton