
File Service Protocols
System Administration Manual
233
Symbolic Links
Symbolic links (symlinks) are commonly used in UNIX to aggregate disparate parts of the file
system or as a convenience, similar to a shortcut in the Windows environment.
Titan fully supports symlinks when the file system is accessed through NFS. Files marked as
symbolic links are assumed, by UNIX clients, to contain a text pathname that can be read and
interpreted by the client as an indirect reference to another file or directory. Anyone can follow a
symlink, but permission is still needed to access the file (or directory) it points to.
As CIFS and FTP clients are not able to follow these symlinks, Titan supports a server-side
symlink following capability. When accessing server-side symlinks, because the storage system
is following the symlink on the client's behalf, and presenting the linked-to file rather than the
symlink, some symlinks, which are perfectly valid for NFS, cannot be followed. In this case, in
line with the behavior of Samba, the server hides the existence of the symlink entirely from the
CIFS / FTP client. By default, the following symlinks are not followed by CIFS (and FTP) clients:
•
Symlink pointing out of the scope of the share it is in, such as when the link points to a
different file system.
•
Absolute symlinks. Meaning symlinks starting with ‘/’.
To enable support for absolute symlinks from CIFS clients, contact BlueArc Support.
File Locks in Mixed Mode
When a CIFS client reads or writes to a file, it respects the locks that both CIFS and NFS clients
have taken out. In contrast, an NFS client respects the locks taken out by CIFS clients only.
NFS clients must therefore check for existing NFS locks with the Network Lock Manager (NLM)
protocol. Titan supports both monitored and non-monitored NFS file locks.
Opportunistic Locks (Oplocks)
An oplock is a performance-enhancing technique used in Microsoft networking (CIFS)
environments. It enables applications to speed up file access and minimize network traffic by
caching part or all of a file locally. As the data is kept on the client, read and write operations
can be performed locally, without involving the server.