This is how I managed to shrink an encrypted LUKS volume with ext4 filesystem on Linux
- backup data (seriously)
-
overshrink the ext4 filesystem by a few more GB than needed
cryptsetup luksOpen /dev/sdc1 edata
umount /dev/mapper/edata
e2fsck -f /dev/mapper/edata
resize2fs -p /dev/mapper/edata 300G
cryptsetup luksClose edata
- truncate LUKS volume using
fdisk
orgdisk
to e.g. 320 GB cryptsetup luksOpen /dev/sdc1 edata
- grow the ext4 filesystem back to 100 %