The multiversion file system

The multiversion file system (MVFS) is a feature of HCL VersionVault that supports dynamic views. Snapshot and Web views do not use the MVFS.

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 file systems of type MVFS.)

The MVFS is installed as an extension to a host's native operating system. On computers running Linux or the UNIX system, code that implements the MVFS is linked with a host's operating system. On Windows® computers, the MVFS is a file-system driver. It is loaded by the Service Control Manager at system start up.

Supported file types

The MVFS supports the following file types:
  • Files
  • Directories
  • Symbolic links (on Linux or the UNIX system only)

You cannot create other file types, such as special files supported on Linux or the UNIX system, 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 HCL VersionVault 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:
  • Versions of elements used as build input
  • View-private files (for example, checked-out element versions) used as build input
  • Files created within VOB directories during the build

Known limitations of the MVFS on Windows®

On Windows®, the MVFS has the following known limitations:
  • File attributes such as System and Hidden are not supported.
  • OS/2® Extended Attributes (EAs) are not supported.
  • MS-DOS sharing modes are not supported.
  • When an application queries an MVFS volume for total and available disk space, the MVFS returns the following default values.
    • Total disk space: 160000 KB
    • Available disk space: 100000 KB
    You can use the MVFS page of the VersionVault Control Panel to change these values.
  • On Windows®, alternate, or short (8.3-compliant), names on are not supported in a VOB namespace.

    Any alternate name might already exist in another version of the given directory, which could cause HCL VersionVault 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:

    • By using pathnames that are entirely 8.3-compliant, including view and VOB tags and directory names
    • By using a VOB symbolic links to create 8.3-compliant names as needed

The MVFS and case-sensitivity

On Windows®, the MVFS can be configured to perform name lookups that are or are not case-sensitive. In the default configuration, the MVFS performs name lookups that are not case-sensitive, which is the behavior that Windows® applications expect. When using dynamic views in mixed networks of computers running different supported operating systems, you might 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.