There seems to be plenty of results on Google where people had similar problems. An example:
Back up all your important data before attempting this. Always assume that you can lose all your data when resizing partitions.
This forum thread suggests the following procedure, in this example we shrink a partition from 10G to 9G:
First, we unmount.
# umount /dev/vg_blah/lv_blah
Check the file system.
# e2fsck -f /dev/vg_blah/lv_blah
Resize the file system.
# resize2fs -p /dev/vg_blah/lv_blah 9G
Reduce the size of the logical volume.
# lvreduce -L -1G /dev/vg_blah/lv_blah
Shrink the volume group if desired.
# vgreduce vg_blah /dev/sdxy
All credit goes to brianmcgee, author of the post who also points out:
It is crucial that you use the exact amount of space. If you reduce
volume more than the filesytem you truncate the logical volume and you
risk data loss!
Note: vgreduce will fail with "cannot resize to xxxxx extents as later ones are allocated" if you have another lv at the end of the disk - I had a swap lv, which I deleted. See 2 for help on that situation.