The NetWare UNIX Client File System (NUCFS) is a UnixWare network file system that provides NetWare file services to a UnixWare platform.
When you request a file operation on a file on an NUC file system, the request is distributed to the NetWare system on which the volume resides. NetWare then attempts the operation on the file, and reports the results to the NUC for display on UnixWare.
It is important to understand the concept of name space support on a NetWare server. Name spaces let the NetWare file system support files and file characteristics of diverse desktop operating systems such as DOS, Macintosh, NFS®, OS/2®, and so on.
For each name space loaded on a NetWare server, NetWare creates a separate set of directory entries and appends them to the existing directory entry blocks. These directory entries point to the same physical file; however, each entry contains specific information unique to that name space.
The NUC uses the DOS name space on any volumes that do not have the NFS name space loaded (this is the DOS access mode). If the NFS name space is loaded on a volume, then the volume is accessed by the NUC in either the NetWare or UNIX modes, depending on how the volume was initialized when the NetWare server was started. It is the NUC NetWare Loadable Module (NUC.NLM) that provides the NetWare and UNIX modes (see ``The NUC NetWare Loadable Module (NUC.NLM)'').
The NUCFS is a stateful file system. This means that the NetWare server knows about its clients and NUCFS keeps information about the state of operation between NetWare and its client. NetWare can send messages to a client; for example, when the NetWare server goes down gracefully, NUC receives a message from the NetWare server. If the NetWare server crashes, no message is received from the server. The requests are timed out and the server is unreachable.
Even though NUCFS is a stateful file system, when the NetWare server goes down or when the connection from NUC to the NetWare server is lost, the links (mounts) do not have to be re-established when the NetWare server or the connection comes back up again.
The NUCFS file system acknowledges that the connection between NUC and the NetWare server is lost and the file system will deny access to NetWare resources as long as the server is down.
When the NetWare server comes back up again, upon access the NUCFS causes the auto-authentication panel to appear and allows you to re-authenticate to the NetWare server. After successful authentication, you can continue without remounting the NUCFS.
If single login is enabled, you will not see an authentication panel and authentication is established automatically; consequently, you would never know that the NetWare server went down and came back up again.
For most file operations, NUCFS depends upon the server to update the timestamps (that is, the create, access, and modify times) on files and directories based upon file access activity.
The server updates the modify time whenever a file or directory is modified. However, the access time is only updated when the modify time is updated (at which point they become equal). Furthermore, the change time is never modified (that is, it remains as the create time).
When the utime(2) system call is used and a non-NULL structure is used, then the times supplied by the user are passed to the server. If a NULL structure is used, then UnixWare reads the NetWare server's clock and passes this time back to the server. In this latter case, UnixWare must make a timezone adjustment (since the server returns local time, but the attributes are stored in UCT time). The adjustment is calculated as the difference between the server's clock (local time) and the client clock (UCT time), rounded to the nearest half hour.
In order for the time zone adjustment to be accurate, the UnixWare client and the NetWare server must have their clocks synchronized to within 15 minutes.