prüfen ob Partition genügend Platz hat.



  • Hallo,
    ich habe ein kleines C Programm. Eine bestimmte Aktion (Speichern eines Bildes) soll nur dann durchgeführt werden, wenn die Partition genügend Platz hat. Das OS ist Debian/ Sarge.

    Beispielcode wäre super 🙂

    vg

    Matthias



  • matthiashh schrieb:

    Hallo,
    ich habe ein kleines C Programm. Eine bestimmte Aktion (Speichern eines Bildes) soll nur dann durchgeführt werden, wenn die Partition genügend Platz hat. Das OS ist Debian/ Sarge.

    Beispielcode wäre super 🙂

    vg

    Matthias

    Machs doch einfach so:
    Prüfe den Rückgabewert der Funktion, die eine Datei erstellt (abspeichert).
    Danach wertest du den Rückgabewert aus (kein platz oder keine berechtigung im falle des Scheitern).

    Hängt natürlich davon ab, welche Funktionen du nutzt.

    Dadurch wird der code vereinfacht und funktioniert trotzdem wunderbar.

    MfG, the one who hates social parasites.







  • DrGreenthumb schrieb:

    man: statfs

    Ah, ausgezeichnet. Das habe ich aus irgendeinem Grund im apropos-Output nicht gefunden. Wird eindeutig Zeit, dass ich mir den Namen von solchen praktischen Funktionen merke.



  • statfs sieht gut aus. Danke!
    df ist wohl eher für die Konsole....

    Grüße
    Matthias



  • DrGreenthumb schrieb:

    man: statfs

    ... nur mal so als Hinweis bzw. Nachtrag:

    es reicht nicht aus, nur die freie Anzahl Blöcke f_bavail abzufragen (Hinweis: Blockgröße ist natürlich System-/Filesystem-abhängig, siehe f_bsize), sondern man sollte zusätzlich auch die Anzahl freier Inodes f_ffree abfragen, denn auch die kann theoretisch am Limit sein 😉

    P.S.: Auch die Struktur statfs ist systemabhängig, aber sowohl f_bavail als auch f_ffree scheinen wohl weitgehend kompatibel zu sein.


Anmelden zum Antworten