"Cache Exclusive Open" configuration causes inappropriate ERROR_ACCESS_DENIED.

(Last modified: 22Apr2005)

This document (10095974) is provided subject to the disclaimer at the end of this document.

fact

Novell Client 4.90 SP2 for Windows NT/2000/XP

Novell Client v4.91 for Windows 2000/XP

symptom

"Cache Exclusive Open" configuration causes inappropriate ERROR_ACCESS_DENIED.

"Cache Exclusive Open" configuration allowing invalid read attempts.

When "Cache Exclusive Open" configuration is set application will potentially fail, sometimes citing "error 5" (ERROR_ACCESS_DENIED).

cause

Change introduced in 4.90 SP2 NWFS.SYS and post-4.90 SP2 NWFS.SYS inadvertently attempted to allow Windows to cache a file for which only write access was available.  ERROR_ACCESS_DENIED is encountered by the Windows file cache system when attempting to read-ahead while caching the file.

note

Support for a "Cache Exclusive Open" flag was introduced post-4.83 SP2 (483PSP2B.EXE / NWFS.SYS 4.83 06JUN2003 and later) to optionally attempt caching files the workstation was opening exclusively (non-shared) even though the "File Caching" option was disabled at the Novell Client and/or NetWare server.  This configuration is not currently available in the Novell Client Properties, but was created automatically by the installation .INFs for the post-4.83 SP2 updates (483PSP2B.EXE through 483PSP2E.EXE).  Any workstation to which one of these post-4.83 SP2 updates was applied using the included .INF file will have the following configuration present:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetwareWorkstation\Parameters]
"Cache Exclusive Open"=dword:00000001

With the released Novell Client 4.90 SP2 and the post-4.90 SP2 updates to NWFS.SYS, an issue was discovered in which Windows would be allowed to attempt caching a file for which the NetWare file handle had only been opened with "write" permission.  Because the cache manager reads ahead to populate the cache, read permission to the file is required.  (Specifically as a result of the "Cache Exclusive Open" configuration, in a situation where File Caching was off and/or the file would not have otherwise been cached.)

This issue was demonstrated using the 4.90 SP2 client with "File Caching" turned off, and an application which attempted to open a file as CREATE_ALWAYS with exclusive (non-shared) write-only access.  Randomly, attempts to write to the file in this configuration would return error 5, ERROR_ACCESS_DENIED.  In other applications this may exhibit as the application reporting ERROR_ACCESS_DENIED, or may result in the application not behaving as expected if the application automatically reverts to a different action when ERROR_ACCESS_DENIED is encountered.

With "File Caching" enabled, or with "Cache Exclusive Open" not configured, or using a file open mode other than CREATE_ALWAYS, or with 4.90 SP1a or earlier, the issue did not duplicate.

fix

Novell Client version 4.9 SP2: Fixed in updated NWFS.SYS dated 16Mar2005 or later.
Novell Client version 4.91: Fixed in updated NWFS.SYS dated 22Apr2005 or later.

document

Document Title: "Cache Exclusive Open" configuration causes inappropriate ERROR_ACCESS_DENIED.
Document ID: 10095974
Solution ID: NOVL100321
Creation Date: 22Dec2004
Modified Date: 22Apr2005
Novell Product Class:Netware Client

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.