Patch DirSizeMB für Hard Link Cutter

  • Hallo,


    in Zeiten des Hard Link Cutter Patches ist der hier vorgestellte Patch unbedingt nötig.
    Ohne ihn werden die Größe von gelöschten Verzeichnissen mit Hard Links falsch berechnet. Der VDR rechnet zum freien Speicherplatz im Video-Verzeichnis die Größe aller gelöschten aber noch nicht entfernten Aufnahmen hinzu.
    Beim Benutzen des Hard Link Cutter Patches bestehen aber gelöschte Aufnahmen zum großen Teil aus Hard Links, sodass im Original VDR ein viel zu hoher Wert für den freien Speicher im Aufnahmeverzeichnis berechnet wird. Beim entgültigen Löschen der Hard Links wird ja kein Speicher frei.


    Der hier vorgestellte Patch berücksichtigt dies und berücksichtigt in einem Verzeichnis, dass mit '.del' endet nur Dateien mit einem Link Count von 1.


    Tschüß Frank

  • Der Patch verschiebt das Problem natürlich nur in die entgegengesetzte Richtung: Löscht man Original und Kopie, werden beide nicht gezählt. Exakt wäre es nur, wenn man bei hard links mitzählt, ob jedes Dateifragment (bzw. inode+dateisystem-id) so oft gesehen wurde, wie es hard links dazu gibt.


    'du' kann das übrigens: Bei hard links zählt du nur das erste Vorkommen jeder Datei.


    Gruß,


    Udo

  • Hallo,


    ich habe dieses 'Problem' auch schon gesehen. Aber so wird wenigstens höchstens ein bisschen zu wenig freier Platz angezeigt und nicht was hinzugedichtet. Und wenn die Verzeichnisse endgültig gelöscht werden stimmt wieder alles. Außerdem kommt doch höchst selten vor, dass man die geschnittene Aufnahme und die Originalaufnahme zum gleichen Zeitpunkt löscht (für mich trifft das nie zu). Deshalb ist für mich ist dieser Patch jedenfalls erstmal ein großer Gewinn.


    Kann man denn zu einem Hardlink alle zugehörigen Verzeichniseinträge ermitteln ohne alle Verzeichnisse selber durchsuchen zu müssen?


    Tschüß Frank

  • Man kann zumindest die Anzahl der Positionen im Dateibaum ermitteln (stat meldet das in st_nlink). Und wenn es zu einer 001.vdr zwei Dateinamen geben soll, und man beim Durchlaufen des /video-Verzeichnis auch zwei Dateien findet, für die stat das gleiche Paar st_dev und st_ino meldet, weiss man, dass man alle gefunden hat.


    Gruß,


    Udo