Vermutlich sehen Sie eine Variante des Fehlers „Kein Platz mehr auf dem Gerät“:
# 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
Und in der Praxis erreichen Sie diese Grenze viel früher als "4 Milliarden Dateien". Überprüfen Sie Ihre Dateisysteme mit beiden df -h
und df -i
um herauszufinden, wie viel Platz noch übrig ist.
# 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
Wenn Ihre Dateien in diesem Beispiel im Durchschnitt keine 4K-Größe haben, geht Ihnen der Inode-Speicherplatz viel früher aus als der Speicherplatz. Es ist möglich, ein anderes Verhältnis anzugeben (mke2fs -N number-of-inodes
oder -i bytes-per-inode
oder -T usage-type
wie in /etc/mke2fs.conf
definiert ).
Sobald das Limit erreicht ist, schlagen nachfolgende Versuche, Dateien zu erstellen, mit ENOSPC
fehl , was darauf hinweist, dass das Zieldateisystem keinen Platz für neue Dateien hat.
In dem von Ihnen beschriebenen Szenario führt dies normalerweise dazu, dass die Übertragung abgebrochen wird, sobald das Limit erreicht ist.