The Multiversion File System


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.

Supported File Types

The MVFS supports the following file types:

You cannot create other file types, such as UNIX special files, within a dynamic view.

The MVFS and Audited Builds

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:

Known Limitations of the MVFS on Windows

On Windows, the MVFS has the following known limitations:

The MVFS and Case-Sensitivity

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.

Running Executables in the MVFS

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

MVFS Performance

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.