Unix systems have two types of storage limitations. The first, and more
common, is a limitation on physical storage used for storing the contents of
files. The second is a limitation on
inode space which represents file
location and other data.
Though it is uncommon, it is possible to run out of
inode space before
running out of disk space (run
df -i to see the levels of each).
When this happens, the system will complain that there is
No space left on device. Both
inode space and disk space are needed to create a new file.
How can this happen? If lots of directories with lots of empty, small, or
duplicate files are being created, then the
inode space can be used up
disproportionately to the amount of respective disk space. You'll need to
clean up some of those files before you can continue.