Note: The MVFS is not supported by ClearCase LT. Snapshot and Web views do not use the MVFS.
The multiversion file system (MVFS) is a feature of ClearCase that supports dynamic views. Dynamic views use the MVFS to present a selected combination of local and remote files as if they were stored in the native file system. The selected files are versions of VOB files and view-private files. To use the MVFS, you must activate a view and mount one or more VOBs. (VOBs are mounted as a file systems of type MVFS.)
The MVFS is installed as an extension to a host’s native operating system. On UNIX computers, code that implements the MVFS is linked with a host’s operating system. It can be linked statically, which requires generating a new version of the operating system that includes the MVFS, or dynamically, which means the MVFS code is loaded at system startup time. How the MVFS is linked depends on the type and version of the operating system.
On Windows computers, the MVFS is a file system driver. It is loaded by the Service Control Manager at system start up. When a user logs on to a Windows host where the MVFS is installed, the user’s credentials are cached for use in determining access rights to objects under ClearCase control. The Credentials Manager service periodically checks the credential cache and deletes the credentials of users who have logged off since the last credentials check.
The MVFS supports the following file types:
You cannot create other file types, such as UNIX special files, within a dynamic view.
When you build software in a dynamic view and a build tool (for example, a compiler) references a pathname, the MVFS passes the pathname to the appropriate view_server process. During build script execution, clearmake works with the MVFS to audit low-level system calls that reference ClearCase data, recording every instance when a file or directory is created, deleted, or opened for read access. Calls that involve the following objects are monitored:
On Windows, the MVFS has the following known limitations:
The reason for this behavior is that the application may be about to perform operations that require space in the view storage directory or the VOB storage directory. The MVFS does not know whether the application needs to know how much disk space is available for view storage or for VOB storage. Therefore, the MVFS always returns a constant equal to 512 MB, so that the application always tries the operation. Thus, MVFS never causes an operation that may succeed to fail.
Any alternate name may already exist in another version of the given directory, which could cause ClearCase to return the wrong file data, so the MVFS does not return an alternate name to applications that request one.
You can run applications that require short names in the MVFS in one of the following ways:
On Windows, the MVFS can be configured to perform case-sensitive or case-insensitive name lookups. In the default configuration, the MVFS performs case-insensitive name lookups, which is the behavior that Windows applications expect. When using dynamic views in mixed networks of Windows and UNIX computers, you may need to change case-sensitivity setting of the MVFS on Windows. See Case-Sensitivity for details.
If you add an executable to source control and want to run it in a dynamic view, you must give it explicit execute permission. Use the cleartool protect command, as shown in this example:
cleartool protect –chmod +x executable_filename
The MVFS has several caches that it uses to provide improved performance. For many users, the default cache sizes provide the best balance between MVFS performance and memory requirements. You can change most of theses caches to tune the MVFS to better serve special needs. For more information, see Examining and Adjusting MVFS Cache Size.