I had the same problem and had to (re)search for a while to find the (surprisingly simple. and obvious. in retrospect;)) solution here: http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/ : by default, neither LVM nor DM-crypt pass any discard (TRIM) commands. The text I linked shows how to change these settings. In short, for the respective filesystem, add the filesystem option discard in /etc/crypttab; and set issue_discards to 1 in /etc/lvm/lvm.conf). Then you have to rebuild initramfs by executing mkinitrd, then you’ll have to reboot - and that’s all. Afterwards, the fstrim command will work again.
thanks for the hint!
By chance, the german computer-mag c’t had a similar hint in its issue 22/2014.
After applying the extent to /etc/crypttab, the fstrim command did not issue any error message, but the ‘blocks used’ on the encrypted device (/home) were before and after trim the same, unlike on ‘/’. So it is very likely that it still failed.