HP CIFS File Locking Interoperation

26
6.6 WINDOWS AND PC-NFS CLIENT ACCESS Local
and NFS Mounted File Systems
The diagram above shows a Windows client and a PC-NFS client requesting concurrent file
access on the CIFS/9000 server to a local and/or NFS mounted file system. The key issue for
this configuration is that with PC-NFS, the locking interoperability is the same for a local or
NFS mounted file system, and even for PC-NFS direct access to the NFS file server as
illustrated above.
PC-NFS implements Mandatory Share Mode (Open Mode) locking through the NFS Network
Lock Manager. This allows PC-NFS to place and honor Mandatory Share Mode locks with
other PC-NFS clients. CIFS/9000 has been enhanced to translate Windows
Mandatory Share Mode locks into byte range locks, thus providing locking
interoperation with the UNIX/NFS advisory locking protocol and reducing the risk
of data corruption. This enhancement works for PC-NFS because of the interoperation in
the NLM. Windows applications expect mandatory share mode locking to be enabled, so
share mode locking should remain enabled on the CIFS/9000 server.
Byte Range locking is implemented for concurrent Windows and PC-NFS access using the
NFS NLM. Since NFS NLM byte range locking is advisory, Windows applications that are
accessing the file must be properly coded to participate in the locking protocol. PC-NFS will
propagate the Windows byte range lock over the PC-NFS mount. The cooperating CIFS/9000
smbd process actually calls the UNIX fcntl function to implement Windows client byte range
locking. Thus, a Windows PC-NFS client accessing a file on a CIFS/9000 share using
CIFS/9000
File
NFS
Windows
Windows
UNIX
PC-NFS
CIFS/9000
Clients