XFS: no space left on device, (but I have 850GB available!)
I was able to resolve the issue in the following way:
umount [the mountpoint]
mount /dev/data_vg/data_lv -o inode64 [the mountpoint]
Apparently, the default (32-bit inodes?) xfs will store all inodes in the first 1TB portion of the disk. This means that if the first 1TB is full, then you'll run into no space on disk errors even if it appears you have plenty of space/inodes available. By adding the inode64 option, the nodes can be stored anywhere on disk, if I understand correctly.
Source: the XFS FAQ.