The Windows Redirector May Cancel a Session During a Long Locking Operation (320310)
The information in this article applies to:
- Microsoft Windows 2000 Server SP1
- Microsoft Windows 2000 Server SP2
- Microsoft Windows 2000 Advanced Server SP1
- Microsoft Windows 2000 Advanced Server SP2
- Microsoft Windows 2000 Professional SP1
- Microsoft Windows 2000 Professional SP2
- Microsoft Windows XP Professional
This article was previously published under Q320310 SYMPTOMS
The Windows redirector may incorrectly cancel a session during long-lasting locking operations. This problem may occur in the following scenario:
- Client A locks a file on the file server.
- Client B also tries to lock the same file by calling the LockFileEx(hFile,LOCKFILE_EXCLUSIVE_LOCK,...) function.
- The file server never returns the SMB call to client B because client A still has the file locked.
- The client B redirector times out and disconnects the session. (The time-out period is controlled by the Sesstimeout registry setting.)
CAUSE
If the LOCKFILE_FAIL_IMMEDIATELY flag in the LockFileEx function is not set, the server returns only when the file has been successfully locked. This is by design. If this takes longer than the client-side session time-out, the client's redirector cancels the connection.
RESOLUTIONWindows 2000To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
The English version of this fix should have the following file attributes or later:
Date Time Version Size File name
---------------------------------------------------------
11-Mar-2002 13:14:40 5.0.2195.5059 370,480 Mrxsmb.sys
07-Mar-2002 13:16:30 5.0.2195.5042 131,920 Rdbss.sys
The fix is to treat the SMB Lock & X command as a long-standing SMB. This makes the command exempt from the Sesstimeout timer. The redirector will wait as long as it must.
Windows XPTo resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
322389 How to Obtain the Latest Windows XP Service Pack
WORKAROUND
To work around this problem, use LockFileEx(,,LOCKFILE_FAIL_IMMEDIATELY) instead of LOCKFILE_EXCLUSIVE_LOCK. The LOCKFILE_FAIL_IMMEDIATELY flag returns with an appropriate error if the file is already in use. The program can programmatically try to lock the file again later.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft Windows 2000 Service Pack 3 (SP3) and Microsoft Windows XP Service Pack 1 (SP1).
Modification Type: | Minor | Last Reviewed: | 9/27/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbbug kbfix kbOSWin2000fix kbWin2000PreSP3Fix kbWin2000sp3fix kbWinXPsp1fix KB320310 |
---|
|