Vielleicht sollte ich noch ein wenig den Aufbau des UFS-Dateisystems erläutern. Jedes Dateisystem hat eine Inode-Tabelle. Jede Datei in diesem Dateisystem belegt einen Eintrag in der Inode-Tabelle. Denn das System muß wissen, bei welchem Block eine bestimmte Datei beginnt (das Ende ist ja dann sowieso durch EOF gekennzeichnet). In der Tabelle steht z.B. drin (ganz, ganz vereinfacht ausgedrückt): Die Datei abc beginnt bei Block 123456. Und wenn nun diese Tabelle voll ist, also keine Inodes darin mehr frei sind, kannst du keine Dateien mehr anlegen, unabhängig davon, wieviel freier Speicherplatz auf dem Dateisystem noch vorhanden sein mag. Wie gesagt, freier Speicherplatz alleine bringt nichts, das Dateisystem muß in der Tabelle aufzeichnen, bei welchem Block eine Datei beginnt, sonst findet es nichts wieder.
Die Größe der Inode-Tabelle läßt sich bei FreeBSD mit dem Schalter -i von newfs festlegen (keine Ahnung, ob das bei DragonFly anders ist). Wenn man z.B. angibt, daß eine Inode-Dichte von 8 KB angelegt werden soll, so hätte man auf einem 1 GB großen Dateisystem eine Inode-Tabelle, die Platz für 131.072 Einträge (= Dateien) hat.
Legt man jetzt theoretisch 131.072 Dateien mit einer Größe von 1 KB an, ist die Tabelle voll, man kann keine Dateien mehr auf dem Dateisystem anlegen, obwohl nur 128 MB des physischen Speicherplatzes belegt ist.
Jetzt könnte man hingehen, und die Inode-Dichte auf 1 KB verringern. Dazu müßte man aber ein neues Dateisystem erstellen. Mir ist keine Möglichkeit bekannt, die Inode-Dichte eines bestehenden Dateisystems zu ändern. Jedenfalls könnte man dann theoretisch 1.024.000 Dateien anlegen (wenn einem nicht vorher der physische Speicherplatz ausgeht).
Ich sage bei der Anzahl der Dateien deshalb immer "theoretisch", weil man nicht ganz so viele Dateien anlegen kann. Die Inode-Tabelle muß ja auch irgendwo gespeichert werden. Heißt, je größer die Inode-Dichte, desto größer wird die Inode-Tabelle, desto weniger Speicherplatz habe ich letztendlich für Nutzdaten auf dem Dateisystem.
Man sollte also überlegen, welche Inode-Dichte man auf welchem Dateisystem verwendet. Eventuell hat DragonFly dahingehend schon optimiert, woraus sich die unterschiedlichen Inode-Dichten ergeben würden, die Leno festgestellt hat. So geht man davon aus, daß unter /usr eher größere Dateien (Binaries, Libs, usw.) liegen. Ich brauche da also weniger Inodes und habe damit mehr Netto-Speicherplatz auf /usr.
Auf /home werden dann wohl eher kleinere Dateien angelegt, z.B. eben Dateien aus einem CVS-System. Da brauche ich dann viele Inodes, das ist in dem Falle wichtiger als der Netto-Speicherplatz (der mir ja nichts bringt, wenn die Inode-Tabelle frühzeitig voll ist). Nur scheint bei Leno trotzdem noch die Inode-Dichte für /home zu klein gewählt.
Wie gesagt, IMO bleibt da nur das Neuanlegen des Dateisystems mit newfs und Verwendung des Schalters -i.