LUKSv2: non-root user can't convert detached header in file
The check for exclusive open has to be rewritten (stick with UUID check, we don't care about snapshots for conversion case):
(...)
# Key length 32, device size 4096 sectors, header size 2050 sectors.
WARNING!
========
This operation will convert l1_256b_unmovable to LUKS2 format.
Are you sure? (Type uppercase yes): YES
# Data offset: 2097152, LUKS1 (full) header size 1049600, required shift: 28672
Cannot use a loopback device, running as non-root user.
# Releasing crypt device l1_256b_unmovable context.
# Releasing device-mapper backend.
Command failed with code -1 (wrong or missing parameters).