17.3 The Multiversion File System (MVFS)

The multiversion file system (MVFS) is a feature of Rational 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 when accessed by your application. The selected files are versions of VOB files and view-private files. Before accessing ClearCase data using the MVFS, you must activate a view and mount one or more VOBs. The VOB is mounted as a file system of type MVFS.

Snapshot views do not use the 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 time.

The MVFS is not supported on Windows 98 and Windows Me.

Supported File Types

The MVFS supports the following file types:

You cannot create other file types within a VOB.

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 on 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 involving these 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 do 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 ClearCase 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 will provide the best balance between MVFS performance and memory requirements. You may change most of theses caches to help tune the MVFS to better serve special needs. See Examining and Adjusting MVFS Cache Size for more details.