Pravděpodobně uvidíte nějakou variantu chyby „Na zařízení nezbývá místo“:
# truncate -s 100M foobar.img
# mkfs.ext4 foobar.img
Creating filesystem with 102400 1k blocks and 25688 inodes
---> number of inodes determined at mkfs time ^^^^^
# mount -o loop foobar.img loop/
# touch loop/{1..25688}
touch: cannot touch 'loop/25678': No space left on device
touch: cannot touch 'loop/25679': No space left on device
touch: cannot touch 'loop/25680': No space left on device
A v praxi tento limit dosáhnete mnohem dříve než „4 miliardy souborů“. Zkontrolujte své souborové systémy pomocí obou df -h
a df -i
abyste zjistili, kolik místa zbývá.
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 93M 2.1M 84M 3% /dev/shm/loop
# df -i loop/
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/loop0 25688 25688 0 100% /dev/shm/loop
V tomto příkladu, pokud vaše soubory nemají průměrnou velikost 4K, dojde vám místo inodů mnohem dříve než úložný prostor. Je možné zadat jiný poměr (mke2fs -N number-of-inodes
nebo -i bytes-per-inode
nebo -T usage-type
jak je definováno v /etc/mke2fs.conf
).
Po dosažení limitu se následující pokusy o vytvoření souborů nezdaří s ENOSPC
, což znamená, že cílový souborový systém nemá místo pro nové soubory.
Ve scénáři, který popisujete, to obvykle povede k přerušení přenosu, jakmile je dosaženo limitu.