Verify after Move

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
DoubleT
Member
Member
Posts: 163
Joined: 2003-11-22, 02:21 UTC
Location: Germany

Verify after Move

Post by *DoubleT »

Ein Frohes neues Jahr allerseits...

Ich hab da ein etwas unangenehmes Problem, was bei mir jetzt schon öfter mit Datenverlust bestraft wurde!

Mein Problem ist das Verschieben (i.d.R mit F2) von Dateien auf ein mit Samba 'gemountetes' Laufwerk. Mitunter kommt es vor, dass mein Server abstürzt (kann ja mal passieren ;) ). Wenn das passiert und ich gerade Dateien auf den Server verschiebe, kommt es vor, dass der TC eine Datei bereits löscht, die aber noch nicht vollständig auf den Server verschoben wurde. Windows meldet dann soetwas wie 'Es konnten nicht alle Daten auf Laufwerk \\server\xyz geschrieben werden'. Da der TC die Kontrolle aber schon an Windows abgegeben hat, wird die entsprechende Quell-Datei dann gelöscht.

Mein Vorschlag ist jetzt, dass man optional ein Verify einschalten kann, das vor dem Löschen der Datei(en) eine Prüfung durchführt, ob die Dateien auch wirklich komplett geschrieben wurden. Für sensible Daten würde für mich die Performance dabei auch keine Rolle spielen.

Man könnte die Prüfung evtl. auch zweistufig gestallten...
1. Prüfung auf Grösse, Datum, Attribute,...
2. Prüfung auf Inhalt

Da die Funktionalität an sich ja schon im TC vorhanden ist, sollte sich eine Umsetzung auch in Grenzen halten. Es wäre dann wohl auch denkbar, die Option beim Kopieren von Dateien zu unterstützen.

Ich benutze noch v6.55, weiss deshalb nicht ob es sowas schon in v7 gibt.
#5576 Personal licence
#155652 Commercial licence

Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Total Commander bekommt in diesem Fall ein OK von Windows zurück, dass die Dateien korrekt kopiert wurden, obwohl sie erst im Cache stehen. Selbst ein Verify würde da nichts bringen, weil Windows das aus dem Cache lesen würde. Irgendwelche Ideen?
Author of Total Commander
https://www.ghisler.com
DoubleT
Member
Member
Posts: 163
Joined: 2003-11-22, 02:21 UTC
Location: Germany

Post by *DoubleT »

Öhm, das Verify kann aber nicht mehr auf den Server zugreifen und müsste somit fehlschlagen.

Bleiben für mich noch zwei Fragen offen, die zu klären wären...
1. Wie gross kann/ist dieser Cache von Windows? Je nach Grösse wäre das für kleine Dateien dann natürlich nicht so geeignet. :(
2. Würde beim Öffnen eines neuen Datei-Handels für das Verify, Windows wirklich auf den Cache zugreifen, ohne diesen vorher wegzuschreiben? Sowas kann Win ;)
Könnte man das vllt. mit einem vorgelagertem Flush verhindern?

Btw, das Verify wäre für mich auch beim lokalen Verschieben/Kopieren eine sinnvolle Erweiterung. Plattenfehler kommen ja bisweilen auch mal vor.
#5576 Personal licence
#155652 Commercial licence

Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50817
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Leider wird der Cache von Windows dynamisch vergrössert, bis zur maximalen Grösse des Hauptspeichers. Er bedient sich der normalen Auslagerungsfunktionen, und kann nicht eingeschränkt werden. :(
Author of Total Commander
https://www.ghisler.com
DoubleT
Member
Member
Posts: 163
Joined: 2003-11-22, 02:21 UTC
Location: Germany

Post by *DoubleT »

Hm, mal unabhängig vom Windows-Cache Verhalten würde ich eine Option zum Verifizieren beim Kopieren/Verschieben für durchaus sinnvoll halten. Um derartiges jetzt zu erreichen, muss ich entweder mauell ein Dateivergleich bzw. für mehrere Dateien sogar eine Verzeichnis-Synchronisation ausführen. Da ist dann nach deiner Aussage auch nicht gesichert, das die Daten auf der Platte liegen/übertragen wurden. Nur das es auf Dauer recht lästig ist, das manuell machen zu müssen.

Nochmal zum Cache...
Ich kann mir nicht so recht vorstellen, dass man nicht abfragen kann, ob Windows die Daten aus dem Cache schon auf die Platte geschrieben bzw. über's Netzwerk übertragen hat. Da muss es doch eine sichere Methode geben.
Zudem, solange die Daten nicht geschrieben wurden, wäre die Dateigrösse zwischen Quelle und Ziel nicht identisch. Jedenfalls über's Netz ist das so, beim lokalen verschieben/kopieren sollte es aber nicht ander sein. Das sollte als zusätzlicher Anhaltspunkt doch ausreichen, oder nicht?
#5576 Personal licence
#155652 Commercial licence

Planung bedeutet, den Zufall durch den Irrtum zu ersetzten.
FFrank
Junior Member
Junior Member
Posts: 3
Joined: 2007-10-30, 11:32 UTC

Post by *FFrank »

Hallo zusammen,
ich will das Thema mit dem verify noch mal aufgreifen.
Ich wünsche mir auch ein Programm, daß es ermöglicht automatisch zu kopieren/verschieben mit anschließendem Verify. Ich kopiere oft große Datenbestände (100 GB und mehr) auf andere Platten, da vertraue ich Windows ohne verify nicht! Die Erfahrung zeigt, daß das auch gut ist ;-)
Backupprogramme wie Retrospect machen daß. Warum sollte es TotalCommander nicht schaffen? Bisher mache ich es mit Retrospect. Nur ist es dort recht unhandlich. Würde das gerne mit Drag&Drop machen können.
Gibt es da für den TotalCommander keine Lösung?
Würde mich freuen.

Fabian
wolf
Junior Member
Junior Member
Posts: 7
Joined: 2004-03-24, 20:58 UTC

Post by *wolf »

ghisler(Author) wrote:Total Commander bekommt in diesem Fall ein OK von Windows zurück, dass die Dateien korrekt kopiert wurden, obwohl sie erst im Cache stehen. Selbst ein Verify würde da nichts bringen, weil Windows das aus dem Cache lesen würde. Irgendwelche Ideen?
Wirf einmal einen Blick auf FILE_FLAG_NO_BUFFERING bzw. FILE_FLAG_SEQUENTIAL_ SCAN ?
The FILE_FLAG_NO_BUFFERING ... eliminates all read-ahead file buffering and disk caching as well, so that all reads are guaranteed to come from the file and not from any system buffer or disk cache.
Vielleicht hilft das.

http://msdn2.microsoft.com/en-us/library/aa365467.aspx
http://support.microsoft.com/?scid=kb%3Ben-us%3B99794&x=10&y=10
http://www.heise.de/ct/97/01/302/
Post Reply