“No space left on device” Can Mean “No Inodes Left”
Linux can report “No space left on device” even when df -h shows plenty of free disk space. One common cause is inode exhaustion: the filesystem can still store bytes, but it cannot create more files.