2009-07-30 2 views
3

Wir entwickeln ein Dateisystem für Windows mit IFS Kit. Wir begannen mit der Untersuchung eines Leistungsproblems, das dazu führte, dass unsere Dateisystem-E/A bei gemeinsamer Nutzung über das Netzwerk wesentlich langsamer waren. Nach dem Betrachten mit FileMon und TCPView von Sysinternals fanden wir heraus, dass, wenn ein NTFS/FAT freigegeben wurde, der SMB-Client und der Server I/O in 60K-Blöcken transferierten, während beim Teilen unseres Dateisystems 4K-Blöcke verwendet wurden.Wie entscheidet srv.sys über den Raw-vs-Core-Modus abhängig vom zugrunde liegenden Dateisystem?

Diese beiden Blockgrößen entsprechen den SMB- "Core" - und "Raw" -Modi - dies wird von Microsoft mit here erklärt.

Das Problem ist, dass wir nicht herausfinden können, was in unserem Dateisystem den Windows-Share-Server (srv.sys) Core-Modus (4K) für unser Dateisystem und Raw-Modus (60K) für NTFS und FAT wählen.

Auch Hinweise, was zu prüfen ist, sind willkommen.

KIV

+0

Das fühlt sich an wie eine ServerFault-Frage – Lazarus

+3

Wie ist es Serverfehler Frage? Sie haben es wahrscheinlich missverstanden, die Frage ist, wie man ein Dateisystem "richtig" implementiert, damit Windows damit gut spielt. – KIV

Antwort

1

Das Problem wurde behoben, indem das Flag FO_CACHE_SUPPORTED im Dateisystemobjekt gesetzt wurde.

0

Von der Support-Seite:

Wenn Sie Windows NT Explorer zu Kopie einer Datei aus dem Client zu einem Remote-Computer verwenden, Daten sind in der Regel in Core-Modus übertragen in 4 KB Blöcke.

Haben Sie dies über eine Befehlszeile versucht?

+0

Ja, kein Unterschied – KIV

Verwandte Themen