Acho que seu teste não corresponde à documentação ( man fstrim
).
-v, --verbose
Verbose execution. With this option fstrim will output the number of bytes passed from the filesystem down the block stack to the device for potential discard. This number is a maximum discard amount from the storage device's perspective, because FITRIM ioctl called repeated will keep sending the same sectors for discard repeatedly.
fstrim will report the same potential discard bytes each time, but only sectors which had been written to between the discards would actually be discarded by the storage device. Further, the kernel block layer reserves the right to adjust the discard ranges to fit raid stripe geometry, non-trim capable devices in a LVM setup, etc. These reductions would not be reflected in fstrim_range.len (the --length option).
Sugiro procurar pedidos de descarte usando blktrace , ou seja, ao mesmo tempo em que você executa o fstrim. Espero que ele mostre se as solicitações de descarte estão sendo enviadas para o dispositivo de bloco na parte inferior da pilha. Você pode comparar os resultados entre sda1 e sda2 (após uma inicialização recente, para evitar o comportamento não documentado em sda1).
btrace -a discard $DEV