Enabling TRIM for LUKS encrypted USB disk

Published on Author admin

Change prisivioning model to unmap to enable TRIM for USB disk:

echo unmap > /sys/block/sda/device/scsi_disk/*/provisioning_mode

verify settings:

# cat /sys/block/sda/device/scsi_disk/*/provisioning_mode
unmap

during LUKS volumen mounting add --allow-discards:

cryptsetup luksOpen --allow-discards /dev/sda encrypted_disk

verify, both device and encrypted volume should shows non-zero values:

# lsblk --discard /dev/sda
NAME             DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                     0      512B       4G         0
└─encrypted_disk        0      512B       4G         0

mount filesystem:

mount /dev/mapper/encrypted_disk /data

run fstrim on mounted filesystem:

fstrim -v /data