File Manager I/O Optimizations Slow other File Transfers

Last reviewed: January 23, 1996
Article ID: Q123819
The information in this article applies to:
  • Microsoft Windows NT operating system version 3.1
  • Microsoft Windows NT Advanced Server version 3.1
  • Microsoft Windows NT operating system version 3.5 and 3.51
  • Microsoft Windows NT Server version 3.5 and 3.51

SYMPTOMS

The file I/O optimizations in Windows NT File Manager can cause other processes' calls to Raw Write and Raw Read to fail.

RESOLUTION

To correct This problem:

  • Always use File Manager to copy or write files. File Manager will cancel the NTNotifyDirectoryChange SMB before submitting the RAW read/write operation.
  • Modify the Windows NT Registry as follows:

    WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

    1. Run Registry Editor (REGEDT32.EXE).

    2. From the \HKEY_CURRENT_USER subtree, go to the following key:

             \Software\Microsoft\FileManager\Settings
    
       3. From the Edit menu, choose Add Value.
    
       4. Enter the following:
    
             Value Name: ChangeNotifyTime
             Data Type:  REG_SZ
             String:     0 (disable; 1 for enable)
    
    

MORE INFORMATION

Normal CORE mode read and write operations occur in approximately 8K units. For each 8K the redirector must submit a new SMB (server message block). As an optimization, Microsoft networks can use RAW mode to send data in 64K units, requiring one SMB for every 64K. The transport subdivides this buffer as needed. One stipulation of RAW mode is that the Virtual Circuit must be tied up while the operation is in progress because the data frames contain no SMB information to correlate it. No other SMB can be allowed during this time.

Windows NT introduced a new SMB called NTNotifyDirectoryChange. This causes the server to notify the client if directory information changes. For example, if another client adds a file to a directory, Windows NT File Manager uses NTNotifyDirectoryChange.

This SMB is classified as a long term request. The SMB is received by the server but is not returned until a change occurs (or until the SMB is canceled by the client). Because the client does not know when the server will complete the SMB, it cannot tie up the virtual circuit. Therefore, the client does not use RAW mode when an NTNotifyDirectoryChange is pending.

When necessary, File Manager cancels the request to take advantage of RAW mode. However, other processes such as NTVDM or SETUP are not aware that RAW mode has been disabled.


Additional reference words: prodnt 3.10 3.50 3.51 smb pending
KBCategory: kbnetwork
KBSubcategory: ntutil


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: January 23, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.