If you call df with the -P option it fixes the wraping problem:
actual:/# df -P /mnt/compvps/vz/private/108/
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/mapper/actual--vg001-vps--storage 100756920 6416292 89222472 7% /mnt/compvps
actual:/#
That fixes the parsing of result from df.
But there is still an issue where it is misreading the name of the LV it needs to snapshot. df is not reporting the name of the LV correctly. Then again, I'm not sure if it is supposed to.
The VG name is: actual-vg001
The LV name is: vps-storage
So it seems df is adding an extra hyphen to any hyphen embedded in a name, and then delimiting the VG and LV with a hyphen, so VG-LG. I don't know where mapper comes from.