Ein Phänomen, Dateigröße wird falsch angezeigt!

bx-8017

schläft auf dem Boardsofa
Hi,

ich stehe wiedermal vor einem Rätsel:

Ich nehme regelmäßig über Netzwerkstreaming von meinem Sat-Receiver (dbox) auf die PC-Festplatte Filme auf. Ein entsprechender Ordner ist dafür mittels NFS auf dem PC freigegeben. Nach der Aufnahme wird der PC mittels netcat runtergefahren.
Seit längerem stelle ich jetzt schon fest, dass ich in die Falle tappe und aufgrund der Dateigrösse meine, der Film sei nicht korrekt aufgenommen worden. Üblichgerweise ist die Dateigröße so 2-3 GB.

Wenn ich nämlich den PC dann z.B am nächsten Tag hochfahre, wird mir eine Dateigröße von z.B 10 MB angezeigt, folglich denke ich, die Aufnahme hat nicht funktioniert. Wenn ich nun den Ordner wechsele und dann wieder öffne, ändert sich die Dateigröße in 2-3 GB. Manchmal muss ich dies sogar zweimal tun.

Das ist für mich absolut unverständlich. Wenn der Rechner nach der Aufnahme runterfährt und wird neu gestartet, muss doch die Dateigröße richtig angezeigt werden ohne weiteres zutun. Es dürfte nicht nötig sein, zischmal neu in den ordner zu wechseln, F5 zu drücken usw. bis die korrekte Dateigröße da steht.

Kann das jmd erklären. Ich versteh's nicht.

Grüße
BX-8017
 
Könnte es eventuell sein, dass das Herunterfahren etwas zu schnell geht und die neue Dateigröße noch nicht im NTFS-Journal eingetragen ist?

Im Prinzip erstellen ja die meisten Aufnahmeprogramme erst einmal die Header Datei, evtl mit einem kleinen Puffer, das würde die 10MB erklären.

Danach fordert die Anwendung im Allgemeinen zur Laufzeit weiteren HD-Speicher vom System an, um die nächsten Päckchen dranpappen zu können und ganz am Schluß wird die eigentliche Dateigröße eingetragen, wenn der fclose() Befehl für die Datei an das System abgeschickt wird.
Da das Aufnahmegerät/programm ja nicht im Voraus wissen kann, wie groß die aufzuzeichnende Datei letztendlich werden wird, denke ich mir, dass es auch in diesem Fall so gemacht wird.

Wenn Du dann das System (evtl. beschleunigt) herunterfährst, kann es sein, dass dieser Eintrag nicht direkt erfolgt ist und somit das "ich-bin-fertig-und-da-soll-auch-nichts-mehr-hinten-dran" Flag noch nicht gesetzt ist.

Nach dem nächsten Systemstart schaut dann das System beim Öffnen des Ordners erst einmal in sein Journal, stellt fest:
Aha, 10MB sind definitiv angefordert worden, also wird die Datei wohl so groß sein. Die anderen vielleicht benötigten Gigabyte sind noch nicht finalisiert, deswegen zeige ich die Größe nicht an.

Wenn Du dann den Ordner wechselst und wieder zurück kehrst und am besten noch F5 drückst, wundert sich das Sytem darüber, dass immer noch so viel Platz reserviert sein soll und schaut endlich nach, wer denn gerade darauf zugreifen mag - was in diesem Fall natürlich niemand außer dem Exploder ist. Also wird dann endlich das Flag gesetzt und die richtige Dateigröße ermittelt. Da sich das Sytem dazu durch die Bytestruktur auf der Platte hangeln muss, kann das schon einmal einen Moment dauern, 2-3 GB sind auch auf einer schnellen Platte nicht in 1s zu durchforsten.

Es kann natürlich auch an etwas ganz anderem liegen, bitte schlagt mich nicht, wenn ich falsch liege... :D
 
@QUHNO:

Du sprichst mir eigentlich aus der Seele. Ich habe mir auch schon sowas ähnliches vorgestellt ohne mich so detailliert ausdrücken zu können.

Ich dachte mir das so: Die Dateigrößenanzeige wird ja nur aktualisiert, wenn man den Ordnerinhalt aktualisiert, sprich F5 drückt. Das macht aber keiner. Die Aufnahme ist fertig und der PC wird eigentlich direkt nach der Aufnahme mittels Remotezugriff und dem ausführen des Befehls "shutdown" runtergefahren.

Was du sagst klingt plausibel. Windows wird wohl einige Zeit brauchen um die Dateigrösse richtig einzutragen.

Frage: Würde es da ausreichen, in den shutdownbefehl eine Verzögerung einzubauen, oder müsste ich tatsächich F5 drücken vor dem runterfahren ?
Letzeres würde ja die ganze Automatisierung zunichte machen.


Danke
BX-8017

PS. ich könnte auchmal versuchen, anstatt direkt das shutdowncommando ausführen zu lassen, einfach vorher ein "cd .." und dann nochmal ein "cd Aufnahme" (so heisst der ordner) und dann "shutdown"
 
Da meine Kristallkugel leider gerade beim Polieren ist, kann ich Dir nicht sagen, ob es so funktionieren würde - ausprobieren würde ich es aber. Wenn's nicht klappt, ist zumindestens nichts verloren :)
 
Oben