md5sum und gepuffertes Schreiben

R

rikola

Foren Gott
Hallo,

ich habe grade eine etwa 8MB grosse Datei auf einen USB-Stick kopiert. Nach Eingabe des cp-Befehls kam der Prompt prompt wieder, woraufhin ich mit md5sum ebendiese Pruefsumme fuer Original und Kopie berechnen lies (sie stimmten ueberein). Auch das ging sehr schnell.
Erst das Aushaengen des Sticks dauerte eine Weile und er blinkte- ich nehme daher an, dass dann erst die Daten eigentlich geschrieben wurden.

Wie konnte dann md5sum die Pruefsumme berechnen? Ich dachte, dazu muesste es die gesamte Datei lesen.

Weiss jemand, wo mein Denkfehler liegt? Reine Neugier.
 
Das klingt ja skuril.
Also wenn ich auf meinen USB-Stecken Daten lade, werden die sofort geschrieben. Gepuffert (v.a. 8MB!!) wird bei mir da nichts; i.d.R. dauert die Checksummenberechnung von einem 8 MB File 0.2 Sekunden bei einem 2.8 Ghz Dualcore... Also ich kann wie du keinen Denkfehler erkennen :)
 
USB-Stick: Von Hand mounten / unmounten?

Hallo,

ich glaube auch eher, daß durch händisches mounten und unmounten auf der Schnittstelle Traffic entsteht, den man dann als blinken sieht. Womit sich die Frage erhebt: Wie mountest du den Stick überhaupt? Der sollte automatisch eingebunden werden, und dann kannst du ihn einfach raus ziehen. Das ist bei USB doch der Sinn.... was soll da gepuffert werden?

Bei mir wird unter reichlich Geblinke ein USB-Stick nach /media gemountet, alle Dateien, die ich da drauf schiebe, sind sofort verfügbar, wenn ich den Stick einfach abziehe.

Was ür ein Linux ist das denn und was für eine Version? Früher ging das nicht so schön automatisch.
 
Unter SuSE o.ae. wird, soweit ich weiss, auch sofort geschrieben, um das Verhalten von Windows nachzuahmen, damit man den Stick einfach rausziehen kann. Normalerweise werden Daten jedoch erst geschrieben, wenn das System denkt, dass es Zeit dazu hat oder das es notwendig ist. Was spaetestens bei einem 'sync' oder beim Aushaengen der Partition der Fall ist.

Die md5-Summe wurde auch sehr schnell beschrieben, waehrend ich denke, dass das Schreiben von 8MB auf einem USB-1.0 System deutlich laenger dauern sollte - eben etwa so lange, wie das spaetere Aushaengen dauerte.

Und da ich dachte, dass eine md5-Summe von der ganzen Datei abhaengt, wundert es mich, wie sie berechnet wurde, wenn die Datei noch gar nicht auf dem Stick war.

Irgendwo ist da ein Fehler, da die Pruefsumme nicht so schnell haette berechnet werden koennen, meine ich.

@Jabo:
Das System ist ein Athlon k6, 700MHz, Debian Sarge. Allerdings haenge ich auf meinen Systemen alles von der Konsole aus per 'mount' ein, da ich das automatische Einhaengen nicht mag (bin wohl zu alt dafuer).
 
Zuletzt bearbeitet:
Hi,

kann ich bestätigen.

Du kopierst und es ist quasi im nächsten Augenblick alles auf dem USBStick. Es wird mehr oder weniger gecached. Es gibt halt einen Verweis auf die alte/originale Datei. Hat den Vorteil das man sofort weiter arbeiten kann. Wenn du den Stick jetzt unmountest will bzw muss er natürlich die Daten dann auch schreiben weswegen es dann etwas länger dauern kann.

Mfg Frank
 
Dann bleibt aber dennoch noch die Frage wie dann die korrekte Prüfsumme berechnet werden konnte.........
 
Der Sinn des Caching ist mir schon klar. Allerdings wusste ich nicht, dass noch ein Verweis auf das Original verwaltet wird - was im Falle von md5sum eigentlich nicht erwuenschenswert ist, wenn man z.B. auf Fehler beim Kopieren pruefen moechte. Wobei ich einsehe, dass das System sich nicht darum kuemmert, welches Programm auf eine Datei zugreift und dieses Verhalten (des Caches) fuer ein fluessiges Arbeiten notwendig ist. Werde in Zukunft vorher ein 'sync' aufrufen. Man lernt nie aus :-)
 
@supersucker

die konnte berechnet werden weil es ein verweiss dann ist auf die originaldatei
 
Hmm, ist das ein Bug oder ein Feature?

Wenn man das nicht weiss, kann man ja ganz schön auf die Schnauze fallen.....
 
das ist kein bug. aber ich bin mir nicht ganz sicher ob man das beim mounten irgendwie mitgeben kann das er das nicht macht.
 
Man kann dem mount Befehl die Option 'sync' mitgeben, so dass tatsaechlich geschrieben wird, wenn man kopiert o.ae. Nur wie gesagt, dieses Caching ist ein Feature, um das man echt froh sein sollte.
 
Vielleicht vor dem md5sum-Check den USB-Stick ab- und anhängen. Ein Befehl zum Cache flushen ist mir nicht bekannt.

Gruss, Xanti
 
Vielleicht vor dem md5sum-Check den USB-Stick ab- und anhängen. Ein Befehl zum Cache flushen ist mir nicht bekannt.

Gruss, Xanti

Nachwort: Vielleicht ist dies der Grund, weswegen k3b eine CD/DVD immer erst auswirft, bevor geprueft wird.
 
hotplug mit sync

Unter SuSE o.ae. wird, soweit ich weiss, auch sofort geschrieben, um das Verhalten von Windows nachzuahmen, damit man den Stick einfach rausziehen kann. Normalerweise werden Daten jedoch erst geschrieben, wenn das System denkt, dass es Zeit dazu hat oder das es notwendig ist. Was spaetestens bei einem 'sync' oder beim Aushaengen der Partition der Fall ist.
Na ja, "um das Verhalten von Windows nachzuahmen" .... ich finde es, wie der Thread hier zeigt, für bestimmte Medien durchaus sinnvoll. Eben dann, wenn man sich z.B. gar nicht drauf verlassen kann. Man schraubt ja nicht den Rechner in der Zwischenzeit auf und reißt eine HD heraus, aber bei Hotplug-Devices....

Ich hab inzwischen bei SuSE gesehen, daß in /etc/sysconfig/hotplug folgendes steht:
/etc/sysconfig/hotplug schrieb:
Only valid for HOTPLUG_MOUNT_TYPE=fstab. When set to 'no' asynchronous write access will be used. This significantly increases write performance but may lead to data loss or filesystem corruption when the device is unplugged while it's still mounted. You have to make sure to always umount devices when using this option!
Also regelt SuSE das über hotplug / coldplug für Devices, die im Betrieb rein und raus kommen. Nicht völlig unvernünftig finde ich...

Im übrigen, wenn man immer manuell mounten / unmounten / syncen muß, ist der Zeitgewinn dann noch so dramatisch - abgesehen von der Gefahr, es zu vergessen? Man (jedenfalls ich :O) schreibt ja meist seltener auf solche Median, als daß man von ihnen liest - hängt natürlich vom jeweiligen Fall und Gebrauchsmuster ab. Bei externen Festplatten wäre das evtl. so eine Sache (habe ich aber nicht, also habe ich sowas noch nie bemerkt...)
 

Ähnliche Themen

Probleme nach RAM-Aufrüstung

Zurück
Oben