Description of problem: It is possible for stratisd to overwrite LUKS2 metadata, rendering the device's data inaccessible. Version-Release number of selected component (if applicable): stratisd-3.5.7-1.el9 How reproducible: The bug occurs consistently but under specific conditions which are very hard to reproduce. What needs to happen is that stratisd fails to unlock all devices when starting an encrypted pool and then fails to teardown all the encrypted devices when rolling back the unlock actions, leaving at least one device in an unlocked state. At this point the pool is not fully set up. But, if the pool is then setup and if stratisd writes Stratis pool level metadata to the pool devices, it will overwrite the LUKS metadata on one of the devices in the pool, rendering that device unopenable once it has been closed. Steps to Reproduce: Not specified. Chaotically starting and stopping a pool while simultaneously but intermittently reading data from the opened crypt devices in the pool might work. Actual results: Pool can not be started because pool data device can not be unlocked because LUKS2 metadata has been overwritten. Expected results: It should always be possible to start an encrypted pool, so long as an appropriate unlock mechanism is in place.
Posted CentOS Stream merge request: https://gitlab.com/redhat/centos-stream/rpms/stratisd/-/merge_requests/22